- Cree rápidamente una cámara de seguridad con captura de movimiento con Raspberry Pi:
- Personalización de la configuración de medios en Motion:
- Cómo obtener la transmisión de video a través de Internet:
La seguridad es una preocupación importante hoy en día y hay muchas tecnologías presentes hoy para mantener su lugar seguro y monitoreado. Las cámaras CCTV son muy útiles para vigilar su casa u oficina. Aunque los precios de este tipo de cámaras se han reducido significativamente desde sus inicios, las cámaras IP, que tienen capacidad para enviar y recibir la fecha a través de la red, son muy caras. Y para True Surveillance, una cámara debe tener la capacidad de enviar su señal a través de Internet para poder verla desde cualquier parte del mundo.
Hoy estamos fabricando una cámara de captura de movimiento de vigilancia muy barata con Raspberry Pi y una cámara web. Esta es una herramienta de seguridad excelente y muy económica, que tiene muchas opciones configurables y se puede construir en pocos minutos. Aquí estamos usando solo Raspberry Pi y una cámara web USB para construir esta cámara Motion Capture. Tenemos el sistema operativo Raspbian Jessie instalado en nuestra placa Raspberry Pi. Debe consultar este artículo para instalar el sistema operativo Raspbian y comenzar con Raspberry Pi.
Aquí revisaremos primero una guía de inicio rápido, para que pueda tener su Cámara de vigilancia lista en pocos minutos con todas las configuraciones predeterminadas y luego profundizaremos en los otros detalles y opciones de configuración para personalizarla de acuerdo a sus necesidades.
Pero antes de eso, sepamos algo sobre Motion (software de vigilancia), que es el corazón de este proyecto. Motion es un software de CCTV detector de movimiento de código abierto y gratuito, desarrollado para Linux. Detecta el movimiento y comienza a grabar un video del mismo. Con 'Motion' instalado en su Raspberry Pi, puede convertir mágicamente su Raspberry Pi en una cámara de seguridad y puede obtener las siguientes funcionalidades:
1. Puede ver la transmisión de video en vivo en un navegador web ingresando la dirección IP de Pi junto con el puerto.
2. Grabará y guardará el video siempre que detecte movimiento o cualquier perturbación en el área de visualización. Seguirá grabando el video hasta que haya algo de movimiento, luego se detiene y guarda el archivo, que se puede ver más tarde.
3. Puede crear un hermoso Video Timelapse.
4. Puede tomar instantáneas a intervalos regulares o cuando hay algún movimiento. Las instantáneas también se guardan en el disco para su uso posterior.
Aparte de eso, tiene varias opciones de configuración que discutiremos en breve y también podemos establecer 'disparadores' definidos por el usuario en ciertos eventos. Actualmente, Motion solo admite la cámara USB lista para usar, si desea usar la cámara Pi, entonces debe usar una compilación especial de Motion.
Cree rápidamente una cámara de seguridad con captura de movimiento con Raspberry Pi:
Aquí solo necesita ejecutar algunos comandos para comenzar a obtener su primer video en la red. Antes de eso, verifique adecuadamente que su Raspberry Pi esté conectada a Internet, ya sea usando LAN o Wi-Fi y luego siga los pasos a continuación:
Paso 1: Primero ejecute el siguiente comando para actualizar el sistema operativo Raspbian en Raspberry Pi:
sudo apt-get update
Paso 2: luego instale la biblioteca 'Motion' usando el siguiente comando:
sudo apt-get install motion
Paso 3: Ahora configure el demonio de movimiento en sí editando el archivo: / etc / default / motion para que siempre se esté ejecutando. Edite este archivo usando el editor 'nano' con 'sudo' como se indica a continuación:
sudo nano / etc / default / motion
Luego guarde el archivo presionando 'CTRL + X', luego 'Y' y Enter.
Paso 4: Ahora necesitamos establecer el permiso para el Directorio de destino (/ var / lib / motion /), en el que Motion guarda todas las grabaciones de video y archivos de imágenes. Necesitamos configurar 'Motion' como propietario de este directorio emitiendo el siguiente comando:
sudo chown motion: movimiento / var / lib / motion /
Este permiso es necesario, de lo contrario, obtendrá el siguiente error cuando verifique el estado del servicio de movimiento con este comando: sudo estado de movimiento del servicio
Paso 5: Ahora casi hemos terminado, solo necesitamos cambiar una opción de configuración en el archivo de configuración de Motion (/etc/motion/motion.conf ) que está desactivado stream_localhost. Tenemos que apagar esta transmisión de host local, de lo contrario no podremos acceder a la alimentación de video en nuestra red y solo será accesible desde la propia Raspberry Pi. Para hacerlo, edite el archivo de configuración de movimiento con el editor 'nano' y apáguelo, como se muestra a continuación:
sudo nano /etc/motion/motion.conf
Ahora hemos terminado y estamos listos para obtener nuestra transmisión en vivo desde la cámara web USB conectada a Pi. Simplemente inicie el servicio Motion usando el siguiente comando y abra la IP de su Raspberry Pi, con el puerto 8081, en su navegador (como 192.168.1.103:8081):
sudo /etc/init.d/motion start
Y verá la transmisión en vivo de su cámara web como se muestra a continuación. Aquí hemos utilizado una cámara web USB de bajo costo (cámara web Quantum QHM500LM), que funcionó sin problemas con nuestra Raspberry Pi, pero puede usar una cámara de buena calidad para una mejor resolución.
Como se mostrará en el navegador, puede usar cualquier dispositivo para ver el feed, que es compatible con navegadores web como dispositivos móviles, tabletas, etc. A continuación se muestra una instantánea del teléfono móvil:
Siempre puede iniciar, detener, reiniciar y obtener el estado del servicio Motion usando los siguientes cuatro comandos:
sudo /etc/init.d/motion start sudo /etc/init.d/motion stop sudo service motion restart sudo service motion status
o puede reiniciar la Raspberry Pi como paso de solución de problemas cuando sea necesario:
sudo reiniciar
Nota: Si su modelo Raspberry Pi es inferior a la versión 3, es posible que necesite una llave Wi-Fi para conectar de forma inalámbrica la Raspberry Pi al enrutador. Raspberry Pi 3 tiene Wi-Fi incorporado. Aquí hemos utilizado Raspberry Pi 2 Model B con un dongle Wi-Fi.
Personalización de la configuración de medios en Motion:
Así que ahora tenemos nuestra cámara de vigilancia funcionando y funcionando. Ahora podemos ver algunas opciones de configuración muy útiles, con las cuales podemos optimizarlo según nuestra necesidad y obtener resultados muy impresionantes. En el archivo de configuración de movimiento, todas las configuraciones se explican muy bien con su valor predeterminado y reiniciado, solo verifíquelo usando el siguiente comando:
sudo nano /etc/motion/motion.conf
Además de obtener la transmisión en vivo, Motion graba y guarda archivos de video siempre que detecta movimiento. Para que pueda ajustar la velocidad de fotogramas, la calidad, el ancho / alto de los videos en streaming. Puede establecer una velocidad de fotogramas alta para videos en tiempo real, pero su red debe ser lo suficientemente rápida para este. A continuación se muestran los valores que hemos utilizado, puede cambiarlos en consecuencia:
# Ancho de imagen (píxeles). Rango válido: depende de la cámara, predeterminado: 352 ancho 640 # Alto de la imagen (píxeles). Rango válido: depende de la cámara, predeterminado: 288 altura 480 # Número máximo de fotogramas a capturar por segundo. # Rango válido: 2-100. Por defecto: 100 (casi sin límite). framerate 50 stream_quality 90
Será bueno guardar algunas imágenes antes y después de que detecte el movimiento y comience a grabar el video. Use la siguiente configuración para eso:
# Especifica el número de imágenes capturadas previamente (almacenadas en búfer) desde antes de que se detectara el movimiento # que se emitirán en la detección de movimiento. # Rango recomendado: 0 a 5 (predeterminado: 0) pre_capture 0 # Número de fotogramas para capturar después de que ya no se detecte movimiento (predeterminado: 0) post_capture 0
Motion, por defecto, toma demasiadas fotos cuando detecta Motion y terminará con tantos archivos 'jpg' para un movimiento pequeño. Por lo tanto, será bueno desactivar esta configuración ( output_pictures off ) o establecerla en 'mejor':
output_pictures mejor
También puede tomar instantáneas a intervalos regulares, definidos por usted, usando la siguiente opción:
# Hacer una instantánea automatizada cada N segundos (predeterminado: 0 = desactivado) snapshot_interval 0
La característica más atractiva para mí es el video timelapse, es una muy buena disposición para videos hermosos timelapse a muy bajo costo. Aquí puede definir el intervalo para las instantáneas de Timelapse Video:
# Valor predeterminado 0 = desactivado; de lo contrario, guarde el cuadro cada enésimo segundo ffmpeg_timelapse 2
Puede cambiar el Directorio de destino para guardar todos los archivos e imágenes grabados usando 'target_dir' y no olvide configurar 'Motion' como propietario de este directorio, como se explicó anteriormente.
# Directorio base de destino para imágenes y películas # Se recomienda utilizar la ruta absoluta. (Predeterminado: directorio de trabajo actual) target_dir / var / lib / motion
Puede cambiar el puerto de transmisión web (el predeterminado es 8081):
# El servidor mini-http escucha este puerto en busca de solicitudes (predeterminado: 0 = deshabilitado) stream_port 8081
Si no desea un archivo de video largo, puede indicarle a Motion que cree varios clips de duración particular en lugar de un archivo grande. Puede mencionar la duración de los clips en segundos (0 para infinito):
# Duración máxima en segundos de una película # Cuando se excede el valor, se crea un nuevo archivo de película. (Predeterminado: 0 = infinito) max_movie_time 30
También puede decidir cómo definir un movimiento y puede establecer el número de píxeles o fotogramas que deben cambiarse para detectar un movimiento verdadero:
# Umbral para el número de píxeles cambiados en una imagen que # activa la detección de movimiento (predeterminado: 1500) umbral 1500 # Los marcos de imágenes deben contener movimiento al menos el número especificado de marcos # en una fila antes de que se detecten como movimiento verdadero. En el valor predeterminado de 1, se detecta todo # movimiento. Rango válido: de 1 a miles, se recomienda de 1 a 5 cuadros_mínimo_motivo 5
Por defecto, Motions guarda los registros en 'syslog' pero puede definir un archivo de registro dedicado para Motion:
# Use un archivo para guardar los mensajes de registros, si no está definido, se usa stderr y syslog. (predeterminado: no definido) archivo de registro /tmp/motion.log
No olvide guardar y reiniciar el servicio Motion después de cambiar cualquier configuración. Para guardar el archivo motion.conf, presione CTRL + X, luego Y y luego Enter.
Así que estas son algunas configuraciones comunes que se pueden usar para lograr buenos resultados. Pero si tiene curiosidad, busque más en el archivo de configuración y comience a jugar con la configuración. Hay muchas opciones para configurar el brillo, el contraste, la velocidad de bits, los activadores, la autenticación de contraseña y muchas más.
Cómo obtener la transmisión de video a través de Internet:
Aquí hemos monitoreado la alimentación de la cámara web a través de la red local utilizando la IP local de Raspberry Pi. Pero si desea monitorearlo desde cualquier lugar a través de Internet, debe configurar el reenvío de puertos en su enrutador / módem. Básicamente, necesita reenviar el puerto 80 (utilizado para HTTP o Internet) a su dirección IP local o privada de usted Raspberry Pi (como (192.168 * en nuestro caso). Después de reenviar el puerto, todas las conexiones entrantes al puerto 80 se reenviarán a esta dirección local y puede ver la transmisión en vivo ingresando su dirección IP pública en Internet con la transmisión puerto que hemos configurado anteriormente (8081). Cada enrutador tiene una interfaz de usuario diferente para configurar el reenvío de puertos, por lo que puede iniciar sesión en su enrutador (192.168.1.1) y puede encontrar la opción para el mismo. Pero recuerde que, para acceder al Raspberry Pi a través de Internet, debe tener una dirección IP pública estática y no debe cambiarse cada vez que se reinicia el módem. La dirección IP estática la proporciona su ISP.
Así es como podemos configurar fácilmente una cámara de vigilancia de muy bajo costo usando Raspberry Pi y una cámara web simple.