¿Nos ayudas a pagar el Hosting?

Compartir en facebook Compartir en google+ Compartir en twitter Compartir en pinterest Compartir en linkedin

Sistema de vigilancia (con detección de movimiento)

Publicado el 12/4/2016

Podemos usar nuestra Orange Pi para montar un sistema de vigilancia que grabará un vídeo cuando detecte algún movimiento. Por supuesto, tendremos acceso remoto a la cámara para saber en todo momento qué está pasando.

Que necesitas:

Para configurar (si no lo haces por remoto) necesitarás teclado-ratón y cable de vídeo, pero para la instalación final no será necesario. Doy por hecho que ya tenemos una Orange Pi con un sistema operativo instalado y funcionando. También doy por hecho que ese sistema es Linux (para este desarrollo yo tengo instalado Armbian Jessie desktop).

En mi caso voy a usar una cámara web HP HD 2300, que se puede encontrar por 20 €uros (he probado con una Webcam china de 4$ y también funciona, aunque la calidad, como es normal, deja muuuucho que desear).

Primero vamos a comprobar que la cámara está instalada, reconocida y funcionando:

pi@orangepi ~ $ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 003: ID 0ac8:3420 Hewlett Packard				
Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB

pi@orangepi ~ $ ls /dev/video*
/dev/video0

Este paso no es necesario, pero así comprobamos que todo funciona correctamente. Seguramente (en mi caso es así) tengas mplayer instalado, pero si no, instálalo:

sudo apt-get install mplayer

Ejecuta mplayer para usar la Webcam para capturar vídeo:

sudo mplayer tv://

Deberá abrirse una ventana con la captura de vídeo en directo.

Detección de movimiento.

Ya hemos comprobado que la cámara funciona y es capaz de capturar vídeo. Vamos a por la detección de movimiento. Necesitamos instalar un software llamado Motion desarrollado por Kenneth Lavrsen. Más información pulsando aquí.

sudo apt-get install motion

Cuando termine, hay que hacer algúnos cambios. Abre el fichero motion.conf con tu editor preferido:

sudo nano /etc/motion/motion.conf

Busca las siguientes lineas y cambia:

"Daemon = off" por "on"

y el directorio donde se grabarán las imágenes:

target_dir /home/orangepi/motion

Este directorio debe estar creado y tener todos los derechos de escritura, así que créalo si no existe y dale permisos totales. Desde el directorio /home/orangepi/ :

sudo mkdir motion
sudo chmod 777 motion

Para tener acceso desde el exterior tenemos que cambiar varias líneas. La primera es para acceder desde fuera de localhost y las siguientes para establecer un usuario y contraseña por seguridad:

stream_localhost off
stream_auth_method 1
# cambia usuario:password por los de tu elección
stream_authentication usuario:password	

Desde el puerto 8080 se puede ver y editar la configuración del programa, pero sólo se podrá editar desde local. En este archivo están casi todos los parámetros de configuración del programa. Por ahora es suficiente, luego podrás cambiar más cosas. Guarda y sal del editor.

Para asegurarnos que el servicio de detección arranca como un servicio de Linux, necesitamos hacer otro cambio de configuración:

sudo nano /etc/default/motion

y cambiamos:

"start_motion_daemon=no" por "yes"

Guarda y sal del editor. Para terminar, lanzamos el programa:

sudo service motion start

y comprobamos que podemos ver la imagen accediendo al servidor local:

http://localhost:8081
o
http://127.0.0.1:8081

Si todo ha ido bien, veremos la imagen de la webcam en el navegador y al detectar un movimiento, se grabarán los fotogramas con el cambio de estado en el directorio que antes hemos configurado.

Este programa es increible y ofrece muchas posibilidades muy interesantes. Puedes lanzar un evento cuando se detecta algún movimiento (enviar email o un SMS por ejemplo), grabar datos en una base de datos, seguir el movimiento manjando motores o servos. Puedes controlar varias cámaras... en fin, un programa muy completo, con el que controlar un sistema muy complejo.

Por supuesto, todo este proceso necesita ser "afinado". El siguiente paso integrarlo todo en una caja, poder acceder desde cualquier punto fuera de la propia red, para lo que habría que dar acceso al exterior y, en el router, redirigir las llamadas al puerto 8081 a la Orange Pi, pero esto queda para un segundo artículo.

Espero que te haya sido de utilidad, no dudes en escribir un comentario si ves algún error o si puedo ayudarte.

* Actualización 18/05/2016:

Gracias por tu mensaje José Luis. Puedes ver como acceder de forma remota redirigiendo los puertos del router en este otro artículo.

* Actualización 1/06/2016:

Gracias por tu mensaje Carmen. Puedes ver como obtener un servicio gratuito de IP fija en este otro artículo.


Utiliza este espacio si quieres añadir algún comentario adicional o si tienes alguna duda.
No olvides añadir tu distribución y tu placa.

Todos los comentarios serán validados antes de su publicación.

JoseLuis

Muy interesante pero podrias explicar la forma de accceder de forma remota. Todo me ha funcionado a la primera, pero no soy capaz de conectar desde otro punto fuera de la red. Gracias de antemano


Administrador OrangePiWeb.es

Subiré una guía para acceder de forma remota lo antes posible. Gracias por tu comentario JoseLuis.


Carmen

Buen artículo, todo muy bien explicado. ¿Pero como podemos resolver el problema de la ip cambiante?. Mi ip no siempre es la misma y a veces tengo problemas para acceder desde la oficina. muchas gracias por estos tutos, a mi me ha venido de perlas


Administrador OrangePiWeb.es

Gracias Carmen. Puedes leer como mantener la ip fija pulsando en el siguiente enlace: IP fija


David Beltran

Gracias, buena guía en el artículo. Solo una duda, ¿Cómo configurar motion para usar mas de una cámara web a la vez?


Administrador OrangePiWeb.es

Hola David.

Yo no lo he usado ni lo he probado, pero para 2 cámaras necesitas 3 archivos de configuración: 1 motion.conf y 2 ficheros de thread (hilos) uno para cada cámara. Todas las opciones comunes a las 2 cámaras irán en el fichero motion.conf. La primera cámara se define en el primer hilo llamado desde motion.conf. La segunda cámara se define en el segundo archivo de hilo llamado desde motion.conf, etc...
Crea los archivos thread0.conf y thread1.conf. Al final de motion.conf, quita los comments (#) a las líneas que se refieren a ellas. El contenido completo de los archivos de subproceso puede ser así:

thread0.conf:
videodevice /dev/video0
stream_port 8081

thread1.conf:
videodevice /dev/video1
stream_port 8082

Casi todas las opciones de configuración pueden ser únicas para una cámara específica y se colocan en el archivo de configuración thread. Pero hay algunas opciones que debe estar en motion.conf y no puede estar en los archivo de configuración thread: control_authentication, control_html_output, control_localhost, control_port, daemon, y thread.
Cuéntanos como te ha ido.


Pepe

Hola. Gracias por el aporte. Una cuestión, imagino que esté montaje será posible con cualquier modelo de OPi... Me estoy planteando hacerlo con una Opi Zero, entiendo que no habría problema... ¿No?


Administrador OrangePiWeb.es

Pues supongo que si que se podrá, pero sólo hay una forma de saberlo... Ten en cuenta que sólo tiene 1 puerto USB. Existe una expansión de 2 puertos USB por 2€ que quizás te interese.
Por favor, cuéntanos como te ha ido y si mandas alguna fotografía del montaje la publicaremos por aquí.


John

Hola amigo, gracias por los aportes me han servido. compre por ali la 2eplus y la ONE, tengo el modulo de camara de 2MPX original de orange, pero no logro usarlo, la idea es poder acceder a una IP y ver esa camara en streaming, no se si me puedas ayudar ando un poco liado. Saludos.
Este es el combo que compre https://goo.gl/KmnuKQ Gracias


Administrador OrangePiWeb.es

Hola John. Para poder usar la cámara de 2Mpx original de Orange Pi, necesitarás cargar los siguientes módulos:

sudo modprobe gc2035
sudo modprobe vfe_v4l2

Luego, sigue los pasos de este mismo tutorial para instalar motion y tendrás acceso a la cámara. Al final del tutorial, encontrarás información para acceder desde fuera de tu propia red, así como la forma de conseguir una IP fija. Cuéntanos como te ha ido.
Saludos.


Celestino

Hola.
Se podría completar tratando no solo las cámaras USB sino también las que se conectan al puerto CSI como por ejemplo esta que debe ser un clon de la genuina de orange :
https://www.ebay.es/itm/2MP-Camera-Module-Board-with-Cable-Webcam-Video-For-Orange-Pi-PC-Lite-Zero-Plus2/132475606050?hash=item1ed8295422:g:KnUAAOSwoBlaYXm0

Además me viene la duda de que sucede cuando se llena la memoria SD con vídeos, ¿como se podría hacer que se limitara a un determinado tamaño la carpeta motion y que se fuera eliminando cíclicamente el o los vídeos mas antiguos para hacer sitio para el vídeo mas reciente.

Un saludo.


Administrador OrangePiWeb.es

Hola Celestino. Tengo una cámara como esa que compré con mi primera placa. La probé y funcionó correctamente, solo hay que cargar un par de librerías. Pero al dar una salida de 2MB nunca me ha parecido interesante. Suelo usar webcams porque dan bastante más calidad y ocupan poco más espacio. Ten en cuenta que además tendrás que fabricar algún tipo de soporte para la cámara CSI y eso me ha quitado aún más interés.
Sobre lo del llenado de la tarjeta, es más un tema de Linux que de Orange Pi. En algunos de mis proyectos lo he solucionado subiendo las imágenes a la nube, tipo Dropbox. Pero me parece un tema interesante y a tener en cuenta para futuros proyectos. Gracias por tu aporte.


Nacho

Hola amigo, exelente expicacion, de verdad, gracias, mi pregunta, como monto un HDD en mi Orange pi one para asi tener suficiente espacio para guardar las imagenes de las camaras, de antemano, muchas gracias,

Nacho


Administrador OrangePiWeb.es

Hola Nacho. Aquí tienes una guía:
https://orangepiweb.es/nube-personal-nextcloud.php
Saludos


Nombre*

Email* Nunca será publicado ni compartido

Comentario*



Copyright © 2018 desde 2016. Todos los derechos reservados | Diseño JaviPSantos

Solicitamos su permiso para obtener datos estadísticos de su navegación en esta web, en cumplimiento del Real Decreto-ley 13/2012. Si continúa navegando consideramos que acepta el uso de cookies.

OK | Más información