Innholdsfortegnelse:

Talking Santa Blowmold: 5 trinn
Talking Santa Blowmold: 5 trinn

Video: Talking Santa Blowmold: 5 trinn

Video: Talking Santa Blowmold: 5 trinn
Video: Тест каравана в -25° . Ночёвка зимой. Как не замёрзнуть? 2024, November
Anonim
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold

Dette prosjektet forklarer hvordan du lager en dekorasjon som spiller en lydfil når noen går forbi. Dette kan enkelt oppnås med en datamaskin som kan kjøre Motion -programmet og et kamera av noe slag. I dette tilfellet brukte jeg en 20 høy julenisseblåsemaskin. Jeg satte opp Raspeberry PI -en min med kameramodulen i garasjevinduet og pekte den mot julenissen. Jeg gjemte en drevet utendørshøyttaler inne i blåseringen og jeg kjørte en 25ft hjelpekabel klassifisert for utendørs bruk fra PI til denne høyttaleren. Jeg konfigurerte Motion -programmet på Pi for å spille av en julenissende Ho Ho Ho -lydfil når den oppdaget bevegelse ved hjelp av kameraet. Det er ganske enkelt å gjøre og det er morsomt.

Å kjøpe de spesifikke materialene jeg brukte her ville trolig koste rundt $ 100 med frakt. Jeg ville ikke brukt det på å lage dette hvis jeg ikke allerede hadde alt dette materialet liggende ubrukt. Dette kan fungere med hvilken som helst datamaskin, kameraer og hvilken som helst høyttaler, så det kan oppnås mye billigere hvis du trenger å kjøpe disse tingene.

Rekvisita

  • En datamaskin med Motion -programmet installert

    Jeg brukte en Raspberry PI (RPI) 3 Model B

  • Datamaskinkoblet kamera eller nettverkskamera
    • Ethvert kamera som Motion -programmet kan bruke
    • USB -kamera
    • Nettverkskamera
    • Jeg brukte denne kameramodulen som festes direkte til RPI
  • En utendørs høyttaler

    • Koble til via aux -port
    • USB
    • Jeg brukte denne Sony SRS-XB01
  • En dekorasjon som blowmold, hva som helst egentlig

    Jeg brukte et julemannsblåsemaskin som ligner veldig på denne

Trinn 1: Konfigurer RPI -en

Sett opp RPI -en din
Sett opp RPI -en din

Dette trinnet er her hovedsakelig for komplette nybegynnere. Denne videoen forklarer hvordan du konfigurerer en Raspberry PI (RPI) bedre enn jeg kunne. Jeg vil også anbefale, som i videoen, å koble til en trådløs USB, tastatur + mus og ekstern skjerm for oppsettet. Etter oppsettet kjører jeg min i garasjen min uten tastatur + mus og ekstern skjerm, men jeg lar være i WIFi -dongelen slik at jeg kan ssh inn i den og starte på nytt og/eller gjøre endringer.

Trinn 2: Fest kameraet til RPI

Fest kameraet til RPI
Fest kameraet til RPI

Følg instruksjonene for å sette opp kameraet for RPI -en. Jeg brukte kameramodulen fra Adafruit Industries.

  • Plugg og fest båndkabelen fra kameramodulen til kameraporten mellom Ethernet -porten og HDMI -porten med sliverkontaktene vendt mot HDMI -porten og den blå tapen mot Ethernet -porten.
  • Hvis du har en skjerm tilkoblet og kjører brukergrensesnittet (Xserver), kjører du Raspberry Pi Configuration -verktøyet

    Hvis ekstern SSH til rpi fra en annen datamaskin, kjører du rasp -config i terminalen din - som starter et terminalgrensesnitt

  • I Raspberry Config, under kategorien Grensesnitt, aktiver kameraet.
  • Lagre og start RPI -en på nytt.
  • Ved omstart kjører kommandoen nedenfor i en terminal, både oppdaget og aktivert skal returnere som = 1

vgencmode get_camera

PI -kameramodulen din skal fungere nå

Online instruksjoner

Trinn 3: Oppsett og test lyd

Oppsett og test lyd
Oppsett og test lyd

I utgangspunktet for dette prosjektet kjørte jeg ganske enkelt en ekstra ledning fra PI til en liten batteridrevet høyttaler. Det var tilfeldigvis mye statisk og batteriene tappet raskt. I stedet koblet jeg til en USB -enhet som forsterker lyden, og jeg kjørte aux -ledningen fra aux -utgangsporten på den til en drevet værbestandig utendørs høyttaler. Dette fjernet det statiske og var høyere og ingen batterier å bekymre seg for. USB -enheten ble automatisk gjenkjent av min RPI uten at det var nødvendig med driverinstallasjoner.

PI OS kommer med et program som kalles aplay, men jeg foretrekker Sox -programvaredistribusjonens spillprogram, så disse instruksjonene installerer Sox og bruker det play -kommandoen.

Installer Sox

I en terminal på RPI kjører du følgende og svarer ja på spørsmål

sudo apt-get install sox

Test lyd

Last ned en kompatibel lydfil av liten størrelse og lagre den på datamaskinen din. Jeg brukte santaho3.mp3 lagret i min pi -hjemmekatalog. For å teste lyden, koble høyttaleren til RPI og kjør denne kommandoen:

spill santaho3.mp3

  • Hvis du hører lydfilen som spilles av i høyttaleren, fungerer lyden
  • Du må kanskje internt endre lyden fra HDMI til Analog.

    Instruksjoner her

  • Hvis du bruker en USB -lydenhet, må du opprette en fil i hjemmekatalogen som heter.asoundrc

    • Sett innholdet nedenfor i den og start på nytt, start lydtesten
    • pcm.! standard {

      type hw -kort 1} ctl.! standard {type hw -kort 1}

Trinn 4: Sett opp bevegelsesdeteksjon for å spille av lydfil

Sett opp bevegelsesdeteksjon for å spille av lydfil
Sett opp bevegelsesdeteksjon for å spille av lydfil

Programvare som kalles Motion, lar et eller flere kameraer settes opp med det formål å kjøre en kommando når det oppdages bevegelse i kamera (r). Det er ganske enkelt å sette opp og fungerer ganske bra. Det kan også ta opp filer når det oppdager bevegelser, tillate konfigurering av et nettsted for hvert kamera eller et enkelt nettsted for alle kameraer og streaming -servere for å se direktesendinger av kameraene. Dette prosjektet trenger bare oppdagelses- og kommandoutløsende evne, men jeg har satt opp en streaming -server for å kunne se en direktesending også.

Installer Motion

I en terminal på RPI, kjører du kommandoen nedenfor og svarer ja på alle spørsmål, vent på at den er ferdig

sudo apt-get install motion

Ta deg tid til å legge til den nylig tilføyde bevegelsesbrukeren i lydgruppen, slik at den har tillatelse til å spille av lyd ved å skrive inn følgende kommando

brukermodus -a -G lydbevegelse

Konfigurer Motion for Detection

Vi redigerer bevegelseskonfigurasjonsfilen for å spille av lydfilen vi lastet ned i trinnet Setup Audio når den oppdager bevegelse på kameraet og starter bevegelse som en tjeneste, så den fortsetter å gjøre det når vi starter RPI -en.

Rediger filen /etc/motion/motion.conf i en terminal som superbruker

sudo nano/etc/default/motion

Rediger filen /etc/motion/motion.conf i en terminal som superbruker

sudo nano /etc/motion/motion.conf

Gjør og lagre følgende redigeringer. Mange av disse er standard. Jeg tror ikke at i mitt tilfelle har mmal_xxx -oppføringene noen effekt, men jeg lar dem være i tilfelle noen trenger dem - de skader heller ikke. Denne konfigurasjonen oppdager bevegelse på kameraet i 40 sekunders intervaller, tar ikke opp bilder eller video, og setter opp en webserver og streaming -server for kameraet som er beskyttet med grunnleggende autentisering ved hjelp av et brukernavn og passord.

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 inngang -1 norm 0 frekvens 0 power_line_frequency -1 roter 0 flip_axis ingen bredde 320 høyde 240 framerate 2 minimum_ramme_tid 0 netcam_keepalant av netcam_keepalant off_net rtsp_user_tcp på mmalcam_name vc.ril.camera auto_brightness av lysstyrke 0 kontrast 0 metning 0 fargetone 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter av terskel 500 threshold_tune off noise_level 22 noise_tune på despeckle_filter EedDl smart_mask_speed 0 light_itch_post_ event_post_moment_motor_motor_motor_motor_motor_motor_motor_motor_motor_motor_motor_motor_måler_motor_motor_motor_måler 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 timepause_tid_tid_tid_tid_tid_tid_tid_tidspunkt_tid_tid_tid_tidspunkt_tid_tid_tidspunkt_tid_tid_tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjør tid_kjørtid apshot_interval 0 lokaliseringsbevegelse_modus av lokaliseringsbevegelsesstil-tekst_rett%Y-%m-%d / n%T-%q tekst_endringer av tekst_event%Y%m%d%H%M%S tekst_doble av mål_dir/var/lib/bevegelse øyeblikksbilde_filnavn%v- %Y%m%d%H%M%S-øyeblikksbilde 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 off stream_port 8481 stream_quality 80 stream_motion av stream_maxrate en stream_localhost av stream_limit 0 stream_auth_method en stream_authentication: webcontrol_port 8480 webcontrol_localhost av webcontrol_html_output på webcontrol_authentication: track_type 0 track_auto av track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 stille på on_event_start/usr/bin/play -q --multi -threaded/var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null

Kopier lydfilen til lydfilen til hjemmekatalogen for bevegelser og endre tillatelser på den, så bevegelse eier den, men alle kan lese 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

Start RPI -enheten på nytt. Etter oppstart, kjør

sudo systemctl status motion.service

Produksjonen bør inneholde en linje som sier:

Aktiv: aktiv (kjører) siden

Hvis du ser at denne bevegelsen kjører. Hvis ikke, sjekk ut/var/log/motion for detaljer. Prøv å kjøre:

sudo systemctl start motion.service

Test bevegelsesdeteksjon og lydavspilling

Nesten ferdig. Bare må sjekke om det oppdages bevegelse og lyden spiller når den er.

Gjør følgende i en terminal for å se vedlagt tekst til loggfilen

hale -f/var/log/bevegelse

Nå:

  • Vink noe sakte foran kameraet
  • Loggfilen skal sende ut at bevegelsen ble oppdaget
  • Forhåpentligvis spiller lydfilen gjennom høyttaleren
  • I så fall plasser RIP i et vindu med kameralinsen vendt mot bevegelsen som skal detekteres
  • Plasser utendørshøyttaleren i eller i nærheten av dekorasjonen
  • Når folk går forbi vil de bli hilst

Feilsøking

Hvis ting ikke fungerer

  • Dobbeltsjekk at kameraet fungerer ved å utføre:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Dobbeltsjekk at lyden fungerer ved å utføre

    • play/var/lib/motion/mtn_dtct_ntfy.mp3
    • hvis du ikke hører lydfilen

      • sjekk at utgangsenheten er høyttaleroppsettet ditt (analogt eller USB)
      • sjekk volumet
      • sjekk at tillatelsene på lydfilen har 3 r i tillatelsestrengen (dvs. rw*rw*rw*)
  • Hvis alt annet mislykkes, er muligens bevegelse ikke riktig konfigurert

    Hvis dette er tilfelle, bør noen online søk hjelpe, da det er mye hjelp der ute

Trinn 5: Ytterligere kommentarer

Ytterligere kommentarer
Ytterligere kommentarer

Spill av tilfeldige lydfiler

Bli lei av den samme lyden som spilles igjen og igjen, bland det!

  • Lagre flere forskjellige lydfiler med samme navn, men et sekvensielt numerisk suffiks:

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

  • Endre oppføringen /etc/motion/motion.conf on_event_start som følger

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

  • Avslutt og lagre filen
  • Start bevegelsestjenesten på nytt

    sudo systemctl start motion.service på nytt

  • Delen `shuf -i 1-5 -n 1 '(det er ryggmerker) setter inn et tilfeldig tall fra 1 til 5 ito filnavnet som spilles av
  • Så nå når det oppdages bevegelse, vil en av fem lydfiler spille

Snakker i stedet for å spille

En annen morsom vri er å sette opp en tekst-til-tale og la datamaskinen snakke en setning til folk som går forbi. Jeg liker å bruke MaryTTS som motor. Sett opp og start Mary TTS-serveren og endre on_event_start-linjen som er nevnt ovenfor for å sende inn noe å si til gifte tts-serveren (dvs. marytts/bin/marytts-submit-tekst "Hei venn")

Bruke IP -nettverkskameraer (trådløst eller på annen måte)

Bevegelsesprogrammet kan enkelt støtte IP -kameraer i nettverk ved hjelp av netcam_url og andre forskjellige netcam_xxx -innstillinger. Et enkelt online søk bør gi det du trenger.

blåtann

Hvis RPI-en har Bluetooth innebygd eller du har installert en USB Bluetooth-enhet, kan du koble høyttaleren via Bluetooth og bli kvitt ledningen.

Begrens bevegelsesopptak til mindre område

Et av problemene jeg hadde med dette oppsettet er å blåse busker og trær, samt billys som alle utløste bevegelsen for lett. Bevegelsesprogrammet har innstillinger for hvor mange rammer som må endres før bevegelse utløses, og det hjelper å ta hensyn til støy og bruk av disse. Jeg har ikke prøvd ennå, men jeg tror jeg vil trenge innstillinger som også lar deg definere et bestemt område av kameravisningen for bevegelsesdeteksjon. Dette bør tillate å definere et område like i nærheten av dekorasjonen for å utløse avspillingen av lydfilen.

Anbefalt: