Sommario:
- Forniture
- Passaggio 1: imposta il tuo RPI
- Passaggio 2: collegare la fotocamera all'RPI
- Passaggio 3: configurazione e test dell'audio
- Passaggio 4: imposta il rilevamento del movimento per riprodurre il file audio
- Passaggio 5: commenti aggiuntivi
Video: Blowmold parlante di Babbo Natale: 5 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-31 10:21
Questo progetto spiega come realizzare una decorazione che riproduca un file audio quando passa qualcuno. Questo può essere facilmente realizzato con un computer in grado di eseguire il programma Motion e una fotocamera di qualche tipo. In questo caso ho usato uno stampo di Babbo Natale alto 20 . Ho installato il mio Raspeberry PI con il modulo della fotocamera nella finestra del mio garage e l'ho puntato verso lo stampo di Babbo Natale. Ho nascosto un altoparlante esterno alimentato all'interno dello stampo e ho collegato un cavo aux di 25 piedi valutato per uso esterno dal PI a questo altoparlante. Ho impostato il programma Motion sul Pi per riprodurre un file audio Ho Ho Ho che suona Babbo Natale ogni volta che rileva un movimento utilizzando la fotocamera. È piuttosto semplice da fare ed è molto divertente.
Acquistare i materiali specifici che ho usato qui probabilmente costerebbe circa $ 100 con spedizione. Non lo spenderei per realizzarlo se non avessi già tutti questi materiali in giro inutilizzati. Questo può funzionare con qualsiasi computer, qualsiasi fotocamera e qualsiasi altoparlante, quindi può essere realizzato in modo molto più economico se è necessario acquistare queste cose.
Forniture
-
Un computer con installato il programma Motion
Ho usato un Raspberry PI (RPI) 3 Modello B
-
Fotocamera collegata al computer o telecamera di rete
- Qualsiasi telecamera che il programma Motion può utilizzare
- Fotocamera USB
- Telecamera di rete
- Ho usato questo modulo fotocamera che si collega direttamente all'RPI
-
Un diffusore per esterni
- Connetti tramite porta aux
- USB
- Ho usato questo Sony SRS-XB01
-
Una decorazione come il soffiaggio, qualsiasi cosa davvero
Ho usato uno stampo di Babbo Natale molto simile a questo
Passaggio 1: imposta il tuo RPI
Questo passaggio è qui principalmente per principianti assoluti. Questo video spiega come configurare un Raspberry PI (RPI) meglio di quanto potrei. Consiglierei anche, come nel video, di collegare un USB wireless, una tastiera + un mouse e un monitor esterno per l'installazione. Una volta configurato, eseguo il mio nel mio garage senza tastiera + mouse e monitor esterno, ma lascio il dongle Wi-Fi in modo da poterlo inserire e riavviare e/o apportare modifiche.
Passaggio 2: collegare la fotocamera all'RPI
Segui le istruzioni per configurare la fotocamera per il tuo RPI. Ho usato il modulo Camera di Adafruit Industries.
- Collega e fissa il cavo a nastro dal modulo della fotocamera alla porta della fotocamera tra la porta Ethernet e la porta HDMI con i contatti a nastro rivolti verso la porta HDMI e il nastro blu rivolto verso la porta Ethernet.
-
Se hai un monitor collegato e stai eseguendo l'interfaccia utente (Xserver), esegui lo strumento di configurazione Raspberry Pi
Se SSH remoto nell'rpi da un altro computer, esegui rasp-config nel tuo terminale, che avvierà un'interfaccia utente del terminale
- In Raspberry Config, nella scheda Interfacce, abilita la fotocamera.
- Salva e riavvia l'RPI.
- Al riavvio, esegui il comando seguente in un terminale, sia rilevato che abilitato dovrebbe restituire come = 1
vgencmode get_camera
Il tuo modulo PI Camera dovrebbe funzionare ora
Istruzioni in linea
Passaggio 3: configurazione e test dell'audio
Inizialmente per questo progetto ho semplicemente collegato un cavo aux dal PI a un piccolo altoparlante alimentato a batteria. È successo che c'era un sacco di elettricità statica e le batterie si scaricavano rapidamente. Invece ho collegato un dispositivo USB che amplifica il suono e ho fatto passare il cavo aux dalla porta di uscita aux su di esso a un altoparlante esterno alimentato resistente alle intemperie. Questo ha rimosso l'elettricità statica ed era più rumoroso e senza batterie di cui preoccuparsi. Il dispositivo USB è stato riconosciuto automaticamente dal mio RPI senza che fosse richiesta l'installazione di driver.
PI OS viene fornito con un programma chiamato aplay, ma preferisco il programma di riproduzione della distribuzione del software Sox, quindi queste istruzioni installano Sox e usano il suo comando di riproduzione.
Installa Sox
In un terminale sull'RPI eseguire quanto segue rispondendo sì a qualsiasi richiesta
sudo apt-get install sox
Prova suono
Scarica un file audio compatibile di piccole dimensioni e salvalo sul tuo computer. Ho usato santaho3.mp3 salvato nella mia home directory pi. Per testare il suono, collega il tuo altoparlante all'RPI ed esegui questo comando:
gioca santaho3.mp3
- Se senti il file audio riprodotto nell'altoparlante, significa che l'audio funziona
-
Potrebbe essere necessario modificare internamente il suono da HDMI ad analogico.
Istruzioni qui
-
Se utilizzi un dispositivo audio USB, crea un file nella tua home directory chiamato.asoundrc
- Inserisci il contenuto qui sotto e riavvia, inizia il test audio
-
pcm.!default {
digita hw card 1 } ctl.!default { digita hw card 1 }
Passaggio 4: imposta il rilevamento del movimento per riprodurre il file audio
Il software denominato Motion consente di configurare una o più telecamere allo scopo di eseguire un comando quando viene rilevato un movimento nella vista o nelle viste della telecamera. È abbastanza facile da configurare e funziona abbastanza bene. Può anche registrare file durante il rilevamento di movimenti, consentire la configurazione di un sito Web per ciascuna telecamera o un singolo sito Web per tutte le telecamere e server di streaming per guardare i flussi live delle telecamere. Questo progetto richiede solo la capacità di rilevamento e attivazione dei comandi, ma ho configurato un server di streaming per poter guardare anche un live streaming.
Installa movimento
In un terminale sull'RPI, esegui il comando seguente rispondendo sì a qualsiasi richiesta, attendi che finisca
sudo apt-get install motion
Prenditi del tempo ora per aggiungere l'utente di movimento appena aggiunto al gruppo audio in modo che abbia il permesso di riprodurre l'audio inserendo il seguente comando
usermod -a -G movimento audio
Configura il movimento per il rilevamento
Modificheremo il file di configurazione del movimento per riprodurre il file audio che abbiamo scaricato nel passaggio Configurazione audio quando rileva il movimento sulla telecamera e avvia il movimento come servizio in modo che continui a farlo quando si riavvia l'RPI.
In un terminale modifica il file /etc/motion/motion.conf come super utente
sudo nano /etc/default/motion
In un terminale modifica il file /etc/motion/motion.conf come super utente
sudo nano /etc/motion/motion.conf
Apporta e salva le seguenti modifiche. Molti di questi sono valori predefiniti. Non penso che nel mio caso le voci mmal_xxx abbiano alcun effetto, ma le lascio nel caso in cui qualcuno ne abbia bisogno - anche loro non fanno male. Questa configurazione rileva il movimento sulla telecamera a intervalli di 40 secondi, non registra immagini o video e configura un server Web e un server di streaming per la telecamera protetti con autenticazione di base utilizzando un nome utente e una password.
demone acceso
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 frequency 0 power_line_frequency -1 ruotare 0 flip_axis nessuno width 320 height 240 framerate 2 minimo_frame_time 0 netcam_keepalive off netcam_tolerant_check off rtsp_uses_tcp on mmalcam_name vc.ril.camera auto_brightness off luminosità 0 contrasto 0 saturazione 0 hue 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off soglia 500 soglia_tune off noise_level 22 noise_tune on despeckle_filter 40 epmotemulation_mask_motion_speed_frame 0 lightcaptime_maxframe 0 minimo event 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 true timelapse_pipet mpgmp timelapse_interval giornaliero off_lapse time_modeps time_codec 0 ffmpeg_video_codec mp4 ffmpeg_duplicate_frames true timelapse_pipet lapsed time_codeps daily timelapse_interval 0 time_mode 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-istantanea nome_file immagine %v-%Y%m%d%H%M%S-%q nome_file filmato %v-%Y%m%d%H%M%S nome_file timelapse %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 su webcontrol_html_output 10 trackyit_authentication 10 trackstep_step_step_size_trackjotrack_step_tangle_io track_type quiet on on_event_start /usr/bin/play -q --multi-threaded /var/lib/motion/notify`shuf -i 1-5 -n 1`.mp3 2>/dev/null
Copia il file audio nel file audio nella directory home di motion e modifica i permessi su di esso in modo che motion lo possieda ma tutti possano leggerlo
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
Riavvia il dispositivo RPI. Una volta avviato, esegui
sudo systemctl status motion.service
L'output dovrebbe includere una riga che dice:
Attivo: attivo (in esecuzione) dal
Se vedi che questo movimento è in esecuzione. In caso contrario, controlla /var/log/motion per i dettagli. Prova a eseguire:
sudo systemctl start motion.service
Prova il rilevamento del movimento e la riproduzione del suono
Quasi fatto. Ho solo bisogno di controllare se il movimento viene rilevato e il suono viene riprodotto quando lo è.
In un terminale, fai quanto segue per guardare il testo aggiunto al file di registro
tail -f /var/log/movimento
Ora:
- Agita lentamente qualcosa davanti alla telecamera
- Il file di registro dovrebbe mostrare che il movimento è stato rilevato
- Si spera che il file audio venga riprodotto attraverso l'altoparlante
- In tal caso, posizionare il RIP in una finestra con l'obiettivo della fotocamera rivolto verso il punto in cui si desidera rilevare il movimento
- Posiziona l'altoparlante esterno dentro o vicino alla decorazione
- Quando le persone passano saranno salutate
Risoluzione dei problemi
Se le cose non funzionano
-
Ricontrolla che la fotocamera funzioni eseguendo:
- raspistill -o test.jpg
- ls -l test-j.webp" />
-
Ricontrolla che l'audio funzioni eseguendo
- riproduci /var/lib/motion/ mtn_dtct_ntfy.mp3
-
se non si sente il file audio
- controlla che il dispositivo di output sia la configurazione degli altoparlanti (analogico o USB)
- controlla il volume
- controlla che i permessi sul file audio abbiano 3 'r nella stringa dei permessi (cioè rw*rw*rw*)
-
Se tutto il resto fallisce, è possibile che il movimento non sia impostato correttamente
se questo è il caso, alcune ricerche online dovrebbero aiutare in quanto c'è molto aiuto là fuori
Passaggio 5: commenti aggiuntivi
Riproduci file audio casuali
Annoiarsi con lo stesso suono che suona ancora e ancora, mescolalo!
-
Salva diversi file audio con lo stesso nome ma un suffisso numerico sequenziale:
soundFile1.mp3, soundFile2.mp3, soundFile3.mp3, soundFile4.mp3, soundFile5.mp3,
-
Modificare la voce /etc/motion/motion.conf on_event_start come segue
on_event_start play -q --multi-threaded soundFile`shuf -i 1-5 -n 1`.mp3 2>/dev/null
- Esci e salva il file
-
Riavvia il servizio di movimento
sudo systemctl restart motion.service
- La parte `shuf -i 1-5 -n 1` (quelli sono back tick) inserisce un numero casuale da 1 a 5 i nel nome del file in riproduzione
- Quindi ora, quando viene rilevato un movimento, verrà riprodotto uno qualsiasi dei 5 file audio
Parlare invece di giocare
Un'altra svolta divertente è quella di impostare un Text-to-Speech e fare in modo che il computer pronunci una frase alle persone che passano. Mi piace usare MaryTTS come motore. Imposta e avvia il server Mary TTS e cambia la riga on_event_start menzionata sopra per inviare qualcosa da dire al server Mary TTS (es. marytts/bin/marytts-submit-text "Hello friend")
Utilizzo di telecamere di rete IP (wireless o altro)
Il programma di movimento può supportare facilmente le telecamere IP in rete utilizzando netcam_url e altre varie impostazioni netcam_xxx. Una semplice ricerca online dovrebbe fornire ciò che è necessario.
Bluetooth
Se il tuo RPI ha il Bluetooth integrato o hai installato un dispositivo Bluetooth USB, puoi collegare l'altoparlante tramite Bluetooth ed eliminare il cavo.
Limita la cattura del movimento a un'area più piccola
Uno dei problemi che ho avuto con questa configurazione è stato il soffiare arbusti e alberi, nonché le luci delle auto, che hanno innescato il movimento troppo facilmente. Il programma di movimento ha impostazioni per quanti fotogrammi devono essere modificati prima che il movimento venga attivato e tiene conto del rumore e l'utilizzo di questi ha aiutato. Non ho ancora provato, ma penso che avrò bisogno di impostazioni che consentano anche di definire un'area specifica della vista della telecamera per il rilevamento del movimento. Questo dovrebbe consentire di definire un'area proprio vicino alla decorazione per attivare la riproduzione del file audio.
Consigliato:
L'auto di Babbo Natale: 6 passi
Auto di Babbo Natale: ecco un piccolo progetto divertente che ho realizzato durante le vacanze di Natale. È semplice e facile da costruire, è controllato tramite una connessione WiFi e un telefono o tablet Android. Il microcontrollore è un ESP8266 su una scheda Wemos D1-mini, ha l'installazione MicroPython
Modulo Arduino PCB di Babbo Natale: 5 passaggi
Modulo Arduino PCB Babbo Natale: il Natale è arrivato e Silícios Lab è felice di offrirti il meglio. Questo Natale 2019 offriamo un modulo Babbo Natale per Arduino. Attraverso questo modulo, sarai in grado di controllare la mano, gli occhi e il cofano di Babbo Natale. Inoltre, tu c
Cappello Parlante di Babbo Natale: 10 Passi (con Immagini)
Cappello Parlante di Babbo Natale: abbiamo lavorato a stretto contatto con l'officina di Babbo Natale per offrirti questa innovazione nella comunicazione delle liste cattive o simpatiche. Ora puoi controllare in tempo reale se le tue buone e cattive azioni hanno influito sulla tua posizione nella lista dei cattivi o dei simpatici di Babbo Natale! Un progetto divertente
Slitta di Babbo Natale RC: 10 passi (con immagini)
RC Santa Sleigh: Ciao a tutti. Oggi vi mostrerò come realizzare una tavola di schiuma RC Santa Sleigh. Avevo l'elettronica avanzata da un aereo che non funzionava, e l'idea era nella mia mente per un po. Ho avuto un giorno libero, e dato che è Natale io
Piccolo giocattolo carino di Babbo Natale (parte 2): 3 passaggi
Tiny Cute Santa Toy (Part-2): ho realizzato il giocattolo di Babbo Natale in un istruibile in precedenza, avresti bisogno di farlo prima di questo progetto. Ora lo miglioriamo