Kazalo:
- Zaloge
- 1. korak: Nastavite RPI
- Korak: Priključite kamero na RPI
- 3. korak: Nastavite in preizkusite zvok
- 4. korak: Nastavite zaznavanje gibanja za predvajanje zvočne datoteke
- 5. korak: Dodatni komentarji
Video: Govorilni Božiček: 5 korakov
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-31 10:24
Ta projekt pojasnjuje, kako narediti okras, ki predvaja zvočno datoteko, ko nekdo hodi mimo. To je mogoče enostavno doseči z računalnikom, ki lahko zažene program Motion, in nekakšno kamero. V tem primeru sem uporabil 20 visok Božičkov brizgalni brizgalnik. Raspeberry PI sem nastavil z modulom kamere v oknu garaže in ga usmeril proti Božičkovim brizgalkam. V notranjost brizgalnega stroja sem skril zunanji zvočnik z napajanjem in položil 25 -metrski pomožni kabel ocenjeno za zunanjo uporabo od PI do tega zvočnika. Program Motion sem nastavil na Pi, da predvaja zvočno datoteko Ho Ho Ho, ki zveni Božička, kadar zazna kamero s kamero. To je precej preprosto in je zabavno.
Nakup posebnih materialov, ki sem jih uporabil tukaj, bi verjetno stal približno 100 USD z ladijskim pošiljanjem. Tega ne bi porabil za to, če ne bi že imel vseh teh materialov naokoli neuporabljenih. To lahko deluje s katerim koli računalnikom, kamerami in zvočniki, zato je to mogoče doseči veliko ceneje, če morate kupiti te stvari.
Zaloge
-
Računalnik z nameščenim programom Motion
Uporabil sem Raspberry PI (RPI) 3 Model B
-
Kamera ali omrežna kamera, priključena na računalnik
- Katera koli kamera, ki jo lahko uporablja program Motion
- USB kamera
- Omrežna kamera
- Uporabil sem ta modul kamere, ki se pritrdi neposredno na RPI
-
Zvočnik z zunanjo oceno
- Povežite se prek aux vrat
- USB
- Uporabil sem ta Sony SRS-XB01
-
Dekoracija, kot je pihalnik, res vse
Uporabil sem brizgalni model Božička, zelo podoben temu
1. korak: Nastavite RPI
Ta korak je tukaj predvsem za popolne začetnike. Ta videoposnetek pojasnjuje, kako namestiti Raspberry PI (RPI) bolje, kot bi lahko. Priporočam, tako kot v videu, za namestitev brezžični USB, tipkovnico + miško in zunanji monitor. Po namestitvi zaženem svojega v garaži brez tipkovnice + miške in zunanjega monitorja, vendar pustim v ključu WIFi, da se lahko vnesem vanj in znova zaženem in/ali spremenim.
Korak: Priključite kamero na RPI
Sledite navodilom za nastavitev kamere za RPI. Uporabil sem modul kamere iz Adafruit Industries.
- Tračni kabel iz modula kamere priključite in pritrdite v vrata za kamero med vrati Ethernet in vmesnikom HDMI, tako da so stikalni stiki obrnjeni proti vratom HDMI, modri trak pa proti vratom Ethernet.
-
Če imate priključen monitor in uporabljate uporabniški vmesnik (strežnik Xserver), zaženite orodje za konfiguracijo Raspberry Pi
Če oddaljeni SSH v rpi iz drugega računalnika, zaženite rasp -config v svojem terminalu - to bo zagnalo uporabniški vmesnik terminala
- V konfiguraciji Raspberry Config na zavihku Vmesniki omogočite kamero.
- Shranite in znova zaženite RPI.
- Ob ponovnem zagonu zaženite spodnji ukaz v terminalu, tako zaznani kot omogočeni bi se morali vrniti kot = 1
vgencmode get_camera
Vaš modul PI Camera bi moral zdaj delovati
Spletna navodila
3. korak: Nastavite in preizkusite zvok
Sprva sem pri tem projektu preprosto povezal pomožni kabel od PI do majhnega zvočnika na baterijski pogon. To je imelo veliko statičnosti in baterije so se hitro izpraznile. Namesto tega sem priključil napravo USB, ki ojača zvok, in pomožni kabel sem speljal od izhodnih vrat aux na njem do zunanjega zvočnika, odpornega proti vremenskim vplivom. To je odstranilo statiko in je bilo glasnejše in brez skrbi za baterije. Moj RPI je samodejno prepoznal napravo USB brez namestitve gonilnika.
PI OS prihaja s programom, imenovanim aplay, vendar imam raje program za distribucijo programske opreme Sox, zato ta navodila namestijo Sox in uporabijo ukaz play.
Namestite Sox
V terminalu na RPI zaženite naslednji odgovor pritrdilno na vse pozive
sudo apt-get install sox
Preizkusite zvok
Prenesite združljivo zvočno datoteko majhne velikosti in jo shranite v računalnik. Uporabil sem santaho3.mp3, shranjen v domačem imeniku pi. Če želite preizkusiti zvok, priključite zvočnik na RPI in zaženite ta ukaz:
predvajaj santaho3.mp3
- Če v zvočniku slišite zvočno datoteko, potem zvok deluje
-
Morda boste morali interno spremeniti zvok iz HDMI v analogni.
Navodila tukaj
-
Če uporabljate zvočno napravo USB, v domačem imeniku ustvarite datoteko z imenom.asoundrc
- Vanj vstavite spodnjo vsebino in znova zaženite, začnite zvočni preizkus
-
pcm.! privzeto {
tip hw card 1} ctl.! privzeto {type hw card 1}
4. korak: Nastavite zaznavanje gibanja za predvajanje zvočne datoteke
Programska oprema, imenovana Motion, omogoča nastavitev ene ali več kamer za izvajanje ukaza, ko zazna gibanje v pogledu (-ih) kamere. Namestitev je precej enostavna in deluje zelo dobro. Prav tako lahko snema datoteke pri zaznavanju gibov, omogoča konfiguriranje spletnega mesta za vsako kamero ali enega samega spletnega mesta za vse kamere ter strežnike za pretakanje za gledanje pretokov v živo s kamer. Ta projekt potrebuje le odkrivanje in sprožanje ukazov, vendar sem nastavil strežnik za pretakanje, da lahko gledam tudi prenos v živo.
Namestite Motion
V terminalu na RPI zaženite spodnji ukaz in odgovorite z da na vse pozive, počakajte, da se konča
sudo apt-get install motion
Vzemite si čas in dodajte novo dodanega uporabnika gibanja v zvočno skupino, da bo imel dovoljenje za predvajanje zvoka, tako da vnesete naslednji ukaz
usermod -a -G zvočno gibanje
Konfigurirajte Motion for Detection
Konfiguracijsko datoteko gibanja bomo uredili tako, da bo predvajala zvočno datoteko, ki smo jo prenesli v koraku Nastavitveni zvok, ko zazna gibanje na fotoaparatu in zažene gibanje kot storitev, tako da to nadaljuje tudi ob ponovnem zagonu RPI.
V terminalu uredite datoteko /etc/motion/motion.conf kot super uporabnik
sudo nano/etc/default/motion
V terminalu uredite datoteko /etc/motion/motion.conf kot super uporabnik
sudo nano /etc/motion/motion.conf
Naredite in shranite naslednje spremembe. Mnoge od teh so privzete. Mislim, da v mojem primeru vnosi mmal_xxx nimajo nobenega učinka, vendar jih pustim, če jih kdo potrebuje - prav tako ne škodijo. Ta konfiguracija zazna gibanje na fotoaparatu v 40 -sekundnih intervalih, ne snema slik ali videoposnetkov in nastavi spletni strežnik in strežnik za pretakanje za kamero, zaščiteno z osnovnim preverjanjem pristnosti z uporabniškim imenom in geslom.
demon vklopljen
process_id_file /var/run/motion/motion.pid
setup_mode off logfile /var/log/motion/motion.log log_level 6 log_type vse videodevice/dev/video0 v4l2_palette 17 vhod -1 norma 0 frekvenca 0 power_line_frequency -1 zasukaj 0 flip_axis brez širine 320 višine 240 framerate 2 minimalno_frame_time 0 netcam_keepalive offcam netcam_keepalive off off kamero rtsp_uses_tcp na mmalcam_name vc.ril.camera samodejna osvetlitev izklopljena svetlost 0 kontrast 0 nasičenost 0 odtenek 0 roundrobin_frames 1 roundrobin_skip 1 izklopni prag izklopa filtra 500 prag_tune izklop hrupa 22 noise_tune na despeckle_filter EedDl smart_mask_speed 0motoprekljanje 0 minimalno_spremljanje 0 0 izklop_slik izhod_debug_slike izklop 75 slika_vrst jpeg ffmpeg_output_movies izklop ffmpeg_output_debug_movies izklop ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_duplicate časovnik apshot_interval 0 locate_motion_mode off locate_motion_style box text_right%Y-%m-%d / n%T-%q text_changes off text_event%Y%m%d%H%M%S text_double off target_dir/var/lib/snapshot_filename%v- %Y%m%d%H%M%S-snapshot picture_filename%v-%Y%m%d%H%M%S-%q movie_filename%v-%Y%m%d%H%M%S timelapse_filename % Y% m% d-timelapse ipv6_enabled nogama stream_port 8481 stream_quality 80 stream_motion nogama stream_maxrate 1 stream_localhost nogama stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost nogama webcontrol_html_output na webcontrol_authentication: track_type 0 track_auto nogama track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 tiho pri on_event_start/usr/bin/play -q -večnitno/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null
Zvočno datoteko kopirajte v zvočno datoteko v domači imenik gibanja in v njej spremenite dovoljenja, tako da jo ima Motion v lasti, vendar jo lahko vsi preberejo
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
Znova zaženite napravo RPI. Ko se zaženete, zaženite
sudo systemctl status motion.service
Izhod mora vsebovati vrstico, ki pravi:
Aktivno: aktivno (deluje) od takrat
Če vidite, da se gibanje izvaja. Če ne, za podrobnosti preverite/var/log/motion. Poskusite teči:
sudo systemctl start motion.service
Testno zaznavanje gibanja in predvajanje zvoka
Skoraj končano. Preveriti je treba le, ali se zazna gibanje in kdaj se zvok predvaja.
V terminalu naredite naslednje za ogled priloženega besedila v dnevniški datoteki
tail -f/var/log/motion
Zdaj:
- Počasi pomahajte pred kamero
- Datoteka dnevnika mora prikazati, da je bilo zaznano gibanje
- Upajmo, da se bo zvočna datoteka predvajala skozi zvočnik
- Če je tako, postavite RIP v okno z objektivom kamere, obrnjenim na mesto zaznavanja gibanja
- Zunanji zvočnik postavite v okras ali blizu njega
- Ko bodo ljudje hodili mimo, jih bodo pozdravili
Odpravljanje težav
Če stvari ne delujejo
-
Dvakrat preverite, ali kamera deluje:
- raspistill -o test.jpg
- ls -l test-j.webp" />
-
Z izvedbo dvakrat preverite, ali zvok deluje
- play/var/lib/motion/mtn_dtct_ntfy.mp3
-
če ne slišite zvočne datoteke
- preverite, ali je izhodna naprava nastavljena na vaš zvočnik (analogni ali USB)
- preverite glasnost
- preverite, ali imajo dovoljenja zvočne datoteke 3 'r v nizu dovoljenj (tj. rw*rw*rw*)
-
Če vse drugo ne uspe, morda gibanje ni pravilno nastavljeno
v tem primeru bi morala pomagati nekatera spletna iskanja, saj je tam veliko pomoči
5. korak: Dodatni komentarji
Predvajajte naključne zvočne datoteke
Če se dolgočasite ob istem zvoku, ki se predvaja vedno znova, premešajte!
-
Shranite več različnih zvočnih datotek z istim imenom, vendar zaporedno številčno pripono:
soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,
-
Vnos /etc/motion/motion.conf on_event_start spremenite na naslednji način
on_event_start play -q -večnitni zvok File`shuf -i 1-5 -n 1`.mp3 2>/dev/null
- Zaprite datoteko in jo shranite
- Znova zaženite storitev gibanja
sudo systemctl znova zaženi motion.service
- Del `shuf -i 1-5 -n 1` (to so povratne kljukice) vstavi naključno število od 1 do 5 ito ime datoteke, ki se predvaja
- Ko se zazna gibanje, se bo predvajala katera koli od 5 zvočnih datotek
Govoriti namesto igrati
Še ena zabavna poteza je, da nastavite pretvorbo besedila v govor in računalnik izgovori stavek ljudem, ki gredo mimo. Kot motor rad uporabljam MaryTTS. Nastavite in zaženite strežnik Mary TTS ter spremenite vrstico on_event_start, omenjeno zgoraj, da pošljete sporočilo strežniku za poroko tts (npr. Marytts/bin/marytts-submit-text "Pozdravljeni prijatelj")
Uporaba IP omrežnih kamer (brezžičnih ali drugih)
Program za gibanje lahko preprosto podpira omrežne kamere IP z uporabo netcam_url in drugih različnih nastavitev netcam_xxx. Preprosto spletno iskanje bi moralo zagotoviti, kaj je potrebno.
Bluetooth
Če ima vaš RPI vgrajen Bluetooth ali ste namestili USB-napravo Bluetooth, lahko zvočnik povežete prek Bluetootha in se znebite žice.
Omejite zajem gibanja na manjše območje
Ena od težav, ki sem jih imel pri tej postavitvi, je pihanje grmovja in dreves ter luči v avtomobilu, ki so vse preveč preprosto sprožile gibanje. Program za gibanje ima nastavitve, koliko okvirjev je treba spremeniti, preden se sproži gibanje, ter upoštevanje hrupa in njihova uporaba. Nisem še poskusil, vendar mislim, da bom potreboval nastavitve, ki omogočajo tudi določitev določenega območja pogleda kamere za zaznavanje gibanja. To bi moralo omogočiti, da določite območje tik ob okrasu, da sprožite predvajanje zvočne datoteke.
Priporočena:
Števec korakov - mikro: Bit: 12 korakov (s slikami)
Števec korakov - Micro: Bit: Ta projekt bo števec korakov. Za merjenje korakov bomo uporabili senzor pospeška, ki je vgrajen v Micro: Bit. Vsakič, ko se Micro: Bit trese, bomo štetju dodali 2 in ga prikazali na zaslonu
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): 8 korakov
Akustična levitacija z Arduino Uno Korak po korak (8 korakov): ultrazvočni pretvorniki zvoka L298N Dc ženski adapter z napajalnim vtičem za enosmerni tok Arduino UNOBreadboard Kako to deluje: Najprej naložite kodo v Arduino Uno (to je mikrokrmilnik, opremljen z digitalnim in analogna vrata za pretvorbo kode (C ++)
Vijak - Nočna ura za brezžično polnjenje DIY (6 korakov): 6 korakov (s slikami)
Bolt - Nočna ura za brezžično polnjenje DIY (6 korakov): Induktivno polnjenje (znano tudi kot brezžično polnjenje ali brezžično polnjenje) je vrsta brezžičnega prenosa energije. Za zagotavljanje električne energije prenosnim napravam uporablja elektromagnetno indukcijo. Najpogostejša aplikacija je brezžično polnjenje Qi
Merilnik korakov 1. del: Enobarvni zaslon 128x32 in Arduino: 5 korakov
Pedometer 1. del: Enobarvni zaslon 128x32 in Arduino: To je osnovna vadnica, ki uči, kako uporabljati zaslon OLED s svojim Arduinom. Uporabljam zaslon velikosti 128x32, lahko pa uporabite tudi drugačen zaslon z ločljivostjo in po potrebi spremenite ločljivost/koordinate. V tem delu vam bom pokazal, kako
Preklopna obremenitvena banka z manjšo velikostjo korakov: 5 korakov
Preklopna banka odpornikov obremenitve z manjšo velikostjo korakov: Banke uporovnih obremenitev so potrebne za preskušanje energetskih proizvodov, za karakterizacijo sončnih kolektorjev, v preskusnih laboratorijih in v industriji. Reostati zagotavljajo stalno spreminjanje odpornosti na obremenitev. Ker pa se vrednost upora zmanjša, moč