INHOUDSOPGAWE:
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Hierdie projek verduidelik hoe u 'n versiering kan maak wat 'n klanklêer speel wanneer iemand verbyloop. Dit kan maklik gedoen word met 'n rekenaar wat die Motion -program en 'n kamera van een of ander aard kan gebruik. In hierdie geval het ek 'n 20 hoë Kersvader blaasvorm gebruik. Ek het my Raspeberry PI opgestel met die kameramodule in my motorhuisvenster en dit na die Kersvader blaasvorm gewys. Ek het 'n aangedrewe buitelugluidspreker in die blaasvorm weggesteek en 'n 25ft aux koord gehardloop Ek het die Motion -program op die Pi opgestel om 'n Ho Ho Ho -klanklêer te speel wanneer dit beweging met die kamera opspoor.
Om die spesifieke materiaal wat ek hier gebruik het, te koop, kos waarskynlik ongeveer $ 100 by aflewering. Ek sou dit nie spandeer as ek nie al hierdie materiaal reeds ongebruik het nie. Dit kan met enige rekenaar, kameras en luidsprekers werk, sodat dit baie goedkoper kan wees as u hierdie dinge moet koop.
Voorrade
-
'N Rekenaar met die Motion -program geïnstalleer
Ek het 'n Framboos PI (RPI) 3 Model B gebruik
- Rekenaar aangehegte kamera of netwerk kamera
- Enige kamera wat die Motion -program kan gebruik
- USB kamera
- Netwerk kamera
- Ek het hierdie kameramodule gebruik wat direk aan die RPI geheg kan word
-
'N Luidspreker wat buite gegradeer is
- Koppel via aux -poort
- USB
- Ek het hierdie Sony SRS-XB01 gebruik
-
'N Versiering soos blaasvorm, alles regtig
Ek gebruik 'n Kersvader -blaasvorm wat baie soortgelyk is aan hierdie een
Stap 1: Stel u RPI op
Hierdie stap is meestal hier vir volledige beginners. Hierdie video verduidelik hoe om 'n Raspberry PI (RPI) beter op te stel as wat ek kon. Ek sou ook aanbeveel, net soos in die video, om 'n draadlose USB, sleutelbord + muis en eksterne monitor aan te sluit vir die opstelling. Nadat ek klaar was, hardloop ek myne in my motorhuis sonder die sleutelbord + muis en eksterne monitor, maar ek sit in die WIFi -dongle sodat ek daarin kan inskakel en herlaai en/of veranderings kan aanbring.
Stap 2: Koppel kamera aan RPI
Volg die instruksies om u kamera vir u RPI op te stel. Ek het die kameramodule van Adafruit Industries gebruik.
- Sluit die lintkabel van die kameramodule aan en maak dit vas in die kamerapoort tussen die Ethernet -poort en die HDMI -poort, met die snypunte na die HDMI -poort en die blou band na die Ethernet -poort.
-
As u 'n monitor aangeheg het en die UI (Xserver) gebruik, voer die Raspberry Pi -konfigurasiehulpmiddel uit
As u SSH op 'n ander rekenaar in die rpi op afstand plaas, voer rasp -config in u terminale uit - wat 'n terminale UI sal begin
- Aktiveer die kamera in Raspberry Config, onder die blad Interfaces.
- Stoor en herlaai die RPI.
- By herlaai, voer die onderstaande opdrag in 'n terminale uit, beide opgespoor en geaktiveer moet as = 1 terugkeer
vgencmode get_camera
U PI -kamera -module behoort nou te werk
Aanlyn instruksies
Stap 3: Stel klank op en toets dit
Aanvanklik vir hierdie projek het ek eenvoudig 'n aux -koord van die PI na 'n klein luidspreker aangedryf. Dit het toevallig baie staties gehad en die batterye was vinnig leeg. In plaas daarvan het ek 'n USB -toestel aangesluit wat die geluid versterk, en ek het die aux -koord van die aux -uitvoerpoort daarop na 'n weerbestande buitelugluidspreker gelei. Dit het die statiese verwyder en was harder en geen batterye om oor bekommerd te wees nie. Die USB -toestel is outomaties herken deur my RPI, sonder dat die bestuurder geïnstalleer is.
PI OS bevat 'n program genaamd aplay, maar ek verkies die speelprogram van die Sox -sagteware -verspreiding, dus hierdie instruksies installeer Sox en gebruik die speelopdrag.
Installeer Sox
Voer die volgende in 'n terminale op die RPI deur ja te antwoord op enige instruksies
sudo apt-get install sox
Toets klank
Laai 'n versoenbare klanklêer van klein grootte af en stoor dit op u rekenaar. Ek het santaho3.mp3 gebruik wat in my pi -tuisgids gestoor is. Om die klank te toets, koppel u luidspreker aan die RPI en voer hierdie opdrag uit:
speel santaho3.mp3
- As u die klanklêer in u luidspreker hoor speel, werk u klank
-
Miskien moet u die geluid intern verander van HDMI na Analoog.
Instruksies hier
-
As u 'n USB -klankapparaat gebruik, skep 'n lêer in u tuisgids met die naam.asoundrc
- Plaas die onderstaande inhoud daarin en herlaai, begin met die klanktoets
-
pcm.! standaard {
tik hw kaart 1} ctl.! verstek {tipe hw kaart 1}
Stap 4: Stel bewegingsopsporing op om klanklêer te speel
Met sagteware genaamd Motion kan een of meer kameras ingestel word om 'n opdrag uit te voer wanneer beweging in die kamera (s) se aansig (s) bespeur word. Dit is redelik maklik om op te stel en werk redelik goed. Dit kan ook lêers opneem tydens die opsporing van bewegings, die opstel van 'n webwerf vir elke kamera of 'n enkele webwerf vir alle kameras en streaming bedieners om regstreekse strome van die kameras te kyk. Hierdie projek benodig slegs die opsporings- en opdragverwekkingsvermoë, maar ek het 'n streaming bediener opgestel om ook na 'n lewendige stroom te kan kyk.
Installeer Motion
Voer die onderstaande opdrag in 'n terminale op die RPI uit en beantwoord ja op enige aanwysings, wag totdat dit klaar is
sudo apt-get installeer beweging
Neem nou die tyd om die nuut bygevoegde bewegingsgebruiker by die klankgroep te voeg, sodat hy toestemming het om klank te speel deur die volgende opdrag in te voer
usermod -a -G klankbeweging
Stel mosie vir opsporing op
Ons sal die bewegingskonfigurasie -lêer wysig om die klanklêer wat ons afgelaai het in die Setup Audio -stap te speel wanneer dit beweging op die kamera opspoor en as 'n diens beweging begin, sodat dit steeds sal gebeur wanneer die RPI ooit herlaai word.
Wysig die /etc/motion/motion.conf -lêer in 'n terminale as supergebruiker
sudo nano/etc/default/motion
Wysig die /etc/motion/motion.conf -lêer in 'n terminale as supergebruiker
sudo nano /etc/motion/motion.conf
Maak en stoor die volgende wysigings. Baie hiervan is standaard. Ek dink nie in my geval het die mmal_xxx -inskrywings 'n effek nie, maar ek laat dit vir ingeval iemand dit nodig het - dit doen ook geen skade nie. Hierdie opset herken beweging in die kamera met tussenposes van 40 sekondes, neem geen beelde of video op nie, en stel 'n webbediener en stroombediener op vir die kamera wat beskerm word met basiese verifikasie met 'n gebruikersnaam en wagwoord.
daemon aan
process_id_file /var/run/motion/motion.pid
setup_mode af logfile /var/log/motion/motion.log log_level 6 log_type alle video -apparaat/dev/video0 v4l2_palette 17 invoer -1 norm 0 frekwensie 0 power_line_frequency -1 rotate 0 flip_axis geen breedte 320 hoogte 240 framerate 2 minimum_raam_tyd 0 netcam_keepalive off netcam_keepalant af rtsp_uses_tcp op mmalcam_name vc.ril.camera outomatiese helderheid uit helderheid 0 kontras 0 versadiging 0 kleur 0 roundrobin_frames 1 roundrobin_skip 1 skakelfilter uit drempel 500 drempel_tune af noise_level 22 op_despeckle_filter EedDl smart_mask_speed 0 light_itch_pose_moment_post_moment_post_moment_post_moment_poging_maksimering_getrek_poging_verloop_moment_poging_verloop_moment_pomp output_pictures off output_debug_pictures off quality 75 picture_type jpeg ffmpeg_output_movies off ffmpeg_output_debug_movies off ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_duplicate_frames_time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time_ time apshot_interval 0 lokaliseer_bewegingsmodus af boks lokaliseer_bewegingstyl text_right%Y-%m-%d / n%T-%q teks_verander teks_event%Y%m%d%H%M%S teks_dubbel af target_dir/var/lib/motion snapshot_bestandsnaam%v- %Y%m%d%H%M%S-momentopname picture_filename%v-%Y%m%d%H%M%S-%q movie_filename%v-%Y%m%d%H%M%S timelapse_filename % Y% m% d-Lapse ipv6_enabled af stream_port 8481 stream_quality 80 stream_motion af stream_maxrate 1 stream_localhost af stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost af webcontrol_html_output op webcontrol_authentication: track_type 0 track_auto af track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 stil op on_event_start/usr/bin/play -q --multi -threaded/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null
Kopieer die klanklêer na die klanklêer na die bewegings tuisgids en verander die regte daarvoor sodat die beweging dit besit, maar almal kan dit lees
sudo cp /home/pi/santaho.mp3 /var/lib/motion/mtn_dtct_ntfy.mp3
sudo chown motion /var/lib/motion/mtn_dtct_ntfy.mp3
sudo chmod a+r /var/lib/motion/mtn_dtct_ntfy.mp3
Herbegin die RPI -toestel. Sodra dit begin is, hardloop
sudo systemctl status motion.service
Die uitset moet 'n reël bevat wat sê:
Aktief: aktief (hardloop) sedert
As u sien dat hierdie beweging aan die gang is. Indien nie, gaan na/var/log/motion vir meer inligting. Probeer hardloop:
sudo systemctl begin motion.service
Toets bewegingsopsporing en klank speel
Amper klaar. U moet net kyk of daar beweging ontdek word en die geluid speel wanneer dit is.
Doen die volgende in 'n terminale om bygevoegde teks na die loglêer te kyk
stert -f/var/log/beweging
Nou:
- Swaai stadig voor die kamera
- Die loglêer moet die uitgang gee van die beweging wat opgespoor is
- Hopelik speel die klanklêer deur die luidspreker
- Plaas die RIP in so 'n venster met die kameralens na waar die beweging waargeneem moet word
- Plaas die buitelugluidspreker in of naby die versiering
- As mense verbystap, word hulle begroet
Probleemoplossing
As dinge nie werk nie
-
Kontroleer of die kamera werk deur die volgende uit te voer:
- raspistill -o test.jpg
- ls -l test-j.webp" />
-
Kontroleer of die klank werk deur uit te voer
- speel/var/lib/motion/mtn_dtct_ntfy.mp3
-
as u nie die klanklêer hoor nie
- kyk of die luidspreker opgestel is (analoog of USB)
- kyk na die volume
- kyk of die toestemmings op die klanklêer 3 in die toestemmingsreeks het (d.w.s. rw*rw*rw*)
-
As alles anders misluk, is die beweging moontlik nie korrek opgestel nie
As dit die geval is, behoort sommige aanlyn soektogte te help, aangesien daar baie hulp is
Stap 5: Bykomende opmerkings
Speel ewekansige klanklêers
Verveeld raak met dieselfde klank wat oor en oor speel, en meng dit!
-
Stoor verskillende klanklêers met dieselfde naam, maar 'n opeenvolgende numeriese agtervoegsel:
soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,
-
Verander die /etc/motion/motion.conf on_event_start -inskrywing soos volg
on_event_start play -q --multi -threaded soundFile`shuf -i 1-5 -n 1`.mp3 2>/dev/null
- Verlaat en stoor die lêer
-
Herbegin die bewegingsdiens
sudo systemctl herlaai motion.service
- Die gedeelte 'shuf -i 1-5 -n 1' (dit is agterbosluise) voeg 'n ewekansige getal van 1 tot 5 by die lêernaam wat gespeel word
- As 'n beweging opgespoor word, sal een van die 5 klanklêers dus speel
Praat in plaas van speel
Nog 'n prettige wending is om 'n teks-na-spraak op te stel en die rekenaar 'n sin te gee aan mense wat verby kom. Ek hou daarvan om die MaryTTS as die enjin te gebruik. Stel die Mary TTS-bediener op en begin en verander die on_event_start-lyn wat hierbo genoem word, om iets in te dien om te sê aan die troue-bediener (dit wil sê marytts/bin/marytts-submit-teks "Hallo vriend")
Gebruik IP -netwerkkameras (draadloos of andersins)
Die bewegingsprogram kan maklik netwerk -IP -kameras ondersteun met behulp van die netcam_url en ander verskillende netcam_xxx -instellings. 'N Eenvoudige soektog aanlyn moet die nodige inligting verskaf.
Bluetooth
As u RPI ingeboude Bluetooth het of 'n USB-Bluetooth-toestel geïnstalleer het, kan u die luidspreker via Bluetooth aansluit en van die draad ontslae raak.
Beperk bewegingsopname tot kleiner gebied
Een van die probleme wat ek met hierdie opset gehad het, is om struike en bome te waai, sowel as motorligte, wat die beweging te maklik veroorsaak het. Die bewegingsprogram het instellings vir hoeveel rame moet verander voordat bewegings geaktiveer word, en dit kan help om geraas in ag te neem. Ek het nog nie probeer nie, maar ek dink ek sal instellings nodig hê wat ook toelaat dat 'n spesifieke deel van die kamera -aansig gedefinieer kan word vir die bewegingsopsporing. Dit moet 'n gebied net naby die versiering definieer om die speel van die klanklêer te aktiveer.