Tabla de contenido:
- Suministros
- Paso 1: Paso 1: Decapitar
- Paso 2: Paso 2: agregar Smart
- Paso 3: Paso 3: Llénela
- Paso 4: Paso 4: Configura la Pi
- Paso 5: Paso 5: Mover la cabeza
- Paso 6: Paso 6: Haciéndolo ulular
- Paso 7: Paso 7: Transmita el video desde el Pi
- Paso 8: Paso 8: Detección de cuerpos
- Paso 9: Paso 9: Envío de notificaciones de zombies
- Paso 10: ¡Qué puntazo
Video: Zombie Detecting Smart Security Owl (aprendizaje profundo): 10 pasos (con imágenes)
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
Hola a todos, ¡bienvenidos a T3chFlicks! En este tutorial de Halloween, le mostraremos cómo le damos un giro súper espeluznante a un clásico doméstico mundano: la cámara de seguridad.
¡¿Cómo?! Hemos creado un búho de visión nocturna que utiliza el procesamiento de imágenes para rastrear a las personas. ¡Ah, y ulula, como si fuera real!
Estamos muy entusiasmados con este proyecto y hemos estado esperando hacerlo desde que se lanzó la nueva Raspberry Pi 4. Tiene 4 GB de RAM, lo que abre la puerta a un montón de posibilidades realmente interesantes, incluido el procesamiento de imágenes con modelos de aprendizaje profundo en tiempo real.
Si quieres estar atento a los zombis que se acercan en Halloween, o simplemente revisar tu jardín el resto del año, este es el indicado para ti. ¡La seguridad no tiene que ser aburrida para ser efectiva!
Suministros
Para esta compilación, necesitará:
- Raspberry Pi 4 (4 GB de RAM) Amazon
- Cámara de visión nocturna Amazon
- Micro Servo Amazonas
- Búho falso Amazon
- Pegamento Amazon
- Pintar Amazon
- Tornillos Amazon
- Altavoz USB Amazon
- Fuente de alimentación portátil grande (5v +) Amazon
- Impresora 3D Amazon
Paso 1: Paso 1: Decapitar
una. Quítele la cabeza al búho (a veces solo tiene que ser brutal) tirando con fuerza de su cabeza donde se adhiere al resorte.
B. La cabeza del búho se conecta al cuerpo mediante un cilindro que se asienta sobre un gran resorte. Retire este cilindro sacando el tornillo.
C. El cilindro que acaba de quitar está hecho de dos partes, una copa de plástico y un cojinete que se encuentra en su interior. Retire el cojinete del cilindro con un destornillador (o herramienta similar).
D. Usando el tornillo que conectó el cilindro al resorte, conecte el servo al cilindro.
mi. Retire el resorte desatornillando los tres tornillos que lo fijan al cuerpo.
F. Haz un agujero en la parte superior del cuerpo del búho que sea lo suficientemente grande para que quepan algunos cables y el cable de la cámara. Usamos una combinación poco elegante de taladro y destornillador para hacer esto.
Paso 2: Paso 2: agregar Smart
una. Imprima en 3D la carcasa de la cámara y píntela para que coincida con el búho; utilizamos algunas pinturas acrílicas baratas. Pintar no es un paso vital, ¡pero mejora drásticamente el aspecto general!
B. Con la cabeza del búho boca abajo, atornille la parte superior de la carcasa de la cámara en el interior de su cabeza, donde sobresale el pico.
C. Coloque la cámara en el estuche y conecte el cable de la cámara.
D. Pega el servo al panel superior del resorte.
mi. Conecte cables largos a los pines del servo (5V, Gnd, señal)
F. Pasa el cable de la cámara y los cables del servo a través del resorte y por el orificio que hiciste en la parte superior del cuerpo para que queden dentro del cuerpo hueco de la lechuza.
Paso 3: Paso 3: Llénela
una. Retire el tapón de la parte inferior del búho y aumente el tamaño de este agujero cortando el plástico. Continúe aumentando el tamaño hasta que la Raspberry Pi y el altavoz quepan en el cuerpo del búho.
B. Una vez que el orificio sea lo suficientemente grande para que todos los componentes quepan en el interior, extraiga de la base el cable de la cámara que alimentó a través de la parte superior del búho y conéctelo a la Raspberry Pi.
C. Del mismo modo, pase los cables del servo y conéctelos a la Raspberry Pi:
- + 5v en servo => + 5V en Pi
- Gnd servo => gnd Pi
- Servo de señal => pin 12 Pi
D. Conecte el altavoz USB al Pi.
mi. Inserta la tarjeta SD en el Pi.
F. Power Pi mediante fuente de alimentación portátil.
gramo. Inserte el Pi, la fuente de alimentación y el altavoz en el búho a través del orificio de la base.
Paso 4: Paso 4: Configura la Pi
TODO EL CÓDIGO SE PUEDE ENCONTRAR EN
una. Descarga Raspian y cárgalo en tu tarjeta SD usando Balena Etcher.
B. Para acceder a su pi de forma remota
- Agregue un archivo llamado ssh a su tarjeta SD de arranque
-
Agregue un archivo llamado wpa_supplicant.conf y ponga sus credenciales de wifi en
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev update_config = 1
network = {ssid = "MySSID" psk = "MyPassword"}
C. Inserte la tarjeta SD en el pi e intente acceder a través de ssh.
Paso 5: Paso 5: Mover la cabeza
Tutorial de código para mover la cabeza (controlando un servo con una raspberry pi)
Para controlar un servo que se ejecuta en el Pi, vamos a crear un script que controle los pines GPIO a los que está conectado el servo.
una. Conecte el servo al Pi:
- + 5v en servo => + 5V en Pi
- Gnd servo => gnd en Pi
- Servo de señal => pin 12 en Pi
B. Primero debe configurar los pines gpio para usar PWM en el pin de señal del servo.
C. Entonces, es tan simple como seleccionar el ciclo de trabajo (explicado aquí) del pin de señal para mover el servo de 90 grados con un ciclo de trabajo de 7.5 a 0 grados cuando el ciclo de trabajo es 2.5 y a 180 grados con un ciclo de trabajo de 12,5
importar RPi. GPIO como GPIO
tiempo de importación GPIO.setmode (GPIO. BOARD) GPIO.setwarnings (False) GPIO.setup (12, GPIO. OUT) p = GPIO. PWM (12, 50) p.start (7.5) try: while True: p. ChangeDutyCycle (7.5) # 90 grados time.sleep (1) p. ChangeDutyCycle (2.5) # 0 grados time.sleep (1) p. ChangeDutyCycle (12.5) # 180 grados time.sleep (1) excepto KeyboardInterrupt: p.stop () GPIO.cleanup ()
Paso 6: Paso 6: Haciéndolo ulular
Tutorial de código para hacer el búho ululante (reproducir audio con una raspberry pi)
una. Conecte el altavoz USB.
B. Descarga un sonido: elegimos un pitido espeluznante.
C. Reproduzca el sonido ejecutando este comando: omxplayer -o alsa: hw: 1, 0 owl_sound.mp3
[D. Si esto no funciona, verifique qué salida está usando su Pi y a qué volumen usando el comando alsamixer; será recibido con la pantalla del mezclador donde puede cambiar el volumen y seleccionar su dispositivo multimedia. Para aumentar el volumen de su sonido, ejecute el comando como este omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500 Para reproducir este sonido usando Python, eche un vistazo a nuestro script de prueba.]
subproceso de importación
command = "omxplayer -o alsa: hw: 1, 0 owl_sound.mp3 --vol 500" player = subprocess. Popen (command.split (''), stdin = subprocess. PIPE, stdout = subprocess. PIPE, stderr = subprocess. TUBO)
Paso 7: Paso 7: Transmita el video desde el Pi
Tutorial de código creando una transmisión de cámara raspberry pi
una. Ejecute python app.py y vea en su red local en https://raspberrypi.local: 5000
B. Este código fue tomado y adaptado ligeramente de Miguel Grinberg https://blog.miguelgrinberg.com/post/flask-video-… él explica muy bien cómo se hace y sus tutoriales son geniales. ¡Deffo échale un vistazo! El concepto básico es que usamos subprocesos y generadores para mejorar la velocidad de transmisión.
Paso 8: Paso 8: Detección de cuerpos
Código para la detección del cuerpo (ImageNetSSD en una transmisión de video con raspberry pi)
una. Dado que usamos Raspberry Pi 4, pensamos que era mejor probar algunos modelos de aprendizaje profundo en él en lugar del método básico de HaarCascade al que nos hemos limitado hasta ahora.
B. Echamos un vistazo a algunos de los modelos previamente entrenados, como YOLOv3, que se ve genial. Pequeños pesos YOLOv3, que habrían sido perfectos para el Pi, pero no pudimos hacerlo funcionar:(C. En su lugar, optamos por el modelo MobileSSD que podemos ejecutar usando el módulo DNN (red neuronal profunda) de openCV, como aprendimos de este código: https://heartbeat.fritz.ai/real-time-object-detection-on-raspberry -pi-using-opencv-dnn-98827255fa60 y del héroe de los tutoriales de procesamiento de imágenes, Adrian Rosebrock: https://www.pyimagesearch.com/2017/09/11/object-detection-with-deep-learning-and- opencv /
D. Sin embargo, como estamos tratando de transmitir este contenido y ejecutar modelos en cada cuadro, esto da como resultado un video fragmentado y retrasado. Aprendimos nuevamente de Adrian Rosebrock https://www.pyimagesearch.com/2017/10/16/raspberry-pi-deep-learning-object-detection-with-opencv/ y usamos el módulo de multiprocesamiento de Python para poner nuestras imágenes en colas donde se pueden procesar sin bloquear tanto la transmisión de la cámara.
mi. Intente ejecutar el código usted mismo:)
Paso 9: Paso 9: Envío de notificaciones de zombies
Código para enviar una notificación (python al teléfono)
una. Decidimos utilizar el servicio de notificación
B. Puede obtener una cuenta gratuita y descargar la aplicación y configurar rápidamente las notificaciones móviles. Creamos las notificaciones usando un script de Python como este.
solicitudes de importación
payload = {"app_key": "APP_KEY", "app_secret": "APP_SECRET", "target_type": "app", "content": "El búho ha detectado un zombi". } r = request.post ("https://api.pushed.co/1/push", data = payload)
¡Es súper simple y puedes personalizar el nombre de tu notificación!
Paso 10: ¡Qué puntazo
¡Esperamos que haya disfrutado de nuestro proyecto Smart Security Owl! Esta ha sido una experiencia súper divertida y me siento mucho más seguro sabiendo que mi casa está siendo custodiada por nuestro fiel búho.
Si cree que esta sería una adición fabulosa de Halloween a su hogar inteligente, vote por nosotros en el concurso de Halloween de Instructables y, como de costumbre, ¡recuerde dar me gusta, comentar y suscribirse!
¡Suscríbase a nuestra lista de correo!
Recomendado:
Estación meteorológica: ESP8266 con sueño profundo, SQL, representación gráfica por matraz y trazado: 3 pasos
Estación meteorológica: ESP8266 con sueño profundo, SQL, gráficos por matraz y trazado: ¿sería divertido saber la temperatura, la humedad o la intensidad de la luz en su balcón? Sé que lo haría. Así que hice una sencilla estación meteorológica para recopilar esos datos. Las siguientes secciones son los pasos que tomé para construir uno. ¡Comencemos
Sensor de movimiento ESP-01 con sueño profundo: 5 pasos
Sensor de movimiento ESP-01 con sueño profundo: he estado trabajando en la fabricación de sensores de movimiento caseros que envían un mensaje de correo electrónico cuando se activan. Hay muchos ejemplos de instructables y otros ejemplos de cómo hacer esto. Recientemente necesitaba hacer esto con un sensor de movimiento PIR que funciona con baterías y un ESP
Formas: Aprendizaje para todos con Makey Makey: 5 pasos (con imágenes)
Formas: Aprendizaje para todos con Makey Makey: Los maestros enseñan a TODOS los estudiantes. A veces, nuestro aprendizaje debe verse diferente según el alumno. A continuación se muestra un ejemplo de una lección fácil que puede crear para asegurarse de que todos sus estudiantes estén trabajando en las habilidades esenciales. Este proyecto funcionaría bien
Tamaño de bricolaje y construcción de un generador de respaldo de energía de batería con baterías de ciclo profundo de 12 V: 5 pasos (con imágenes)
Hazlo tú mismo para dimensionar y construir un generador de respaldo de energía de batería con baterías de ciclo profundo de 12 V: *** NOTA: Tenga cuidado al trabajar con baterías y electricidad. No cortocircuite las baterías. Utilice herramientas aisladas. Siga todas las reglas de seguridad cuando trabaje con electricidad. *** Esté preparado antes de la próxima vez que se corte la energía con una batería de reserva
Refrigerador casero con funcionalidad de control inteligente (congelador profundo): 11 pasos (con imágenes)
Refrigerador hecho en casa con función de control inteligente (congelador profundo): Hola amigos, esta es la Parte 2 del refrigerador de bricolaje basado en el módulo Peltier, en esta parte utilizamos 2 módulos Peltier en lugar de 1, también usamos un controlador térmico para configurar la temperatura deseada para ahorrar un poco de energía