Turinys:

Kalbanti Kalėdų Senelis - 5 žingsniai
Kalbanti Kalėdų Senelis - 5 žingsniai

Video: Kalbanti Kalėdų Senelis - 5 žingsniai

Video: Kalbanti Kalėdų Senelis - 5 žingsniai
Video: Dvylika Mėnesių - animacinė pasaka. Restauruotas vaizdas ir garsas. 2024, Birželis
Anonim
Kalbanti Kalėdų Senelis
Kalbanti Kalėdų Senelis
Kalbanti Kalėdų Senelis
Kalbanti Kalėdų Senelis

Šis projektas paaiškina, kaip padaryti dekoraciją, kuri atkuria garso failą, kai kas nors eina pro šalį. Tai galima lengvai padaryti naudojant kompiuterį, kuriame galima paleisti programą „Motion“, ir tam tikrą fotoaparatą. Šiuo atveju naudojau 20 colių aukščio Kalėdų Senelio pūstuvą. Savo garažo lange sumontavau savo Raspberry PI su fotoaparato moduliu ir nukreipiau jį į Kalėdų Senelio pūtiklį. Pūtiklio viduje paslėpiau maitinamą lauko garsiakalbį ir praleidau 25 pėdų aukščio laidą Skirtas naudoti lauke nuo PI iki šio garsiakalbio. Nustatiau „Pi“programą „Motion“, kad ji paleistų Kalėdų Seneliui skambantį Ho Ho Ho garso failą, kai tik aptinka judesį naudojant fotoaparatą. Tai padaryti yra gana paprasta ir smagu.

Pirkti konkrečias medžiagas, kurias čia naudojau, tikriausiai kainuotų apie 100 USD su siuntimu. Neišleisčiau to gaminant, jei neturėčiau visų šių medžiagų nenaudojamų. Tai gali veikti su bet kokiu kompiuteriu, bet kokia kamera ir bet kokiu garsiakalbiu, taigi, jei reikia nusipirkti šių dalykų, tai galima padaryti daug pigiau.

Prekės

  • Kompiuteris su „Motion“programa

    Aš naudojau Raspberry PI (RPI) 3 B modelį

  • Prie kompiuterio prijungta kamera arba tinklo kamera
    • Bet kuri kamera, kurią gali naudoti programa „Motion“
    • USB kamera
    • Tinklo kamera
    • Aš naudoju šį fotoaparato modulį, kuris tiesiogiai prijungiamas prie RPI
  • Lauko garsiakalbis

    • Prijunkite per aux prievadą
    • USB
    • Aš naudoju šį „Sony SRS-XB01“
  • Papuošimas, pvz., Blowmold, viskas

    Aš naudojau Kalėdų Senelio pūtiklį, labai panašų į šį

1 žingsnis: nustatykite savo RPI

Nustatykite savo RPI
Nustatykite savo RPI

Šis žingsnis dažniausiai skirtas pradedantiesiems. Šiame vaizdo įraše paaiškinta, kaip geriau nei aš sukonfigūruoti Raspberry PI (RPI). Taip pat rekomenduočiau, kaip ir vaizdo įraše, sąrankai prijungti belaidį USB, klaviatūrą + pelę ir išorinį monitorių. Po sąrankos aš paleidžiu savo garaže be klaviatūros + pelės ir išorinio monitoriaus, bet palieku WIFi raktą, kad galėčiau į jį įjungti ir iš naujo paleisti ir (arba) atlikti pakeitimus.

2 veiksmas: pritvirtinkite fotoaparatą prie RPI

Prijunkite fotoaparatą prie RPI
Prijunkite fotoaparatą prie RPI

Vykdykite instrukcijas, kaip nustatyti fotoaparatą pagal RPI. Naudojau „Adafruit Industries“fotoaparato modulį.

  • Prijunkite ir pritvirtinkite juostinį kabelį iš fotoaparato modulio į fotoaparato prievadą tarp eterneto prievado ir HDMI prievado taip, kad lizdų kontaktai būtų nukreipti į HDMI prievadą, o mėlyna juosta - į eterneto prievadą.
  • Jei turite prijungtą monitorių ir naudojate vartotojo sąsają („Xserver“), paleiskite „Raspberry Pi Configuration“įrankį

    Jei nuotolinis SSH į rpi iš kito kompiuterio, paleiskite rasp -config savo terminale - bus paleista terminalo vartotojo sąsaja

  • Raspberry Config skirtuke Sąsajos įgalinkite fotoaparatą.
  • Išsaugokite ir iš naujo paleiskite RPI.
  • Iš naujo paleisdami komandą terminale, tiek aptikti, tiek įjungti turėtų grįžti kaip = 1

vgencmode get_camera

Jūsų PI kameros modulis turėtų veikti dabar

Instrukcijos internete

3 veiksmas: nustatykite ir išbandykite garsą

Nustatykite ir išbandykite garsą
Nustatykite ir išbandykite garsą

Iš pradžių šiam projektui aš tiesiog pravedžiau papildomą laidą iš PI į mažą akumuliatoriumi maitinamą garsiakalbį. Taip atsitiko, kad buvo daug statinio ir baterijos greitai išsikrovė. Vietoj to aš prijungiau USB įrenginį, kuris sustiprina garsą, ir perėjau aux laidą iš jame esančio aux išvesties prievado į galingą lauko garsiakalbį. Tai pašalino statiką ir buvo garsesnė ir nereikėjo nerimauti dėl baterijų. USB įrenginį automatiškai atpažino mano RPI, nereikalaujant įdiegti tvarkyklės.

„PI OS“yra su programa „aplay“, tačiau man labiau patinka „Sox“programinės įrangos platinimo programa, todėl šiose instrukcijose įdiegiama „Sox“ir naudojama it play komanda.

Įdiekite „Sox“

RPI terminale paleiskite taip, atsakydami „taip“į visus raginimus

sudo apt-get install sox

Bandomasis garsas

Atsisiųskite suderinamą mažo dydžio garso failą ir išsaugokite jį savo kompiuteryje. Aš naudojau santaho3.mp3, išsaugotą mano pi namų kataloge. Norėdami patikrinti garsą, prijunkite garsiakalbį prie RPI ir paleiskite šią komandą:

žaisti santaho3.mp3

  • Jei garsiakalbyje girdite grojantį garso failą, garsas veikia
  • Gali tekti iš vidaus pakeisti garsą iš HDMI į analoginį.

    Instrukcijos čia

  • Jei naudojate USB garso įrenginį, namų kataloge sukurkite failą pavadinimu.asoundrc

    • Įdėkite žemiau esantį turinį ir paleiskite iš naujo, pradėkite garso testą
    • pcm.! numatytasis {

      tipas hw card 1} ctl.! numatytasis {type hw card 1}

4 veiksmas: nustatykite judesio aptikimą, kad paleistumėte garso failą

Nustatykite judesio aptikimą, kad paleistumėte garso failą
Nustatykite judesio aptikimą, kad paleistumėte garso failą

Programinė įranga, vadinama „Motion“, leidžia nustatyti vieną ar daugiau fotoaparatų, kad būtų vykdoma komanda, kai kameros (-ų) vaizde (-uose) aptinkamas judesys. Tai gana lengva nustatyti ir veikia gana gerai. Jis taip pat gali įrašyti failus aptikdamas judesius, leisti sukonfigūruoti kiekvienos kameros svetainę arba vieną svetainę visoms kameroms ir transliacijos serverius stebėti tiesioginius kamerų srautus. Šiam projektui reikia tik aptikimo ir komandų paleidimo galimybių, tačiau aš turiu įdiegęs srautinio perdavimo serverį, kad galėčiau žiūrėti tiesioginį srautą.

Įdiekite „Motion“

RPI terminale paleiskite žemiau esančią komandą, atsakydami „taip“į visus raginimus, palaukite, kol ji baigsis

sudo apt-get install motion

Skirkite laiko naujai pridėtam judesio vartotojui pridėti prie garso grupės, kad jis turėtų leidimą leisti garsą įvesdamas šią komandą

usermod -a -G garso judesys

Konfigūruokite judesį aptikimui

Redaguosime judesio konfigūracijos failą, kad paleistume garso failą, kurį atsisiuntėme atlikdami sąrankos garso veiksmą, kai jis aptinka judesį fotoaparate ir paleidžia judesį kaip paslaugą, kad ir toliau tai darytų, kai iš naujo paleidžia RPI.

Terminale redaguokite failą /etc/motion/motion.conf kaip super vartotojas

sudo nano/etc/default/motion

Terminale redaguokite failą /etc/motion/motion.conf kaip super vartotojas

sudo nano /etc/motion/motion.conf

Atlikite ir išsaugokite toliau nurodytus pakeitimus. Daugelis jų yra numatytieji. Nemanau, kad mano atveju mmal_xxx įrašai turi kokį nors poveikį, bet aš juos palieku, jei kam nors jų prireiktų - jie taip pat nekenkia. Ši konfigūracija 40 sekundžių intervalais aptinka fotoaparato judesį, neįrašo vaizdų ar vaizdo įrašų ir nustato fotoaparato žiniatinklio serverį ir transliacijos serverį, apsaugotą pagrindiniu autentifikavimu naudojant vartotojo vardą ir slaptažodį.

demonas įjungtas

process_id_file /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 įvestis -1 norma 0 dažnis 0 power_line_frequency -1 pasukti 0 flip_axis nėra plotis 320 aukštis 240 framerate 2 minimum_frame_time 0 netcam_keepalive rtsp_uses_tcp on mmalcam_name vc.ril.camera 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 ffpelapse_fp 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/motion snapshot_filename%v- %Y%m%d%H%M%S momentinė nuotrauka_failo pavadinimas%v-%Y%m%d%H%M%S-%q filmo_failo pavadinimas%v-%Y%m%d%H%M%S timelapse_filename % Y% m% d-timelapse, ipv6_enabled išjungti stream_port 8481 stream_quality 80 stream_motion išjungti stream_maxrate 1 stream_localhost išjungti stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost išjungti webcontrol_html_output dėl webcontrol_authentication: track_type 0 track_auto išjungti track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 tylus on_event_start/usr/bin/play -q -multi -threaded/var/lib/motion/praneškite`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Nukopijuokite garso failą į garso failą į judesio namų katalogą ir pakeiskite jo leidimus, kad judesys jam priklausytų, bet visi galėtų jį perskaityti

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

Perkraukite RPI įrenginį. Kai tik paleisite, paleiskite

sudo systemctl status motion.service

Išvestyje turėtų būti eilutė, kuri sako:

Aktyvus: aktyvus (veikia) nuo

Jei matote, kad šis judesys vyksta. Jei ne, peržiūrėkite/var/log/motion ir sužinokite daugiau. Pabandykite bėgti:

sudo systemctl paleisti judesį. paslauga

Išbandykite judesio aptikimą ir garso atkūrimą

Beveik baigta. Tik reikia patikrinti, ar judesys aptinkamas ir ar garsas skamba, kai yra.

Terminale atlikite šiuos veiksmus, kad pamatytumėte prie žurnalo failo pridėtą tekstą

uodega -f/var/log/motion

Dabar:

  • Lėtai banguoja prieš kamerą
  • Žurnalo failas turėtų išvesti tą judesį
  • Tikimės, kad garso failas groja per garsiakalbį
  • Jei taip, padėkite RIP į langą taip, kad fotoaparato objektyvas būtų nukreiptas į tą vietą, kur reikia aptikti judesį
  • Įdėkite lauko garsiakalbį į dekoraciją arba šalia jos
  • Kai žmonės eis pro šalį, jie bus pasveikinti

Problemų sprendimas

Jei viskas neveikia

  • Dar kartą patikrinkite, ar fotoaparatas veikia, atlikdami šiuos veiksmus:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Vykdydami dar kartą patikrinkite, ar garsas veikia
    • play/var/lib/motion/mtn_dtct_ntfy.mp3
    • jei negirdi garso failo

      • patikrinkite, ar išvesties įrenginys yra jūsų garsiakalbio sąranka (analoginė arba USB)
      • patikrinkite garsumą
      • patikrinkite, ar garso failo leidimuose yra 3 'r leidimų eilutėje (t. y. rw*rw*rw*)
  • Jei visa kita nepavyksta, galbūt judesys nėra tinkamai nustatytas

    jei taip yra, kai kurios paieškos internete turėtų padėti, nes yra daug pagalbos

5 veiksmas: papildomi komentarai

Papildomi komentarai
Papildomi komentarai

Leisti atsitiktinio garso failus

Nuobodu, kai tas pats garsas skamba vėl ir vėl, sumaišykite!

  • Išsaugokite kelis skirtingus garso failus tuo pačiu pavadinimu, bet nuoseklią skaitmeninę priesagą:

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

  • Pakeiskite įrašą /etc/motion/motion.conf on_event_start taip

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

  • Išeikite ir išsaugokite failą
  • Iš naujo paleiskite judesio paslaugą

    sudo systemctl iš naujo paleisti motion.service

  • Dalyje „shuf -i 1-5 -n 1“(tai yra erkės) įterpiamas atsitiktinis skaičius nuo 1 iki 5 ito grojamo failo pavadinime
  • Taigi dabar, kai aptinkamas judesys, bus paleistas bet kuris iš 5 garso failų

Kalbėti, o ne žaisti

Kitas įdomus posūkis yra nustatyti tekstą į kalbą ir leisti kompiuteriui pasakyti sakinį praeiviams. Man patinka naudoti „MaryTTS“kaip variklį. Nustatykite ir paleiskite „Mary TTS“serverį ir pakeiskite aukščiau paminėtą eilutę on_event_start, kad pateiktumėte ką nors pasakyti santuokos tts serveriui (t. Y. Marytts/bin/marytts-submitted-text „Labas draugas“)

IP tinklo kamerų naudojimas (belaidis arba kitas)

Judesio programa gali lengvai palaikyti tinklo IP kameras, naudojant netcam_url ir kitus įvairius netcam_xxx nustatymus. Paprasta paieška internete turėtų suteikti tai, ko reikia.

„Bluetooth“

Jei jūsų RPI yra įmontuotas „Bluetooth“arba jūs įdiegėte USB „Bluetooth“įrenginį, galite prijungti garsiakalbį per „Bluetooth“ir atsikratyti laido.

Apribokite judesio fiksavimą mažesnėje srityje

Viena iš problemų, su kuriomis susidūriau atliekant šią sąranką, yra krūmų ir medžių pūtimas, taip pat automobilių žibintai, kurie pernelyg lengvai sukėlė judesį. Judesio programoje yra nustatymų, kiek kadrų reikia pakeisti prieš suaktyvinant judesį, taip pat atsižvelgiama į triukšmą ir juos naudojant. Dar nebandžiau, bet manau, kad man reikės nustatymų, kurie taip pat leistų nustatyti tam tikrą kameros rodinio sritį judesio aptikimui. Tai turėtų leisti apibrėžti sritį šalia dekoracijos, kad būtų paleistas garso failas.

Rekomenduojamas: