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.
  1. 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


  2. Javier

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


  3. 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


  4. Javier

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


  5. 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?


  6. Javier

    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.


  7. 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?


  8. Javier

    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í.


  9. 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


  10. Javier

    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.



Nombre*

Email* Nunca será publicado ni compartido

Comentario*



Copyright © 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