Tabla de contenido:

Molde de soplado de Papá Noel que habla: 5 pasos
Molde de soplado de Papá Noel que habla: 5 pasos

Video: Molde de soplado de Papá Noel que habla: 5 pasos

Video: Molde de soplado de Papá Noel que habla: 5 pasos
Video: HAZLO FACIL ELEGANTE SANTA NAVIDEÑO CON POCO DINERO 2024, Noviembre
Anonim
Hablando de Santa soplado
Hablando de Santa soplado
Hablando de Santa soplado
Hablando de Santa soplado

Este proyecto explica cómo hacer una decoración que reproduzca un archivo de sonido cuando alguien pase. Esto se puede lograr fácilmente con una computadora que pueda ejecutar el programa Motion y una cámara de algún tipo. En este caso utilicé un molde de soplado de Santa Claus de 20 de altura. Configuré mi Raspeberry PI con el módulo de la cámara en la ventana de mi garaje y apunté hacia el molde de soplado de Santa. Escondí un altavoz exterior eléctrico dentro del molde de soplado y pasé un cable auxiliar de 25 pies clasificado para uso en exteriores desde el PI a este altavoz. Configuré el programa Motion en el Pi para reproducir un archivo de sonido Ho Ho Ho que suena a Santa cada vez que detecta movimiento usando la cámara. Es bastante simple de hacer y es muy divertido.

Comprar los materiales específicos que utilicé aquí probablemente costaría alrededor de $ 100 con el envío. No gastaría eso en hacer esto si no tuviera todos estos materiales sin usar. Esto puede funcionar con cualquier computadora, cualquier cámara y cualquier altavoz, por lo que se puede lograr mucho más barato si necesita comprar estas cosas.

Suministros

  • Una computadora con el programa Motion instalado

    Usé una Raspberry PI (RPI) 3 Modelo B

  • Cámara conectada al ordenador o cámara de red

    • Cualquier cámara que pueda usar el programa Motion
    • Cámara USB
    • Cámara de red
    • Usé este módulo de cámara que se conecta directamente al RPI
  • Un altavoz clasificado para exteriores

    • Conéctese a través del puerto auxiliar
    • USB
    • Usé este Sony SRS-XB01
  • Una decoración como un moldeo por soplado, cualquier cosa realmente

    Usé un soplador de Papá Noel muy similar a este

Paso 1: Configure su RPI

Configure su RPI
Configure su RPI

Este paso está aquí principalmente para principiantes completos. Este video explica cómo configurar una Raspberry PI (RPI) mejor que yo. También recomendaría, al igual que en el video, conectar un USB inalámbrico, un teclado + mouse y un monitor externo para la configuración. Una vez configurado, ejecuto el mío en mi garaje sin el teclado + mouse y monitor externo, pero lo dejo en el dongle WIFi para poder acceder a él y reiniciar y / o hacer cambios.

Paso 2: conecte la cámara al RPI

Adjuntar cámara a RPI
Adjuntar cámara a RPI

Siga las instrucciones para configurar su cámara para su RPI. Usé el módulo de cámara de Adafruit Industries.

  • Enchufe y asegure el cable plano del módulo de la cámara en el puerto de la cámara entre el puerto Ethernet y el puerto HDMI con los contactos plateados hacia el puerto HDMI y la cinta azul hacia el puerto Ethernet.
  • Si tiene un monitor conectado y está ejecutando la interfaz de usuario (Xserver), ejecute la herramienta de configuración de Raspberry Pi

    Si es SSH remoto en el rpi desde otra computadora, ejecute rasp-config en su terminal, que iniciará una interfaz de usuario de terminal

  • En Raspberry Config, en la pestaña Interfaces, habilite la Cámara.
  • Guarde y reinicie el RPI.
  • Al reiniciar, ejecute el comando a continuación en una terminal, tanto detectado como habilitado deben regresar como = 1

vgencmode get_camera

Su módulo PI Camera debería estar funcionando ahora

Instrucciones en línea

Paso 3: configuración y prueba de audio

Configuración y prueba de audio
Configuración y prueba de audio

Inicialmente para este proyecto, simplemente pasé un cable auxiliar desde el PI a un pequeño altavoz alimentado por batería. Eso resultó tener mucha estática y las baterías se agotaron rápidamente. En su lugar, conecté un dispositivo USB que amplifica el sonido y pasé el cable auxiliar desde el puerto de salida auxiliar hasta un altavoz exterior resistente a la intemperie. Esto eliminó la estática y fue más fuerte y sin baterías de las que preocuparse. El dispositivo USB fue reconocido automáticamente por mi RPI sin necesidad de instalar controladores.

PI OS viene con un programa llamado aplay, pero yo prefiero el programa play de la distribución del software Sox, así que estas instrucciones instalan Sox y usan su comando play.

Instalar Sox

En una terminal en el RPI, ejecute lo siguiente respondiendo sí a cualquier mensaje

sudo apt-get install sox

Prueba de sonido

Descargue un archivo de sonido compatible de tamaño más pequeño y guárdelo en su computadora. Usé santaho3.mp3 guardado en mi directorio de inicio de pi. Para probar el sonido, conecte su altavoz al RPI y ejecute este comando:

jugar santaho3.mp3

  • Si escucha el archivo de sonido que se reproduce en su altavoz, entonces su sonido está funcionando
  • Es posible que deba cambiar internamente el sonido de HDMI a Analógico.

    Instrucciones aquí

  • Si usa un dispositivo de sonido USB, cree un archivo en su directorio personal llamado.asoundrc

    • Coloque el contenido a continuación y reinicie, comience la prueba de audio
    • pcm.! default {

      escriba hw card 1} ctl.! default {escriba hw card 1}

Paso 4: Configure la detección de movimiento para reproducir archivos de sonido

Configurar la detección de movimiento para reproducir archivos de sonido
Configurar la detección de movimiento para reproducir archivos de sonido

El software llamado Motion permite configurar una o más cámaras con el fin de ejecutar un comando cuando se detecta movimiento en las vistas de las cámaras. Es bastante fácil de configurar y funciona bastante bien. También puede grabar archivos al detectar movimientos, permitir configurar un sitio web para cada cámara o un sitio web único para todas las cámaras, y servidores de transmisión para ver transmisiones en vivo de las cámaras. Este proyecto solo necesita la capacidad de detección y activación de comandos, pero he configurado un servidor de transmisión para poder ver una transmisión en vivo también.

Instalar Motion

En una terminal en el RPI, ejecute el siguiente comando respondiendo sí a cualquier mensaje, espere a que termine

sudo apt-get install motion

Tómese el tiempo ahora para agregar el usuario de movimiento recién agregado al grupo de audio para que tenga permiso para reproducir sonido ingresando el siguiente comando

usermod -a -G movimiento de audio

Configurar movimiento para detección

Editaremos el archivo de configuración de movimiento para reproducir el archivo de sonido que descargamos en el paso Configurar audio cuando detecte movimiento en la cámara e inicie movimiento como un servicio para que continúe haciéndolo siempre que reinicie el RPI.

En una terminal, edite el archivo /etc/motion/motion.conf como superusuario

sudo nano / etc / default / motion

En una terminal, edite el archivo /etc/motion/motion.conf como superusuario

sudo nano /etc/motion/motion.conf

Realice y guarde las siguientes ediciones. Muchos de estos son valores predeterminados. No creo que en mi caso las entradas mmal_xxx tengan ningún efecto, pero las dejo en caso de que alguien las necesite, tampoco hacen daño. Esta configuración detecta movimiento en la cámara en intervalos de 40 segundos, no graba imágenes ni videos, y configura un servidor web y un servidor de transmisión para la cámara protegida con autenticación básica usando un nombre de usuario y contraseña.

demonio en

archivo_id_proceso /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 entrada -1 norma 0 frecuencia 0 power_line_frequency -1 rotar 0 flip_axis ninguno ancho 320 altura 240 framerate 2 mínimo_frame_time 0 netcam_keepalive off netcam_ offtolerant rtsp_uses_tcp en mmalcam_name vc.ril.camera auto_brightness apagado brillo 0 contraste 0 saturación 0 tono 0 roundrobin_frames 1 roundrobin_skip 1 switchfilter off umbral 500reshold_tune off noise_level 22 noise_tune en despeckle_filter EedDl smart_mask_fraspeed 0 lightsoffure_ 0 mínimo 1 evento premotion_potion 120 output_pictures desactivado 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_video_codec mp4 ffmpeg_duplicate_video_codec mp4 ffmpeg_duplicate_interframes timelapse timelapse verdadero apshot_interval 0 Locate_motion_mode desactivado localizar_motion_style cuadro 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-snapshot nombre_archivo_imagen% v-% Y% m% d% H% M% S-% q nombre_archivo_película% v-% Y% m% d% H% M% S nombre_archivo_tiempo % Y% m% d-timelapse ipv6_enabled fuera stream_port 8481 stream_quality 80 stream_motion fuera stream_maxrate 1 stream_localhost fuera stream_limit 0 stream_auth_method 1 stream_authentication: webcontrol_port 8480 webcontrol_localhost fuera webcontrol_html_output en webcontrol_authentication: track_type 0 track_auto fuera track_iomojo_id 0 track_step_angle_x 10 track_step_angle_y 10 track_move_wait 10 track_speed 255 track_stepsize 40 silencioso en on_event_start / usr / bin / play -q --multi-thread / var / lib / motion / notify`shuf -i 1-5 -n 1`.mp3 2> / dev / null

Copie el archivo de audio al archivo de sonido en el directorio de inicio de Motion y cambie los permisos para que Motion lo posea pero todos puedan leerlo

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

Reinicie el dispositivo RPI. Una vez iniciado, ejecute

sudo systemctl status motion.service

La salida debe incluir una línea que diga:

Activo: activo (en ejecución) desde

Si ve que este movimiento se está ejecutando. De lo contrario, consulte / var / log / motion para obtener más detalles. Intenta ejecutar:

sudo systemctl start motion.service

Prueba de detección de movimiento y reproducción de sonido

Casi termino. Solo necesita verificar si se detecta movimiento y el sonido se reproduce cuando lo está.

En una terminal, haga lo siguiente para ver el texto adjunto al archivo de registro

tail -f / var / log / motion

Ahora:

  • Mueva algo frente a la cámara lentamente
  • El archivo de registro debe mostrar que se detectó movimiento
  • Con suerte, el archivo de sonido se reproduce a través del altavoz.
  • Si es así, coloque el RIP en una ventana con la lente de la cámara hacia donde se detecte el movimiento.
  • Coloque el altavoz exterior en o cerca de la decoración.
  • Cuando la gente pase, será recibida.

Solución de problemas

Si las cosas no funcionan

  • Verifique que la cámara esté funcionando ejecutando:

    • raspistill -o test.jpg
    • ls -l test.jpg: si el archivo existe y el tamaño es> 0, la cámara debería estar funcionando
  • Verifique que el audio esté funcionando ejecutando

    • reproducir / var / lib / motion / mtn_dtct_ntfy.mp3
    • si no escucha el archivo de sonido

      • compruebe que el dispositivo de salida sea su configuración de altavoces (analógica o USB)
      • comprobar el volumen
      • Verifique que los permisos en el archivo de sonido tengan 3 'r's en la cadena de permisos (es decir, rw * rw * rw *)
  • Si todo lo demás falla, es posible que el movimiento no esté configurado correctamente

    si este es el caso, algunas búsquedas en línea deberían ayudar, ya que hay mucha ayuda disponible

Paso 5: Comentarios adicionales

Comentarios adicionales
Comentarios adicionales

Reproducir archivos de sonido aleatorios

Si te aburres con el mismo sonido sonando una y otra vez, ¡mézclalo!

  • Guarde varios archivos de sonido diferentes con el mismo nombre pero con un sufijo numérico secuencial:

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

  • Cambie la entrada /etc/motion/motion.conf on_event_start de la siguiente manera

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

  • Salir y guardar el archivo
  • Reinicie el servicio de movimiento

    sudo systemctl reiniciar motion.service

  • La parte `shuf -i 1-5 -n 1` (esas son marcas de retroceso) inserta un número aleatorio del 1 al 5 en el nombre del archivo que se está reproduciendo
  • Así que ahora, cuando se detecte movimiento, se reproducirá cualquiera de los 5 archivos de sonido.

Hablar en lugar de jugar

Otro giro divertido es configurar un Text-to-Speech y hacer que la computadora diga una oración a la gente que pasa. Me gusta usar MaryTTS como motor. Configure e inicie el servidor Mary TTS y cambie la línea on_event_start mencionada anteriormente para enviar algo que decir al servidor marry tts (es decir, marytts / bin / marytts-submit-text "Hola amigo")

Uso de cámaras IP en red (inalámbricas o de otro tipo)

El programa de movimiento puede admitir fácilmente cámaras IP conectadas en red utilizando netcam_url y otras configuraciones de netcam_xxx. Una simple búsqueda en línea debería proporcionar lo que se necesita.

Bluetooth

Si su RPI tiene Bluetooth incorporado o ha instalado un dispositivo USB Bluetooth, entonces puede conectar el altavoz a través de Bluetooth y deshacerse del cable.

Limite la captura de movimiento a un área más pequeña

Uno de los problemas que tuve con esta configuración es que los arbustos y árboles, así como las luces de los automóviles, activaron el movimiento con demasiada facilidad. El programa de movimiento tiene configuraciones para la cantidad de fotogramas que se deben cambiar antes de que se active el movimiento y tiene en cuenta el ruido y su uso. No lo he intentado todavía, pero creo que necesitaré configuraciones que también permitan definir un área específica de la vista de la cámara para la detección de movimiento. Esto debería permitir definir un área cerca de la decoración para activar la reproducción del archivo de sonido.

Recomendado: