Sadržaj:

Pričajući Djed Božićnjak: 5 koraka
Pričajući Djed Božićnjak: 5 koraka

Video: Pričajući Djed Božićnjak: 5 koraka

Video: Pričajući Djed Božićnjak: 5 koraka
Video: Poziv Djeda Mraza 2021 2024, Novembar
Anonim
Govoreći Santa Blowmold
Govoreći Santa Blowmold
Govoreći Santa Blowmold
Govoreći Santa Blowmold

Ovaj projekt objašnjava kako napraviti ukras koji reproducira zvučnu datoteku kad netko prođe. To se lako može postići računarom koji može pokrenuti Motion program i nekom kamerom. U ovom slučaju koristio sam kalup za Djeda Mraza visok 20 inča. Postavio sam Raspeberry PI sa modulom kamere u prozoru garaže i usmjerio ga prema kalupu Djeda Mraza. Sakrio sam vanjski zvučnik sa napajanjem unutar puhala i prošao sam pomoćni kabel od 25 stopa ocijenjeno za vanjsku upotrebu od PI do ovog zvučnika. Program Motion postavio sam na Pi da reproducira zvučnu datoteku Ho Ho Ho koja zvuči Djeda Mraza kad god otkrije pokret pomoću kamere. To je prilično jednostavno i dobra je zabava.

Kupnja određenih materijala koje sam ovdje koristio vjerojatno bi koštala oko 100 USD s dostavom. Ne bih potrošio to na izradu ovoga da nemam već sav ovaj materijal koji leži okolo neiskorišten. Ovo može funkcionirati sa bilo kojim računarom, bilo kojom kamerom i bilo kojim zvučnikom, pa se može postići mnogo jeftinije ako trebate kupiti te stvari.

Supplies

  • Računar sa instaliranim programom Motion

    Koristio sam Raspberry PI (RPI) 3 model B

  • Kamera ili mrežna kamera priključena na računar

    • Bilo koju kameru koju Motion Motion može koristiti
    • USB kamera
    • Mrežna kamera
    • Koristio sam ovaj modul kamere koji se spaja direktno na RPI
  • Zvučnik sa spoljnom ocenom

    • Povežite se preko aux porta
    • USB
    • Koristio sam ovaj Sony SRS-XB01
  • Dekoracija poput puhala, bilo što zaista

    Koristio sam kalup za Djeda Mraza vrlo sličan ovom

Korak 1: Postavite svoj RPI

Postavite svoj RPI
Postavite svoj RPI

Ovaj korak je ovdje uglavnom za potpune početnike. Ovaj video objašnjava kako postaviti Raspberry PI (RPI) bolje nego što sam mogao. Također bih preporučio, kao i u videu, povezivanje bežičnog USB -a, tastature + miša i vanjskog monitora za postavljanje. Nakon postavljanja pokrećem svoj u garaži bez tastature + miša i vanjskog monitora, ali ostavljam WIFi dongle kako bih mogao ući u njega i ponovo pokrenuti sistem i/ili unijeti promjene.

Korak 2: Priključite kameru na RPI

Priključite kameru na RPI
Priključite kameru na RPI

Slijedite upute za postavljanje kamere za RPI. Koristio sam modul kamere iz Adafruit Industries.

  • Priključite i pričvrstite vrpčani kabel iz modula kamere u priključak za kameru između Ethernet porta i HDMI priključka tako da su kontakti s kliznim dijelovima okrenuti prema HDMI priključku, a plava traka okrenuta prema Ethernet priključku.
  • Ako imate priključen monitor i koristite korisničko sučelje (Xserver), pokrenite alat za konfiguraciju Raspberry Pi

    Ako udaljeni SSH u rpi s drugog računala, pokrenite rasp -config na svom terminalu - koji će pokrenuti korisničko sučelje terminala

  • U Raspberry Config -u, na kartici Interfaces, omogućite kameru.
  • Spremite i ponovno pokrenite RPI.
  • Nakon ponovnog pokretanja pokrenite donju naredbu na terminalu, i otkrivene i omogućene trebale bi se vratiti kao = 1

vgencmode get_camera

Vaš PI Camera modul bi sada trebao raditi

Upute na mreži

Korak 3: Postavljanje i testiranje zvuka

Postavljanje i testiranje zvuka
Postavljanje i testiranje zvuka

U početku sam za ovaj projekt jednostavno proveo pomoćni kabel od PI -a do malog zvučnika na baterije. Dogodilo se da ima puno statičkog elektriciteta i da su se baterije brzo ispraznile. Umjesto toga, priključio sam USB uređaj koji pojačava zvuk i prošao sam pomoćni kabel od pomoćnog izlaznog priključka na njemu do vanjskog zvučnika otpornog na vremenske uvjete. Ovo je uklonilo statiku i bilo je glasnije i nije trebalo brinuti o baterijama. RPI je automatski prepoznao USB uređaj bez potrebe za instaliranjem upravljačkog programa.

PI OS dolazi s programom koji se zove aplay, ali ja više volim program za distribuciju Sox softvera, pa ove upute instaliraju Sox i koriste njegovu naredbu play.

Instalirajte Sox

U terminalu na RPI pokrenite sljedeći odgovor da na sve upite

sudo apt-get install sox

Test Sound

Preuzmite kompatibilnu zvučnu datoteku male veličine i spremite je na računalo. Koristio sam santaho3.mp3 spremljen u moj pi početni direktorij. Da biste testirali zvuk, spojite zvučnik na RPI i pokrenite ovu naredbu:

play santaho3.mp3

  • Ako čujete zvučnu datoteku koja se reproducira u vašem zvučniku, vaš zvuk radi
  • Možda ćete morati interno promijeniti zvuk s HDMI -a na analogni.

    Upute ovdje

  • Ako koristite USB zvučni uređaj, stvorite datoteku u svom kućnom direktoriju pod nazivom.asoundrc

    • Stavite donji sadržaj u njega i ponovo pokrenite sistem, započnite audio test
    • pcm.! default {

      upišite hw card 1} ctl.! default {type hw card 1}

Korak 4: Postavite Detekciju pokreta za reprodukciju zvučne datoteke

Postavite Detekciju pokreta za reprodukciju zvučne datoteke
Postavite Detekciju pokreta za reprodukciju zvučne datoteke

Softver pod nazivom Motion omogućuje postavljanje jedne ili više kamera u svrhu izvođenja naredbe kada se pokret detektira u kameri. Jednostavno se postavlja i prilično dobro radi. Također može snimati datoteke pri otkrivanju pokreta, omogućiti konfiguraciju web stranice za svaku kameru ili jednu web stranicu za sve kamere, te poslužitelje za streaming za gledanje prijenosa kamera uživo. Ovom projektu je potrebna samo mogućnost otkrivanja i pokretanja naredbi, ali ja sam postavio streaming server da bih mogao gledati i prijenos uživo.

Instalirajte Motion

U terminalu na RPI -u pokrenite naredbu ispod i odgovorite da na sve upite, pričekajte da se završi

sudo apt-get install motion

Odvojite malo vremena da dodate novo dodanog korisnika pokreta u audio grupu tako da ima dozvolu za reprodukciju zvuka unošenjem sljedeće naredbe

usermod -a -G audio kretanje

Konfigurirajte Motion for Detection

Uredit ćemo datoteku konfiguracije pokreta za reprodukciju zvučne datoteke koju smo preuzeli u koraku Setup Audio kada otkrije kretanje na kameri i pokrene pokret kao uslugu, tako da to nastavlja činiti ikad pri ponovnom pokretanju RPI -ja.

U terminalu uredite datoteku /etc/motion/motion.conf kao super korisnik

sudo nano/etc/default/motion

U terminalu uredite datoteku /etc/motion/motion.conf kao super korisnik

sudo nano /etc/motion/motion.conf

Napravite i sačuvajte sljedeće izmjene. Mnogi od njih su zadane. Mislim da u mom slučaju unosi mmal_xxx nemaju nikakvog učinka, ali ih ostavljam u slučaju da im neko zatreba - također ne nanose štetu. Ova konfiguracija detektira kretanje na kameri u intervalima od 40 sekundi, ne snima slike ili video zapise i postavlja web server i server za streaming za kameru zaštićen osnovnom autentifikacijom koristeći korisničko ime i lozinku.

daemon on

process_id_file /var/run/motion/motion.pid

setup_mode isključen logfile /var/log/motion/motion.log log_level 6 log_type sve videodevice/dev/video0 v4l2_paleta 17 ulaz -1 norma 0 frekvencija 0 power_line_frequency -1 rotiraj 0 flip_axis nema širine 320 visina 240 framerate 2 minimalno_frame_time 0 netcam_keepalive isključeno netcam_se isključuje netcam_ isključeno_kamera_ isključeno_kamera_ isključeno_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_ isključena_mreža_rezervacija_referentna_vremenska_prihvatljivost_priključnica_mrež. rtsp_uses_tcp na mmalcam_name vc.ril.camera auto_brightness isključena svjetlina 0 kontrast 0 nijansa 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off prag 500 frame_tune isključen noise_tune na despeckle_filter EedDl smart_mask_speed 0motajpreklop 0 minimum_prekidač izlazne_slike isključene_slike isključene 75 slika_tip jpeg ffmpeg_output_movies isključeno ffmpeg_output_debug_movies isključeno ffmpeg_bps 400000 ffmpeg_variable_bitrate 0 ffmpeg_video_codec mp4 ffmpeg_time_plimp 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-snimak picture_filename%v-%Y%m%d%H%M%S-%q ime_fajla filma%v-%Y%m%d%H%M%S timelapse_filename % Y% m% d-timelapse ipv6_enabled off stream_port 8481 stream_quality 80 stream_motion off stream_maxrate 1 stream_localhost off stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost off webcontrol_html_output na webcontrol_authentication: track_type 0 track_auto off 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 na on_event_start/usr/bin/play -q -višenavojno/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Kopirajte audio datoteku u zvučnu datoteku u početni direktorij Motion -a i promijenite dozvole na njoj tako da je Motion posjeduje, ali svi je mogu čitati

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

Ponovo pokrenite RPI uređaj. Nakon pokretanja, pokrenite

sudo systemctl status motion.service

Izlaz bi trebao sadržavati redak koji kaže:

Aktivno: aktivno (radi) od

Ako vidite da je ovo kretanje pokrenuto. Ako niste, provjerite/var/log/motion za detalje. Pokušajte trčati:

sudo systemctl pokretanje motion.service

Test Detekcija pokreta i reprodukcija zvuka

Skoro gotovo. Potrebno je samo provjeriti je li pokret otkriven i zvuk se reproducira kada se pojavi.

U terminalu učinite sljedeće kako biste gledali dodani tekst datoteci dnevnika

tail -f/var/log/motion

Sad:

  • Polako mahnite nečim pred kamerom
  • Datoteka dnevnika treba prikazati da je pokret otkriven
  • Nadajmo se da će se zvučna datoteka reproducirati kroz zvučnik
  • U tom slučaju postavite RIP u prozor s objektivom kamere okrenutim prema mjestu na kojemu će se detektirati pokreti
  • Vanjski zvučnik postavite u ukras ili blizu njega
  • Kad ljudi prođu, dočekat će ih

Rješavanje problema

Ako stvari ne funkcioniraju

  • Dvaput provjerite radi li kamera izvršavanjem:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Dvaput provjerite radi li zvuk izvršavanjem

    • play/var/lib/motion/mtn_dtct_ntfy.mp3
    • ako ne čujete zvučnu datoteku

      • provjerite je li na izlaznom uređaju postavljen vaš zvučnik (analogni ili USB)
      • proverite jačinu zvuka
      • provjerite dozvole na zvučnoj datoteci imaju 3 'r u nizu dozvola (tj. rw*rw*rw*)
  • Ako sve drugo ne uspije, moguće je da pokret nije pravilno postavljen

    u tom slučaju neke internetske pretrage trebale bi pomoći jer postoji velika pomoć

Korak 5: Dodatni komentari

Dodatni Komentari
Dodatni Komentari

Reproducirajte nasumične zvučne datoteke

Kad vam dosadi isti zvuk koji svira iznova, pomiješajte ga!

  • Spremite nekoliko različitih zvučnih datoteka s istim imenom, ali s uzastopnim numeričkim sufiksom:

    soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,

  • Promijenite /etc/motion/motion.conf on_event_start unos na sljedeći način

    on_event_start play -q -zvuk sa više nitiFile`shuf -i 1-5 -n 1`.mp3 2>/dev/null

  • Izađite i spremite datoteku
  • Ponovo pokrenite uslugu kretanja

    sudo systemctl ponovo pokrenite motion.service

  • Dio `shuf -i 1-5 -n 1` (to su povratne oznake) ubacuje slučajni broj od 1 do 5 u naziv datoteke koja se reproducira
  • Dakle, sada kada se detektira pokret, reproducirat će se bilo koja od 5 zvučnih datoteka

Govoriti umesto igrati

Još jedan zabavan potez je postavljanje pretvaranja teksta u govor i navođenje računara da izgovori rečenicu ljudima koji prolaze. Volim koristiti MaryTTS kao motor. Postavite i pokrenite Mary TTS poslužitelj i promijenite gornju liniju on_event_start kako biste poslali nešto za reći oženjenom tts serveru (tj. Marytts/bin/marytts-submit-text "Zdravo prijatelju")

Korištenje IP umreženih kamera (bežičnih ili drugih)

Program za kretanje može lako podržati umrežene IP kamere koristeći netcam_url i druge različite postavke netcam_xxx. Jednostavno pretraživanje na mreži trebalo bi pružiti ono što je potrebno.

bluetooth

Ako vaš RPI ima ugrađen Bluetooth ili ste instalirali USB Bluetooth uređaj, možete povezati zvučnik putem Bluetootha i riješiti se žice.

Ograničite snimanje pokreta na manje područje

Jedan od problema koji sam imao s ovom postavkom je puhanje grmlja i drveća, kao i svjetla u automobilima, koji su prelako pokrenuli kretanje. Program za kretanje ima postavke za to koliko okvira treba promijeniti prije pokretanja kretanja te je uzimanje u obzir buke i njihovo korištenje pomoglo. Nisam još pokušao, ali mislim da će mi trebati postavke koje također omogućuju određeno područje prikaza kamere za detekciju pokreta. Ovo bi trebalo omogućiti definiranje područja u blizini dekoracije za pokretanje reprodukcije zvučne datoteke.

Preporučuje se: