Kazalo:

Govorilni Božiček: 5 korakov
Govorilni Božiček: 5 korakov

Video: Govorilni Božiček: 5 korakov

Video: Govorilni Božiček: 5 korakov
Video: Сьюзан Кейн: Сила интровертов 2024, November
Anonim
Govoreči Božiček
Govoreči Božiček
Govoreči Božiček
Govoreči Božiček

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

Nastavite svoj RPI
Nastavite svoj 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

Priključite kamero na RPI
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

Nastavitev in preizkus zvoka
Nastavitev in preizkus zvoka

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

Nastavite zaznavanje gibanja za predvajanje zvočne datoteke
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

dodatni komentarji
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: