Cree un sistema de CCTV multicámara con Raspberry Pi y motionEyeOS
Si bien hay innumerables sistemas comerciales de seguridad para el hogar CCTV en el mercado, construir uno propio con una versión de bricolaje con una Raspberry Pi (u otra computadora de placa única) ofrece la ventaja de la personalización para adaptarse a sus propósitos exactos.
Una distribución especial de Linux llamada motionEyeOS facilita la configuración de su sistema de seguridad con una o más cámaras. Luego puede detectar movimiento desde la vista de la cámara y enviar alertas por correo electrónico o notificaciones automáticas. Le mostraremos cómo poner todo en funcionamiento.
Qué necesitará para configurar un sistema de CCTV
- Una Raspberry Pi: cualquier modelo funcionará, incluidos Pi Zero y Compute Module
- Una cámara web USB, un módulo de cámara Raspberry Pi o un módulo de cámara de alta calidad
1. Instale motionEyeOS
En lugar de ser una aplicación, motionEyeOS es un sistema operativo autónomo, uno de los muchos sistemas operativos Raspberry Pi . Primero, debe encontrar la versión correcta para su modelo de Raspberry Pi. Vaya a la lista de dispositivos compatibles y haga clic en la última versión de su placa para descargar la imagen del disco como un archivo .xz.
Hay dos formas principales de instalar motionEyeOS en Raspberry Pi. El sitio web motionEyeOS ofrece una utilidad de escritura de imágenes para computadoras Linux y macOS para escribir la imagen del disco en una tarjeta microSD para usar en su Raspberry Pi. Esto ofrece la configuración opcional de una conexión de red inalámbrica y la configuración de una dirección IP estática. Para obtener más detalles, consulte la guía de instalación .
El segundo método, que usaremos aquí, ya que también funciona en máquinas con Windows, es escribir la imagen del disco utilizando la herramienta Raspberry Pi Imager estándar, descargable desde el sitio web de Raspberry Pi .
Con un lector de tarjetas incorporado o un adaptador USB, inserte su tarjeta microSD para montarla en su computadora y abra Raspberry Pi Imager. Haga clic en Elegir sistema operativo, luego desplácese hasta la parte inferior de la lista para seleccionar Usar personalizado .
Busque el archivo motionEyeOS.xz que descargó anteriormente. Ahora haga clic en Choose SD Card y seleccione su tarjeta microSD insertada, probablemente llamada algo así como Generic Storage Device Media.
Finalmente, haga clic en Escribir para escribir la imagen en la tarjeta.
2. Preconfigure su conexión inalámbrica
Antes de usar la tarjeta microSD en su Raspberry Pi, querrá preconfigurar las credenciales de la red inalámbrica.
Abra un editor de texto sin formato (como el Editor de texto en macOS o el Bloc de notas en Windows) e ingrese las siguientes líneas, reemplazando los valores ssid y psk con el SSID (nombre) y la contraseña de su propio enrutador inalámbrico. También debe cambiar el código de país por el que operará el dispositivo.
country=US
update_config=1
ctrl_interface=/var/run/wpa_supplicant
network={
scan_ssid=1
ssid="MyWiFiSSID"
psk="MyWiFiPassword"
}
Guarde el archivo como wpa_supplicant.conf en la raíz de su tarjeta microSD, donde debería ver otros archivos como bootcode.bin y kernel.img . Si el archivo se guarda con un sufijo .txt, elimínelo para que se llame simplemente wpa_supplicant.conf .
3. Configuración de la cámara
Si está utilizando un módulo de cámara Raspberry Pi o una cámara de alta calidad, conéctelo al puerto de la cámara de Raspberry Pi. Si usa una cámara web, conéctela a un puerto USB en la Raspberry Pi.
Inserte la tarjeta microSD en su Raspberry Pi y enciéndala. Si está conectado a un monitor, verá una lista de comandos en ejecución. Una vez que su archivo wpa_supplicant.conf se haya leído correctamente, se conectará a su red y mostrará la dirección IP de la Raspberry Pi después de que la interfaz wlan0 tenga la dirección IP:.
Alternativamente, si su Raspberry Pi no está conectada a un monitor, siempre puede descubrir la dirección IP visitando la página de configuración de su enrutador inalámbrico en un navegador web en otro dispositivo y buscando un dispositivo con un nombre que comience con meye- .
4. Acceda a la interfaz web
En un navegador web en otra computadora o dispositivo, ingrese la dirección IP de la Raspberry Pi y debería ver una pantalla de inicio de sesión. Simplemente ingrese admin como nombre de usuario, sin contraseña.
Si tiene un módulo de cámara Raspberry Pi o una cámara de alta calidad conectada, debería detectarse automáticamente y verá la vista de la cámara en la interfaz web. Si usa una cámara USB, en el menú Agregar cámara que aparece, seleccione Cámara local V4L2 para Tipo de cámara y Cámara USB2.0: Cámara USB2.0 para cámara.
Para una configuración multicámara, es posible conectar más de una cámara a una Raspberry Pi, aunque el modelo utilizado debe ser lo suficientemente potente para manejar todas las transmisiones.
Alternativamente, puede usar varias placas Raspberry Pi, cada una con una cámara, y designar otra Raspberry Pi como un centro para manejar sus transmisiones. Esto es útil si desea colocar cámaras en diferentes habitaciones.
También existe la opción de usar una computadora Linux normal como servidor central.
5. Configure los ajustes personalizados
En la interfaz web, haga clic en el icono de tres líneas verticales en la parte superior izquierda para abrir el panel de configuración. En el menú Preferencias , cambie la opción Columnas de diseño a 1 si usa una sola cámara, para que la vista llene la pantalla.
El menú Dispositivo de video le permite cambiar la resolución, la rotación y la velocidad de fotogramas de la cámara actualmente seleccionada. También puede cambiar el nombre de la cámara a algo descriptivo, como la habitación en la que se encuentra. Después de cambiar cualquier configuración del menú, haga clic en el botón Aplicar para aplicarla.
Para la configuración de su cámara de seguridad, querrá detectar movimiento desde la vista de la cámara. Abra el menú de detección de movimiento y actívelo. Otras opciones le permiten establecer el umbral de cambio de fotograma necesario para detectar movimiento. Establecerlo demasiado bajo puede resultar en demasiados falsos positivos. La opción Motion Gap es el retraso antes de buscar detectar movimiento nuevamente después de que se haya activado.
Para ver películas capturadas por detección de movimiento, haga clic en una vista de cámara en vivo y luego seleccione el icono del botón de reproducción triangular. También es posible ver imágenes fijas capturadas por la cámara, ya sea manualmente o configurando el Modo de captura en el menú Imágenes fijas en Activado por movimiento .
7. Enviar notificaciones por correo electrónico
El menú Notificaciones de movimiento le permite enviarse a sí mismo un correo electrónico cada vez que se detecta movimiento. Después de encenderlo, ingrese la dirección de correo electrónico a la que desea enviar la notificación. Deberá ingresar las otras configuraciones para su cuenta.
Si usa Gmail, configure el servidor SMTP en smtp.gmail.com, el puerto SMTP en 587 y la cuenta SMTP en la primera parte de su dirección de correo electrónico (es decir, sin @ gmail.com). La contraseña SMTP es la que usa para iniciar sesión en su cuenta de Gmail. La dirección de remitente puede dejarse en blanco o configurarse como una dirección personalizada. Active TLS .
En otra pestaña del navegador, visite el menú de seguridad para la cuenta de Google y establecer Menos aplicación acceso seguro a los de – después de recibir una alerta de seguridad, confirman que fue usted quien lo cambió. Tenga en cuenta que esto se hace bajo su propio riesgo. Creamos una nueva cuenta de Gmail dedicada para este propósito.
Ahora debería poder enviar un correo electrónico de prueba desde motionEyeOS sin activar una alerta de seguridad de Google. Tenga en cuenta que si utiliza varias cámaras, debe configurar las notificaciones por correo electrónico para cada una por separado.
Para recibir una imagen con su notificación por correo electrónico, se recomienda configurar la opción Intervalo de tiempo de imágenes adjuntas entre 5 y 30. También debe configurar el Modo de captura en Activado por movimiento en el menú Imágenes fijas .
8. Agregar notificaciones automáticas
También puede enviar notificaciones push usando la opción Ejecutar un comando en el menú Notificaciones de movimiento . Por ejemplo, para utilizar el servicio Pushover, que ofrece aplicaciones para Android, iOS y escritorio, debe crear un breve script de Python para que se ejecute.
Regístrese en Pushover . Tenga en cuenta que después de una prueba gratuita de 30 días, deberá realizar una compra única en la aplicación de $ 5 para continuar usándola.
Después de eso, haga clic en Crear una aplicación / token de API . Anote el token / clave de API que se le proporcionó, junto con su clave de usuario del panel de control.
Descargar: Pushover para iOS | Android (prueba gratuita disponible)
Con el código repetitivo del sitio web de Pushover, puede crear su secuencia de comandos de Python:
import httplib, urllib
conn = httplib.HTTPSConnection("api.pushover.net:443")
conn.request("POST", "/1/messages.json",
urllib.urlencode({
"token": "abc123",
"user": "user123",
"title": "CCTV alert"
"message": "Motion detected on camera 1!",
"url": "http://IP.ADD.RE.SS",
"url_title": "View live stream",
}), { "Content-type": "application/x-www-form-urlencoded" })
conn.getresponse()
Reemplace abc123 con el token de API de su aplicación y user123 con su clave de usuario. Reemplace IP.ADD.RE.SS con la dirección IP de su configuración de motionEyeOS.
Para colocar esto en su sistema motionEyeOS, necesita SSH desde otra computadora usando la aplicación Terminal (o WinSCP en Windows), ingresando:
ssh admin@&IP_ADDRESS
Reemplace IP_ADDRESS con la dirección IP de su sistema motionEyeOS. Ahora ingrese:
cd /data
Ahora que está en el directorio de datos, cree un nuevo archivo llamado pushover.py :
nano pushover.py
Pegue o escriba su script de Python en él y guárdelo con Ctrl + X , seguido de Y. Ahora hazlo ejecutable con:
chmod +x pushover.py
Alternativamente, en WinSCP en Windows, presione F9 , configure los permisos en 0775 y presione OK .
Pruebe el script ejecutando:
python pushover.py
Debería recibir una notificación, con una alerta audible, de motionEyeOS en su aplicación Pushover.
De vuelta en el menú de notificaciones de movimiento de la interfaz web motionEyeOS, active la opción Ejecutar un comando y escriba python /data/pushover.py en el campo Comando para indicarle que ejecute su script de Python.
Haga clic en el botón Aplicar . Tenga en cuenta que puede aplicar una secuencia de comandos Ejecutar un comando diferente para cada cámara en su configuración, por lo que podría crear varias secuencias de comandos de Python, cada una de las cuales indica qué cámara ha detectado movimiento.
Hacer su propio sistema de cámara de seguridad de bricolaje
Felicitaciones, ahora ha configurado su propio sistema de seguridad CCTV personalizable usando Raspberry Pi, completo con correo electrónico y notificaciones automáticas para alertarlo sobre la presencia de cualquier intruso detectado en la cámara.