Cámara CCTV Raspberry Pi con motionEyeOS

A medida que avanzaba con mi proyecto original de cámara de seguridad, me di cuenta de que estaba progresando lentamente y que tendría dificultades para completar el software en un período de tiempo razonable.

Así que decidí simplificar todo. Mucho. Me decidí por motionEyeOS como base de mi sistema e instalé solo el hardware que necesitaba. Si en el futuro quisiera agregar algo más, podría hacerlo, pero mi prioridad era que algo funcionara en unas pocas semanas. Era hora de dejar de diseñar y empezar a hacer con lo que no tenía lo que pensaba que podría necesitar. Esta publicación describió lo que terminé.

La cámara mira hacia mi disco y almacena fotos y videos en la tarjeta SD que está dentro de mi garaje.

Una conexión inalámbrica y algunas configuraciones del enrutador permiten verlos a través de Internet utilizando la interfaz web de motionEyeOS.

Los interruptores magnéticos controlan el estado de las puertas del garaje y se muestran en la interfaz.

Herrajes internos

Esta es una lista de los componentes que se montaron o colocaron dentro de mi garaje:

  • raspberry pi 2
  • Tarjeta microSD SanDisk de 16GB [Amazon]
  • Cable plano de cámara de 75 cm
  • Fuente de alimentación microUSB de 5V
  • Cable de extensión USB de 3 m
  • Adaptador USB Inalámbrico de Alta Ganancia 150Mbps TL-WN722N TP-LINK [Amazon]

El cable de la cámara de 75 cm me permitió montar el Pi dentro del garaje mientras tenía algo de holgura para hacer las conexiones en cada extremo. Usé el cable USB de 3 m para colocar el adaptador WiFi lo más cerca posible de mi enrutador.

Hardware externo

Esta es una lista de hardware montado en la pared externa al lado de mi luz de seguridad convencional:

  • Caja de conexiones Evatron IP67 ABS (Serie DE) 80x73x53mm
  • Cámara Pi v1.2
  • Soporte de cámara de cilindro impreso en 3D
  • 73 mm de longitud de barra roscada de 3 mm
  • Tuercas nyloc de 2x 3 mm
  • 4 tornillos de nailon de 2 mm con tuercas
  • 1x arandela metálica de 8 mm
  • Lente magnética gran angular 1x [eBay]

La caja de conexiones era resistente a la intemperie y venía con una tapa transparente. Esto la hizo adecuada para montar una cámara. La cámara se montó con dos componentes impresos en 3D y algunos pernos de nailon de 2 mm. Estos componentes se detallan en los artículos Pi Camera 3D Printed Cylinder Mount y Pi Camera 3D Printed Magnetic Lens Mount.

El cilindro encaja dentro de la caja y pivota sobre una barra roscada de 3 mm. Dos orificios perforados en el costado del gabinete permiten asegurar la barra roscada con tuercas nyloc de 3 mm. Se giró el cilindro para ajustar la inclinación de la cámara y se apretaron las tuercas para bloquearla en su posición.

La caja trasera se roció de negro por dentro y por fuera y se montó en una pieza de madera. El cable plano sale de la parte posterior de la caja, se pasa a través de una ranura perforada en la madera y se desliza hacia el techo del garaje.

MotionEyeOS Creación de tarjeta SD

Aunque mi plan original era escribir mi propio software, me di cuenta de que motionEyeOS me iba a dar el 90 % de lo que quería casi sin esfuerzo y es muy fácil de configurar.

motionEyeOS está disponible para varias plataformas de hardware diferentes, pero descargué la imagen compatible con «Raspberry Pi 2».

En Windows usé 7-zip para extraer la imagen del archivo. Eche un vistazo a las instrucciones de instalación de motionEyeOS para obtener más información.

Configuración inicial de motionEyeOS

Con la tarjeta SD creada, el sistema se configuró siguiendo los siguientes pasos:

  • Cámara Pi conectada usando un cable plano adecuado
  • Llave WiFi conectada
  • Cable Ethernet conectado
  • Insertó la tarjeta SD
  • Encendió el Pi
  • Se dejó durante 3 minutos mientras realizaba la configuración de primer arranque

Usando la interfaz de administración de mi enrutador, descubrí la dirección IP que se le había dado a Pi en la red. Al poner esta dirección IP en la barra de direcciones del navegador, ahora podía acceder a la interfaz web de motionEyeOS.

Configuración esencial de motionEyeOS

Hay muchos ajustes que puedes cambiar. Los valores predeterminados son un buen punto de partida, pero las primeras configuraciones que cambié fueron las contraseñas de «administrador» y «usuario».

Al hacer clic en el icono de «persona» apareció el cuadro de inicio de sesión:

El nombre de usuario predeterminado es «admin» con una contraseña en blanco. Esto me permitió abrir el panel de configuración usando el otro ícono. Lo siguiente que cambié fue habilitar la «Configuración avanzada» y establecer contraseñas para los usuarios «administrador» y «usuario». Al hacer clic en el botón «Aplicar» se guardaron estos ajustes.

Configuración de Wi-Fi

Dentro de la interfaz y con la «Configuración avanzada» habilitada, puede configurar las opciones inalámbricas dentro del panel «Red».

Si desea usar WiFi sin usar primero Ethernet, deberá seguir la guía Configuración manual de Pi WiFi usando wpa_supplicant.conf.

Otras configuraciones de MotionEyeOS

Las siguientes son configuraciones que tiendo a cambiar de los valores predeterminados. Al pasar el cursor sobre el pequeño «?» El ícono junto a una configuración le dará una breve descripción de lo que hace.

> Preferencias

Como motionEyeOS puede admitir más de una cámara, puede mostrar sus transmisiones en una cuadrícula. Con solo una cámara conectada, cambié estos ajustes:

  • Columnas de diseño = 1
  • Filas de diseño = 1

> Configuración experta

Como mi sistema usaba un Pi 2:

  • Activar cámara CSI Led = APAGADO
  • Overclocking = Pi2

> Dispositivo de vídeo

  • Nombre de la cámara = «Garaje»
  • Resolución de vídeo = 1600×1200
  • Velocidad de fotogramas = 2

Si su cámara está montada al revés, puede usar la configuración Rotación de video para rotar la imagen. Uso esta configuración con un valor de 180. También puede experimentar con diferentes resoluciones de video. Más grande es mejor, pero las resoluciones más altas crearán imágenes más grandes y estas tardarán más en cambiar a través de su red/conexiones móviles. Encontrar la resolución ideal es un acto de equilibrio entre calidad y rendimiento.

> Transmisión de vídeo

Esta configuración le permite ajustar las propiedades de la imagen transmitida al navegador. Estos pueden requerir ajustes según el rendimiento de su red y/o conexión a Internet.

  • Velocidad de fotogramas de transmisión = 1
  • Cambio de tamaño de imagen de transmisión = ON
  • Resolución de transmisión = 50%
  • Optimización de movimiento = ON

El cambio de tamaño de la imagen permite que la transmisión use una resolución más baja que la resolución establecida en «Dispositivo de video». Una velocidad de fotogramas baja reduce la velocidad de datos, pero aún le permite ver lo que sucede en la escena.

> Imágenes fijas

  • Conservar fotografías “durante un mes”

> Películas

  • Formato de película = H.264 (.mp4)
  • Conservar películas “durante una semana”

> Detección de movimiento

Es casi seguro que necesitará experimentar con estos ajustes dependiendo de dónde esté su cámara y de lo que pueda ver:

  • Umbral de cambio de marco = 10%
  • Detección de interruptor de luz = 75%
  • Brecha de movimiento = 20
  • Capturado antes = 5
  • Capturado después = 5
  • Cuadros de movimiento mínimos = 10
  • Mostrar cambios de cuadro = ACTIVADO

Visualización de imágenes y películas

Para ver imágenes y películas, haga clic en la imagen de la cámara y use los iconos que aparecen en la parte superior derecha.

Luego se le presentará una galería de imágenes en las que puede hacer clic:

Se muestran marcas de tiempo para que pueda ver cuándo se crearon los medios. La galería tarda más en cargar si hay más imágenes. Juega con él y obtendrás una idea de cómo funciona.

Dirección IP fija

Para que sea más fácil encontrar la interfaz web en el futuro, me gusta dar a mis cámaras una dirección IP fija. La dirección IP se especificó en la configuración de red:

Acceso desde Internet

Para acceder a la cámara desde Internet, configuré el «reenvío de puertos» en la configuración de mi enrutador. Esto varía según el router que tengas por lo que tendrás que usar el manual de usuario o Google. Por lo general, define un puerto para usar y le dice a su enrutador que lo reenvíe a una dirección IP específica en su red. Luego accede a la cámara usando su dirección IP externa con el número de puerto después. Para encontrar su dirección IP externa, busque en Google «cuál es mi ip». Si su dirección IP externa fuera 12.34.56.78 y su puerto elegido es 30000, accedería a la cámara usando http://12.34.56.78:30000. La configuración de su enrutador reenviaría el tráfico al puerto 30000 a la dirección IP de su cámara (en mi ejemplo, 192.168.1.41).

Luego puede usar el siguiente puerto en la secuencia para cámaras adicionales si las tiene.

Monitoreo de puertas

Para monitorear el estado de las dos puertas del garaje, utilicé sensores magnéticos y un script de «monitoreo» de motionEyeOS. El script de monitoreo muestra el estado de las puertas superpuesto en la salida de la cámara y se puede ver como «D1: CERRAR D2: CERRAR» en la captura de pantalla anterior.

Esta técnica se describirá en una futura publicación de blog.

Notificaciones pushover al reiniciar

Como quería acceder a la cámara a través de Internet, necesitaba una forma de saber cuál era mi dirección IP externa mientras estaba fuera de casa. Configuré notificaciones «Pushover» que me dan un enlace a mi cámara. Estos se envían a mi teléfono inteligente Android y proporcionan un enlace a la cámara con la dirección IP y el número de puerto correctos. Luego puedo hacer clic en el enlace y ver la interfaz de motionEyeOS en un navegador móvil.

Pushover es un servicio fantástico que te permite enviar notificaciones a un teléfono usando una variedad de lenguajes de programación. En Android, pagas por la aplicación, pero el servicio es gratuito.

Escribiré una publicación de blog para explicar cómo configuré esto con más detalle.

Conclusiones finales

Este sistema ha estado funcionando durante meses 24/7. No tengo que pasar mucho tiempo jugando con él y simplemente tiende a funcionar. Fue la inspiración para crear mi cámara de garaje con una Pi Zero W.

motionEyeOS es realmente un software increíble. Es fácil de usar y añade todo un mundo de posibilidades a la Raspberry Pi. ¡Gracias Calin Crisan por tu arduo trabajo!

Aquí hay algunos enlaces de motionEyeOS que vale la pena visitar para obtener información adicional:

Todos mis proyectos basados ​​en motionEyeOS se enumeran bajo la etiqueta motionEyeOS.