Indholdsfortegnelse:

Talking Santa Blowmold: 5 trin
Talking Santa Blowmold: 5 trin

Video: Talking Santa Blowmold: 5 trin

Video: Talking Santa Blowmold: 5 trin
Video: Good Teacher Vs Bad Teacher | Hilarious School Hacks, Funny Moments by TooLala! 2024, Juli
Anonim
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold
Talking Santa Blowmold

Dette projekt forklarer, hvordan man laver en dekoration, der afspiller en lydfil, når nogen går forbi. Dette kan let opnås med en computer, der kan køre Motion -programmet og et kamera af en eller anden art. I dette tilfælde brugte jeg en 20 høj julemandsblæser. Jeg opsatte min Raspeberry PI med kameramodulet i mit garagevindue og pegede den mod julemanden. Jeg skjulte en drevet udendørs højttaler inde i blæseren, og jeg kørte en 25ft aux -ledning bedømt til udendørs brug fra PI til denne højttaler. Jeg konfigurerede Motion -programmet på Pi til at afspille en julemand, der lyder Ho Ho Ho -lydfil, når den registrerede bevægelse ved hjælp af kameraet. Det er ret enkelt at gøre, og det er sjovt.

At købe de specifikke materialer, jeg brugte her, ville sandsynligvis koste omkring $ 100 med forsendelse. Jeg ville ikke bruge det på at lave dette, hvis jeg ikke allerede havde alle disse materialer liggende ubrugte. Dette kan fungere med enhver computer, kameraer og enhver højttaler, så det kan opnås meget billigere, hvis du skal købe disse ting.

Forbrugsvarer

  • En computer med Motion -programmet installeret

    Jeg brugte en Raspberry PI (RPI) 3 Model B

  • Computer tilsluttet kamera eller netværkskamera
    • Ethvert kamera, som Motion -programmet kan bruge
    • USB kamera
    • Netværkskamera
    • Jeg brugte dette kameramodul, der er knyttet direkte til RPI
  • En udendørs højttaler

    • Tilslut via aux -port
    • USB
    • Jeg brugte denne Sony SRS-XB01
  • En dekoration som blæseform, hvad som helst virkelig

    Jeg brugte et julemandsblæsestykke, der ligner meget dette

Trin 1: Konfigurer din RPI

Opsæt din RPI
Opsæt din RPI

Dette trin er her mest for komplette begyndere. Denne video forklarer, hvordan jeg konfigurerer en Raspberry PI (RPI) bedre end jeg kunne. Jeg vil også, som i videoen, anbefale at tilslutte en trådløs USB, tastatur + mus og ekstern skærm til opsætningen. Efter opsætningen kører jeg min i min garage uden tastatur + mus og ekstern skærm, men jeg lader være i WIFi -donglen, så jeg kan ssh ind i den og genstarte og/eller foretage ændringer.

Trin 2: Tilslut kamera til RPI

Tilslut kamera til RPI
Tilslut kamera til RPI

Følg instruktionerne for at konfigurere dit kamera til din RPI. Jeg brugte kameramodulet fra Adafruit Industries.

  • Tilslut båndkablet fra kameramodulet til kameraporten mellem Ethernet -porten og HDMI -porten, med sliverkontakterne vendt mod HDMI -porten og den blå tape mod Ethernet -porten.
  • Hvis du har en skærm tilsluttet og kører UI (Xserver), skal du køre Raspberry Pi -konfigurationsværktøjet

    Hvis ekstern SSH til rpi fra en anden computer, skal du køre rasp -config i din terminal - hvilket starter en terminal UI

  • I Raspberry Config, under fanen Interfaces, skal du aktivere kameraet.
  • Gem og genstart RPI'en.
  • Ved genstart kører kommandoen nedenfor i en terminal, både detekteret og aktiveret skal returnere som = 1

vgencmode get_camera

Dit PI -kamera -modul skal fungere nu

Online instruktioner

Trin 3: Opsætning og test af lyd

Opsætning og test af lyd
Opsætning og test af lyd

Oprindeligt til dette projekt kørte jeg simpelthen en aux -ledning fra PI'en til en lille batteridrevet højttaler. Der skete meget statisk, og batterierne blev hurtigt afladet. I stedet tilsluttede jeg en USB -enhed, der forstærker lyden, og jeg kørte aux -ledningen fra aux -udgangsporten på den til en drevet vejrbestandig udendørs højttaler. Dette fjernede det statiske og var højere og ingen batterier at bekymre sig om. USB -enheden blev automatisk genkendt af min RPI uden nogen driverinstallationer påkrævet.

PI OS leveres med et program kaldet aplay, men jeg foretrækker Sox -softwaredistributionens afspilningsprogram, så disse instruktioner installerer Sox og bruger kommandoen play.

Installer Sox

I en terminal på RPI kører følgende svarende ja til eventuelle prompts

sudo apt-get install sox

Test lyd

Download en kompatibel lydfil af lille størrelse, og gem den på din computer. Jeg brugte santaho3.mp3 gemt i mit pi -hjemmebibliotek. For at teste lyden skal du slutte din højttaler til RPI'en og køre denne kommando:

spil santaho3.mp3

  • Hvis du hører lydfilen afspilles i din højttaler, fungerer din lyd
  • Du skal muligvis internt ændre lyden fra HDMI til Analog.

    Instruktioner her

  • Hvis du bruger en USB -lydenhed, skal du oprette en fil i dit hjemmemappe kaldet.asoundrc

    • Sæt indholdet herunder i det, og genstart, påbegynd lydtest
    • pcm.! standard {

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

Trin 4: Konfigurer bevægelsesdetektion for at afspille lydfil

Konfigurer bevægelsesdetektering for at afspille lydfil
Konfigurer bevægelsesdetektering for at afspille lydfil

Software kaldet Motion gør det muligt at opsætte et eller flere kameraer med det formål at køre en kommando, når der registreres bevægelse i kameraets (r) visninger. Det er ret let at konfigurere og fungerer ret godt. Det kan også optage filer, når det registrerer bevægelser, tillade konfiguration af et websted for hvert kamera eller et enkelt websted for alle kameraer og streaming -servere til at se livestreams af kameraerne. Dette projekt har kun brug for detekterings- og kommandoudløsende evne, men jeg har opsat en streaming -server for også at kunne se en livestream.

Installer bevægelse

I en terminal på RPI'en skal du køre kommandoen herunder og svare ja til eventuelle prompts. Vent på, at den er færdig

sudo apt-get installere bevægelse

Tag dig tid nu til at tilføje den ny tilføjede bevægelsesbruger til lydgruppen, så den har tilladelse til at afspille lyd ved at indtaste følgende kommando

usermod -a -G lydbevægelse

Konfigurer Motion for Detection

Vi redigerer bevægelseskonfigurationsfilen for at afspille den lydfil, vi downloadede i Setup Audio -trin, når den registrerer bevægelse på kameraet og starter bevægelse som en tjeneste, så den fortsætter med at gøre det, når vi nogensinde genstarter RPI'en.

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

sudo nano/etc/default/motion

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

sudo nano /etc/motion/motion.conf

Foretag og gem følgende redigeringer. Mange af disse er standardindstillinger. Jeg tror ikke, at i mit tilfælde har mmal_xxx -posterne nogen effekt, men jeg lader dem være, hvis nogen har brug for dem - de gør heller ingen skade. Denne konfiguration registrerer bevægelse på kameraet i 40 sekunders intervaller, optager ikke billeder eller video og opretter en webserver og streaming -server til kameraet, der er beskyttet med grundlæggende godkendelse ved hjælp af et brugernavn og en adgangskode.

dæmon på

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 input -1 norm 0 frekvens 0 power_line_frequency -1 roter 0 flip_axis ingen bredde 320 højde 240 framerate 2 minimum_ramme_tid 0 netcam_keepalant off_netcheck_alternativ off_netcheck_alternativ off_netcheck_alternativ off rtsp_uses_tcp på mmalcam_name vc.ril.camera auto_brightness off lysstyrke 0 kontrast 0 saturation 0 nuance 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off threshold 500 threshold_tune off noise_leune på despeckle_filter EedDl smart_mask_speed_ light_otion_ minimum_post_længde_længde_længde_længde_længde_længde_motor_motor_motor_motor_længde_maks. 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_tid_tid_tid_tid_tidsforløb_tid_tid_tid_tidsforløb_tidsforløb_tidsforløb_tidsforløb_tid_tid_tid_tid_tidsforløb_tid_tid apshot_interval 0 find_motion_mode fra box_motion_style boks text_right%Y-%m-%d / n%T-%q tekst_ændrer off text_event%Y%m%d%H%M%S tekst_dubbel off target_dir/var/lib/motion snapshot_filnavn%v- %Y%m%d%H%M%S-snapshot billede_filnavn%v-%Y%m%d%H%M%S-%q filmfilnavn%v-%Y%m%d%H%M%S timelapse_filnavn % Y% m% d-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 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 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

Kopiér lydfilen til lydfilen til hjemmets bibliotek og bevæg tilladelser på den, så motion ejer den, men alle kan læse 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

Genstart RPI -enheden. Når den er startet, skal du køre

sudo systemctl status motion.service

Output skal indeholde en linje, der siger:

Aktiv: aktiv (kører) siden

Hvis du ser, at denne bevægelse kører. Hvis ikke, tjek/var/log/motion for detaljer. Prøv at køre:

sudo systemctl start motion.service

Test bevægelsesdetektion og lydafspilning

Næsten færdig. Skal bare kontrollere, om der registreres bevægelse, og lyden afspilles, når den er.

Gør følgende i en terminal for at se vedhæftet tekst til logfilen

hale -f/var/log/bevægelse

Nu:

  • Vink noget foran kameraet langsomt
  • Logfilen skulle udsende den bevægelse blev registreret
  • Forhåbentlig afspilles lydfilen gennem højttaleren
  • Placer i så fald RIP i et vindue med kameralinsen vendt mod den bevægelse, der skal registreres
  • Placer den udendørs højttaler i eller i nærheden af dekorationen
  • Når folk går forbi, bliver de mødt

Fejlfinding

Hvis tingene ikke virker

  • Dobbelttjek, at kameraet fungerer ved at udføre:

    • raspistill -o test.jpg
    • ls -l test-j.webp" />
  • Dobbelttjek, at lyden fungerer ved at udføre

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

      • Kontroller, at outputenheden er din højttaleropsætning (analog eller USB)
      • tjek lydstyrken
      • Kontroller, at tilladelserne på lydfilen har 3 'r'er i tilladelsesstrengen (dvs. rw*rw*rw*)
  • Hvis alt andet fejler, er muligvis bevægelse ikke konfigureret korrekt

    hvis dette er tilfældet, bør nogle online søgninger hjælpe, da der er meget hjælp derude

Trin 5: Yderligere kommentarer

Yderligere kommentarer
Yderligere kommentarer

Afspil tilfældige lydfiler

Keder dig med den samme lyd, der spiller igen og igen, bland det op!

  • Gem flere forskellige lydfiler med samme navn, men et sekventielt numerisk suffiks:

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

  • Skift posten /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

  • Afslut og gem filen
  • Genstart bevægelsestjenesten

    sudo systemctl genstart motion.service

  • Delen `shuf -i 1-5 -n 1` (det er rygflåter) indsætter et tilfældigt tal fra 1 til 5 ito det filnavn, der afspilles
  • Så når der registreres bevægelse, afspilles en af 5 lydfiler

Taler i stedet for at spille

Et andet sjovt twist er at opsætte en tekst-til-tale og få computeren til at tale en sætning til folk, der går forbi. Jeg kan godt lide at bruge MaryTTS som motor. Konfigurer og start Mary TTS-serveren, og ændr on_event_start-linjen nævnt ovenfor for at indsende noget at sige til gifte tts-serveren (dvs. marytts/bin/marytts-submit-tekst "Hej ven")

Brug af IP -netværkskameraer (trådløst eller på anden måde)

Bevægelsesprogrammet kan let understøtte IP -kameraer i netværk ved hjælp af netcam_url og andre forskellige netcam_xxx -indstillinger. En simpel onlinesøgning bør give, hvad der er nødvendigt.

Bluetooth

Hvis din RPI har indbygget Bluetooth, eller du har installeret en USB Bluetooth-enhed, kan du tilslutte højttaleren via Bluetooth og slippe af med ledningen.

Begræns motion capture til mindre område

Et af de problemer, jeg havde med denne opsætning, er at blæse buske og træer samt billys, der alle udløste bevægelsen for let. Bevægelsesprogrammet har indstillinger for, hvor mange rammer der skal ændres, før bevægelse udløses, og det hjælper med at tage højde for støj og bruge disse. Jeg har ikke prøvet endnu, men jeg tror, jeg skal bruge indstillinger, der også gør det muligt at definere et bestemt område af kameravisningen til bevægelsesdetektering. Dette bør gøre det muligt at definere et område lige i nærheden af dekorationen for at udløse afspilningen af lydfilen.

Anbefalede: