Innehållsförteckning:

Talking Santa Blowmold: 5 steg
Talking Santa Blowmold: 5 steg

Video: Talking Santa Blowmold: 5 steg

Video: Talking Santa Blowmold: 5 steg
Video: Аномально вкусно‼️ ЧЕХОСЛОВАЦКИЙ СУП ИЗ ФАРША. Жена Липована в шоке. 2024, November
Anonim
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold

Detta projekt förklarar hur man gör en dekoration som spelar en ljudfil när någon går förbi. Detta kan enkelt uppnås med en dator som kan köra Motion -programmet och en kamera av något slag. I det här fallet använde jag en 20 hög jultomteblåsare. Jag satte upp min Raspeberry PI med kameramodulen i mitt garagefönster och pekade den mot jultomten. Jag gömde en driven utomhushögtalare inuti blåsmallen och jag körde en 25ft aux -sladd klassad för utomhusbruk från PI till den här högtalaren. Jag ställde in Motion -programmet på Pi för att spela en tomtklingande Ho Ho Ho -ljudfil när den upptäckte rörelse med kameran. Det är ganska enkelt att göra och det är kul.

Att köpa de specifika materialen jag använde här skulle förmodligen kosta cirka $ 100 med frakt. Jag skulle inte spendera det för att göra det här om jag inte redan hade allt detta material liggande oanvänt. Detta kan fungera med vilken dator som helst, kameror och alla högtalare så att det kan åstadkommas mycket billigare om du behöver köpa dessa saker.

Tillbehör

  • En dator med Motion -programmet installerat

    Jag använde en Raspberry PI (RPI) 3 Model B

  • Dator ansluten kamera eller nätverkskamera
    • Vilken kamera som helst som Motion -programmet kan använda
    • USB -kamera
    • Nätverkskamera
    • Jag använde denna kameramodul som fästs direkt på RPI
  • En utomhushögtalare

    • Anslut via aux -port
    • USB
    • Jag använde denna Sony SRS-XB01
  • En dekoration som blåsmögel, vad som helst egentligen

    Jag använde en jultomteblåsare som liknade den här

Steg 1: Konfigurera din RPI

Konfigurera din RPI
Konfigurera din RPI

Detta steg är här mestadels för kompletta nybörjare. Den här videon förklarar hur du konfigurerar en Raspberry PI (RPI) bättre än jag kunde. Jag skulle också rekommendera, precis som i videon, att ansluta en trådlös USB, tangentbord + mus och extern bildskärm för installationen. Efter installationen kör jag mitt i mitt garage utan tangentbord + mus och extern bildskärm, men jag lämnar i WIFi -dongeln så att jag kan ssh in i den och starta om och/eller göra ändringar.

Steg 2: Anslut kameran till RPI

Anslut kameran till RPI
Anslut kameran till RPI

Följ instruktionerna för att konfigurera din kamera för din RPI. Jag använde kameramodulen från Adafruit Industries.

  • Anslut och fäst bandkabeln från kameramodulen till kameraporten mellan Ethernet -porten och HDMI -porten med slivkontakterna vända mot HDMI -porten och den blå tejpen vänd mot Ethernet -porten.
  • Om du har en bildskärm ansluten och kör UI (Xserver) kör du Raspberry Pi Configuration -verktyget

    Om fjärr -SSH till rpi från en annan dator, kör rasp -config i din terminal - vilket startar ett terminal UI

  • I Raspberry Config, under fliken Gränssnitt, aktivera kameran.
  • Spara och starta om RPI: n.
  • Vid omstart kör kommandot nedan i en terminal, både detekterade och aktiverade ska returnera som = 1

vgencmode get_camera

Din PI -kameramodul borde fungera nu

Online instruktioner

Steg 3: Installera och testa ljud

Installera och testa ljud
Installera och testa ljud

Ursprungligen för detta projekt drev jag helt enkelt en aux -sladd från PI till en liten batteridriven högtalare. Det råkade ha mycket statisk och batterierna tömdes snabbt. Istället kopplade jag in en USB -enhet som förstärker ljudet och jag körde aux -sladden från aux -utgången på den till en strömförande väderbeständig utomhushögtalare. Detta tog bort det statiska och var högre och inga batterier att oroa sig för. USB -enheten identifierades automatiskt av min RPI utan att några drivrutinsinstallationer krävs.

PI OS levereras med ett program som kallas aplay, men jag föredrar Sox -mjukvarudistributionens spelprogram, så dessa instruktioner installerar Sox och använder det play -kommandot.

Installera Sox

I en terminal på RPI kör du följande svar ja på alla uppmaningar

sudo apt-get install sox

Testa ljud

Ladda ner en kompatibel ljudfil av liten storlek och spara den på din dator. Jag använde santaho3.mp3 sparad i min pi -hemkatalog. För att testa ljudet, anslut din högtalare till RPI och kör det här kommandot:

spela santaho3.mp3

  • Om du hör ljudfilen som spelas upp i högtalaren fungerar ljudet
  • Du kan behöva ändra ljudet internt från HDMI till Analog.

    Instruktioner här

  • Om du använder en USB -ljudenhet skapar du en fil i din hemkatalog som heter.asoundrc

    • Sätt innehållet nedan i den och starta om, påbörja ljudtest
    • pcm.! standard {

      skriv hw -kort 1} ctl.! standard {typ hw -kort 1}

Steg 4: Konfigurera rörelsedetektering för att spela upp ljudfil

Ställ in rörelsedetektering för att spela upp ljudfil
Ställ in rörelsedetektering för att spela upp ljudfil

Programvara som kallas Motion gör det möjligt att installera en eller flera kameror i syfte att köra ett kommando när rörelse detekteras i kamerans vy (er). Det är ganska enkelt att installera och fungerar ganska bra. Det kan också spela in filer när detekterar rörelser, tillåta konfigurering av en webbplats för varje kamera eller en enda webbplats för alla kameror och streaming -servrar för att titta på livestreamar av kamerorna. Detta projekt behöver bara detekterings- och kommandoutlösande förmåga, men jag har konfigurerat en strömningsserver för att kunna titta på en livestream också.

Installera rörelse

I en terminal på RPI kör du kommandot nedan och svarar ja på alla uppmaningar, vänta tills det är klart

sudo apt-get installera rörelse

Ta dig tid att lägga till den nyligen tillagda rörelsesanvändaren i ljudgruppen så att den har behörighet att spela upp ljud genom att ange följande kommando

usermod -a -G ljudrörelse

Konfigurera rörelse för detektion

Vi kommer att redigera rörelsekonfigurationsfilen för att spela upp ljudfilen som vi laddade ner i steget Setup Audio när den upptäcker rörelse på kameran och startar rörelse som en tjänst så den fortsätter att göra det när vi någonsin startar om RPI.

Redigera filen /etc/motion/motion.conf i en terminal som superanvändare

sudo nano/etc/default/motion

Redigera filen /etc/motion/motion.conf i en terminal som superanvändare

sudo nano /etc/motion/motion.conf

Gör och spara följande redigeringar. Många av dessa är standardvärden. Jag tror inte att i mitt fall har mmal_xxx -posterna någon effekt, men jag lämnar dem om någon behöver dem - de gör heller ingen skada. Den här konfigurationen detekterar rörelse på kameran med 40 sekunders intervall, spelar inte in bilder eller video och skapar en webbserver och streaming -server för kameran som skyddas med grundläggande autentisering med användarnamn och lösenord.

demon på

process_id_file /var/run/motion/motion.pid

setup_mode off loggfil /var/log/motion/motion.log log_level 6 log_type all videodevice/dev/video0 v4l2_palette 17 ingång -1 norm 0 frekvens 0 power_line_frequency -1 rotera 0 flip_axis ingen bredd 320 höjd 240 framerate 2 minimum_ram_tid 0 netcam_keepalive avstängning netcam_keepalant off rtsp_user_tcp på mmalcam_name vc.ril.camera auto_brightness av ljusstyrka 0 kontrast 0 mättnad 0 nyans 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter av tröskel 500 tröskel_justera noise_tune på despeckle_filter EedDl smart_mask_speed_ lampa_motor_motor_motor_motor_hastighet_motor_motor_motor_motor_motor_hastighet_larm_körning_motor_motor_motor_motor_motorstid output_pictures off output_debug_pictures off kvalitet 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 sanna timelapse_interval 0 timelapse_mode timelapse_fps dagligen 30 timelapse_codec mpg use_extpipe off sn apshot_intervall 0 lokalisera_rörelse_läge av lokalera_rörelse_stil rutan text_rätt%Y-%m-%d / n%T-%q text_förändringar av text_händelse%Y%m%d%H%M%S text_dubbel av mål_dir/var/lib/rörelse ögonblicksbild_filnamn%v- %Y%m%d%H%M%S-ögonblicksbild picture_filename%v-%Y%m%d%H%M%S-%q film_filnamn%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 en stream_localhost off stream_limit 0 stream_auth_method en stream_authentication: webcontrol_port 8480 webcontrol_localhost off webcontrol_html_output på 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 tyst på on_event_start/usr/bin/play -q --multi -threaded/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Kopiera ljudfilen till ljudfilen till motion home -katalogen och ändra behörigheter på den så motion äger den men alla kan läsa den

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

Starta om RPI -enheten. När du har startat, kör

sudo systemctl status motion.service

Utdata bör innehålla en rad som säger:

Aktiv: aktiv (kör) sedan

Om du ser att denna rörelse körs. Om inte, kolla in/var/log/motion för mer information. Prova att köra:

sudo systemctl start motion.service

Testa rörelsedetektering och ljuduppspelning

Nästan klar. Måste bara kontrollera om rörelse detekteras och ljudet spelar när det är det.

I en terminal gör du följande för att titta på bifogad text till loggfilen

svans -f/var/log/rörelse

Nu:

  • Vinka något framför kameran långsamt
  • Loggfilen ska mata ut den rörelsen detekterades
  • Förhoppningsvis spelar ljudfilen upp genom högtalaren
  • Om så är fallet placerar du RIP i ett fönster med kameralinsen vänd där rörelsen ska detekteras
  • Placera utomhushögtalaren i eller nära dekorationen
  • När folk går förbi blir de hälsade välkomna

Felsökning

Om saker inte fungerar

  • Dubbelkolla att kameran fungerar genom att köra:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Dubbelkolla att ljudet fungerar genom att köra
    • play/var/lib/motion/mtn_dtct_ntfy.mp3
    • om du inte hör ljudfilen

      • kontrollera att utmatningsenheten är din högtalarinställning (analog eller USB)
      • kontrollera volymen
      • kontrollera att behörigheterna på ljudfilen har 3 'r i behörighetssträngen (dvs. rw*rw*rw*)
  • Om allt annat misslyckas är eventuellt rörelse inte korrekt inställd

    Om så är fallet bör vissa onlinesökningar hjälpa eftersom det finns mycket hjälp där ute

Steg 5: Ytterligare kommentarer

ytterligare kommentarer
ytterligare kommentarer

Spela slumpmässiga ljudfiler

Blir uttråkad av samma ljud som spelas om och om igen, blanda det!

  • Spara flera olika ljudfiler med samma namn men ett sekventiellt numeriskt suffix:

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

  • Ändra posten /etc/motion/motion.conf on_event_start enligt följande

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

  • Avsluta och spara filen
  • Starta om rörelsestjänsten

    sudo systemctl starta om motion.service

  • Delen 'shuf -i 1-5 -n 1' (det är bakre fästingar) infogar ett slumpmässigt tal från 1 till 5 ito filnamnet som spelas
  • Så nu när rörelse detekteras kommer någon av fem ljudfiler att spelas upp

Tala istället för att spela

En annan rolig twist är att ställa in en text-till-tal och låta datorn tala en mening till folk som passerar. Jag gillar att använda MaryTTS som motor. Installera och starta Mary TTS-servern och ändra on_event_start-raden som nämns ovan för att skicka in något att säga till gift-servern (dvs. marytts/bin/marytts-submit-text "Hej vän")

Använda IP -nätverkskameror (trådlöst eller på annat sätt)

Rörelseprogrammet kan enkelt stödja nätverkade IP -kameror med hjälp av netcam_url och andra olika netcam_xxx -inställningar. En enkel onlinesökning bör ge vad som behövs.

Blåtand

Om din RPI har Bluetooth inbyggt eller om du har installerat en USB Bluetooth-enhet kan du ansluta högtalaren via Bluetooth och bli av med kabeln.

Begränsa rörelseinspelning till mindre område

Ett av problemen jag hade med den här inställningen är att blåsa buskar och träd samt bilbelysning utlöste rörelsen för lätt. Rörelseprogrammet har inställningar för hur många bildrutor som behöver ändras innan rörelse utlöses och att hantera brus och att använda dessa hjälpte. Jag har inte försökt än, men jag tror att jag kommer att behöva inställningar som också gör att ett visst område i kameravyn kan definieras för rörelsedetektering. Detta bör göra det möjligt att definiera ett område precis nära dekorationen för att utlösa uppspelningen av ljudfilen.

Rekommenderad: