Cuprins:

Talking Santa Blowmold: 5 pași
Talking Santa Blowmold: 5 pași

Video: Talking Santa Blowmold: 5 pași

Video: Talking Santa Blowmold: 5 pași
Video: From Santas to glowing nativity scenes, antique shop gives classic Christmas decorations new life 2024, Noiembrie
Anonim
Vorbind despre Moș Crăciun
Vorbind despre Moș Crăciun
Vorbind despre Moș Crăciun
Vorbind despre Moș Crăciun

Acest proiect explică modul de realizare a unei decorații care redă un fișier sonor când cineva trece. Acest lucru poate fi realizat cu ușurință cu un computer care poate rula programul Motion și o cameră de un fel. În acest caz, am folosit o suflare de Moș Crăciun de 20 înălțime. Mi-am configurat Raspeberry PI cu modulul camerei în fereastra garajului și l-am îndreptat spre suflarea Moșului. Am ascuns un difuzor exterior în interiorul suflării și am rulat un cablu auxiliar de 25 de picioare evaluat pentru utilizare în exterior de la PI la acest difuzor. Am configurat programul Motion pe Pi pentru a reda un fișier de sunet Mo Santa care suna Ho Ho Ho ori de câte ori a detectat mișcare folosind camera. Este destul de simplu de făcut și este distractiv.

Pentru a cumpăra materialele specifice pe care le-am folosit aici ar costa probabil aproximativ 100 USD cu transportul. Nu aș cheltui asta făcând asta dacă nu aș avea deja toate aceste materiale nefolosite. Acest lucru poate funcționa cu orice computer, orice cameră și orice difuzor, astfel încât să poată fi realizat mult mai ieftin dacă trebuie să cumpărați aceste lucruri.

Provizii

  • Un computer cu programul Motion instalat

    Am folosit un Raspberry PI (RPI) 3 Model B

  • Camera conectată la computer sau Camera de rețea
    • Orice cameră pe care programul Motion o poate folosi
    • Cameră USB
    • Camera de rețea
    • Am folosit acest modul de cameră care se atașează direct la RPI
  • Un difuzor pentru exterior

    • Conectați-vă prin portul auxiliar
    • USB
    • Am folosit acest Sony SRS-XB01
  • O decorație cum ar fi suflarea, orice este cu adevărat

    Am folosit o suflare Moș Crăciun foarte asemănătoare cu aceasta

Pasul 1: configurați RPI

Configurați RPI
Configurați RPI

Acest pas este aici mai ales pentru începători complet. Acest videoclip explică cum să configurez un Raspberry PI (RPI) mai bine decât aș putea. De asemenea, aș recomanda, la fel ca în videoclip, conectarea unui USB wireless, tastatură + mouse și monitor extern pentru configurare. Odată configurat, îl rulez pe al meu în garajul meu fără tastatură + mouse și monitor extern, dar las în dongle-ul WIFi, astfel încât să pot intra în el și să repornesc și / sau să fac modificări.

Pasul 2: Atașați camera la RPI

Atașați camera la RPI
Atașați camera la RPI

Urmați instrucțiunile pentru a vă configura camera pentru RPI. Am folosit modulul Camera de la Adafruit Industries.

  • Conectați și fixați cablul panglică de la modulul Cameră în portul camerei între portul Ethernet și portul HDMI, cu contactele cu șnur orientate spre portul HDMI și banda albastră spre portul Ethernet.
  • Dacă aveți un monitor atașat și rulați UI (Xserver) rulați instrumentul de configurare Raspberry Pi

    Dacă SSH la distanță în rpi de pe alt computer, rulați rasp-config în terminalul dvs. - care va porni o interfață de utilizare a terminalului

  • În Raspberry Config, sub fila Interfețe, activați camera.
  • Salvați și reporniți RPI.
  • La repornire executați comanda de mai jos într-un terminal, atât detectate, cât și activate trebuie să revină ca = 1

vgencmode get_camera

Modulul dvs. PI Camera ar trebui să funcționeze acum

Instrucțiuni online

Pasul 3: Configurare și testare audio

Configurare și testare audio
Configurare și testare audio

Inițial pentru acest proiect, am rulat pur și simplu un cablu auxiliar de la PI la un difuzor mic alimentat cu baterie. S-a întâmplat să aibă o mulțime de static și bateriile s-au descărcat rapid. În schimb, am conectat un dispozitiv USB care amplifică sunetul și am rulat cablul auxiliar de la portul de ieșire auxiliar de pe acesta la un difuzor exterior rezistent la intemperii. Acest lucru a îndepărtat staticul și a fost mai tare și nu avea baterii de care să vă faceți griji. Dispozitivul USB a fost recunoscut automat de RPI-ul meu, fără instalarea driverului.

PI OS vine cu un program numit aplay, dar prefer programul de distribuție al software-ului Sox, deci aceste instrucțiuni îl instalează pe Sox și utilizează comanda play.

Instalați Sox

Într-un terminal de pe RPI executați următorul răspuns la da la orice solicitări

sudo apt-get install sox

Test Sunet

Descărcați un fișier de sunet compatibil de dimensiuni mici și salvați-l pe computer. Am folosit santaho3.mp3 salvat în directorul meu de acasă pi. Pentru a testa sunetul, conectați difuzorul la RPI și executați această comandă:

joacă santaho3.mp3

  • Dacă auziți redarea fișierului audio în difuzor, sunetul dvs. funcționează
  • Este posibil să trebuiască să schimbați intern sunetul de la HDMI la Analog.

    Instrucțiuni aici

  • Dacă utilizați un dispozitiv de sunet USB, creați un fișier în directorul de acasă numit.asoundrc

    • Puneți conținutul de mai jos și reporniți, începeți testul audio
    • pcm.! implicit {

      tastați hw card 1} ctl.! implicit {tastați hw card 1}

Pasul 4: configurați detectarea mișcării pentru a reda fișierul de sunet

Configurați detectarea mișcării pentru a reda fișierul de sunet
Configurați detectarea mișcării pentru a reda fișierul de sunet

Software-ul numit Motion permite configurarea uneia sau mai multor camere în scopul executării unei comenzi atunci când este detectată mișcare în vizualizarea (camerele) camerei. Este destul de ușor de configurat și funcționează destul de bine. De asemenea, poate înregistra fișiere atunci când detectează mișcări, permite configurarea unui site web pentru fiecare cameră sau a unui singur site web pentru toate camerele și servere de streaming pentru a viziona fluxurile live ale camerelor. Acest proiect are nevoie doar de capacitatea de detectare și declanșare a comenzilor, dar am configurat un server de streaming pentru a putea viziona și un flux live.

Instalați Motion

Într-un terminal de pe RPI, executați comanda de mai jos răspunzând da la orice solicitări, așteptați să se termine

sudo apt-get install motion

Faceți-vă timp acum pentru a adăuga utilizatorul de mișcare nou adăugat la grupul audio, astfel încât acesta să aibă permisiunea de a reda sunetul introducând următoarea comandă

usermod -a -G mișcare audio

Configurați mișcarea pentru detectare

Vom edita fișierul de configurare a mișcării pentru a reda fișierul de sunet pe care l-am descărcat în pasul Configurare audio atunci când detectează mișcarea de pe cameră și vom începe mișcarea ca serviciu, așa că continuă să o facă atunci când reporniți vreodată RPI.

Într-un terminal editați fișierul /etc/motion/motion.conf ca super utilizator

sudo nano / etc / default / motion

Într-un terminal editați fișierul /etc/motion/motion.conf ca super utilizator

sudo nano /etc/motion/motion.conf

Efectuați și salvați următoarele modificări. Multe dintre acestea sunt implicite. Nu cred că în cazul meu intrările mmal_xxx au vreun efect, dar le las în cazul în care cineva are nevoie de ele - și ele nu fac rău. Această configurație detectează mișcarea camerei la intervale de 40 de secunde, nu înregistrează imagini sau videoclipuri și configurează un server web și un server de streaming pentru cameră protejat cu autentificare de bază folosind un nume de utilizator și o parolă.

daemon on

fișier_id_proces /var/run/motion/motion.pid

setup_mode off logfile /var/log/motion/motion.log log_level 6 log_type all videodevice / dev / video0 v4l2_palette 17 intrare -1 normă 0 frecvență 0 power_line_frequency -1 rotire 0 flip_axis none width 320 240 framerate 2 minimum_frame_time 0 netcam_keepalive off netcam_toler rtsp_uses_tcp on mmalcam_name vc.ril.camera auto_brightness off luminozitate 0 contrast 0 saturare 0 nuanță 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off threshold 500 prag_tune off noise_level 22 noise_tune on despeckle_filter EedDl smart_mask_speed 0 lightwitch 0 light_motion_mage_motor_map 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 timelapse timelapse 0 timelapse apshot_interval 0 localizați_motion_mode oprit localizați caseta_motion_style 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 / motion 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% d% m-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 pe 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 silent on on_event_start / usr / bin / play -q --multi-threaded / var / lib / motion / notification`shuf -i 1-5 -n 1`.mp3 2> / dev / null

Copiați fișierul audio în fișierul de sunet în directorul de acțiune al mișcării și modificați permisiunile pentru ca mișcarea să-l dețină, dar toți îl pot citi

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

Reporniți dispozitivul RPI. Odată pornit, rulați

sudo systemctl status motion.service

Rezultatul ar trebui să includă o linie care spune:

Activ: activ (rulează) de când

Dacă vedeți că această mișcare rulează. Dacă nu, verificați / var / log / motion pentru detalii. Încercați să rulați:

sudo systemctl start motion.service

Testați detectarea mișcării și redarea sunetului

Aproape gata. Trebuie doar să verificați dacă mișcarea este detectată și sunetul se redă atunci când este.

Într-un terminal efectuați următoarele pentru a urmări textul anexat la fișierul jurnal

coada -f / var / log / motion

Acum:

  • Agitați încet ceva în fața camerei
  • Fișierul jurnal ar trebui să afișeze că mișcarea a fost detectată
  • Sperăm că fișierul sonor se redă prin difuzor
  • Dacă da, așezați RIP-ul într-o fereastră cu obiectivul camerei orientat către locul în care mișcarea va fi detectată
  • Așezați difuzorul exterior în interiorul sau lângă decor
  • Când oamenii trec, vor fi întâmpinați

Depanare

Dacă lucrurile nu funcționează

  • Verificați de două ori dacă camera funcționează executând:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Verificați de două ori dacă sunetul funcționează executând

    • play / var / lib / motion / mtn_dtct_ntfy.mp3
    • dacă nu auziți fișierul sonor

      • verificați dacă dispozitivul de ieșire este configurat pentru difuzorul dvs. (analogic sau USB)
      • verificați volumul
      • verificați dacă permisiunile pentru fișierul sonor au 3 'r în șirul de permisiuni (adică rw * rw * rw *)
  • Dacă orice altceva eșuează, atunci mișcarea nu este configurată corect

    dacă acesta este cazul, unele căutări online ar trebui să ajute, deoarece există mult ajutor acolo

Pasul 5: Comentarii suplimentare

Comentarii suplimentare
Comentarii suplimentare

Redați fișiere de sunet aleatorii

Plictisindu-vă de același sunet redat mereu, amestecați-l!

  • Salvați mai multe fișiere de sunet diferite cu același nume, dar cu un sufix numeric secvențial:

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

  • Modificați intrarea /etc/motion/motion.conf on_event_start după cum urmează

    on_event_start play -q --multi-threaded soundFile`shuf -i 1-5 -n 1`.mp3 2> / dev / null

  • Ieșiți și salvați fișierul
  • Reporniți serviciul de mișcare

    sudo systemctl reporniți motion.service

  • Partea `shuf -i 1-5 -n 1` (acestea sunt căpușe din spate) inserează un număr aleatoriu de la 1 la 5 până la numele fișierului redat
  • Deci, acum, când este detectată mișcarea, se va reda oricare dintre cele 5 fișiere de sunet

Vorbind în loc să joace

O altă întorsătură distractivă este de a configura un Text-to-Speech și de a cere computerului să rostească o propoziție celor care trec. Îmi place să folosesc MaryTTS ca motor. Configurați și porniți serverul Mary TTS și schimbați linia on_event_start menționată mai sus pentru a trimite ceva de spus către serverul de căsătorie tts (adică marytts / bin / marytts-submit-text "Hello friend")

Utilizarea camerelor IP în rețea (fără fir sau altfel)

Programul de mișcare poate sprijini cu ușurință camerele IP în rețea utilizând netcam_url și alte setări netcam_xxx. O simplă căutare online ar trebui să furnizeze ceea ce este necesar.

Bluetooth

Dacă RPI-ul dvs. are Bluetooth încorporat sau ați instalat un dispozitiv USB Bluetooth, puteți conecta difuzorul prin Bluetooth și puteți scăpa de fir.

Limitați captura mișcării la o zonă mai mică

Una dintre problemele pe care le-am avut cu această configurație este suflarea arbuștilor și a copacilor, precum și a luminilor mașinii toate au declanșat mișcarea prea ușor. Programul de mișcare are setări pentru numărul de cadre care trebuie modificate înainte ca mișcarea să fie declanșată și să țină cont de zgomot și să le ajute să le folosim. Nu am încercat încă, dar cred că voi avea nevoie de setări care să permită definirea unei zone specifice a vizualizării camerei pentru detectarea mișcării. Acest lucru ar trebui să permită definirea unei zone chiar lângă decor pentru a declanșa redarea fișierului sonor.

Recomandat: