Indholdsfortegnelse:
- Forbrugsvarer
- Trin 1: Konfigurer din RPI
- Trin 2: Tilslut kamera til RPI
- Trin 3: Opsætning og test af lyd
- Trin 4: Konfigurer bevægelsesdetektion for at afspille lydfil
- Trin 5: Yderligere kommentarer
Video: Talking Santa Blowmold: 5 trin
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-31 10:18
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
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
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
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
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
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:
Arduino bliver Talking Tom: 6 trin
Arduino Becoming Talking Tom: Et af mine ældste minder om at bruge en smartphone var at spille 'Talking Tom' -spillet. Spillet var ret simpelt. Der er en kat ved navn Tom, som kan tale, sådan noget. I spillet ville Tom lytte efter input via telefonens mikrofon og derefter gentage
Talking Smart Glass for the Blind: 7 trin
Talking Smart Glass for the Blind: Der findes flere smarte tilbehør såsom smartbriller, smarture osv. På markedet. Men alle er bygget til os. Der er en betydelig mangel på teknologi til at hjælpe fysisk udfordrede. Jeg ville bygge noget, der er
Lav advarselssystemet Talking / Voice Notification: 4 trin
Lav det talende / stemmemeddelelsesadvarselssystem: Dette projekt har vi lavet et talende / stemmemeddelelses- og advarselssystem. Mindst to sensorer kan bruges i dette projekt
RC Santa Sleigh: 10 trin (med billeder)
RC Santa Sleigh: Hej allesammen. I dag vil jeg vise dig, hvordan du laver en foamboard RC Santa Sleigh. Jeg havde elektronikken tilovers fra et fly, der ikke fungerede, og ideen havde været i baghovedet på mig for et stykke tid. Jeg havde en fri dag, og fordi det er juletid
Tiny Cute Santa Toy (Del-2): 3 trin
Tiny Cute Santa Toy (Del-2): Jeg lavede nisse-legetøjet i en tidligere instruerbar, du skulle gøre det før dette projekt. Nu kan vi gøre det bedre