jueves, 2 de enero de 2014

Cómo montar un sistema de videovigilancia con una Raspberry Pi, Web-cams y Motion.

NOTA PREVIA

En realidad cualquier ordenador que tengas por casa, por muy viejo que sea podría servirte. Simplemente instálale un SO ligero que pueda servirte como servidor sin que se termine quemando por el uso continuo en 2 semanas (algo como Ubuntu Server o incluso Slax o DSL... vamos, cualquier cosa que se adapte a lo que quieras)


TUTORIAL

Este tutorial está especialmente enfocado a usuarios de Raspberry Pi, pero nada te impide seguir el procedimiento en otros equipos... si bien hacer algunas cosas carecerá de sentido. Haré otro tutorial más general luego.

-Fuentes: 1http://knowledgeweighsnothing.com (Inglés), traducido, editado y ampliado.



Raspberry Pi


A todos aquellos a los que les asusta la nueva tecnología o a quienes la imagen de arriba les pueda echar un poco para atrás, les quiero decir: ¡ESTO NO ES demasiado DIFÍCIL DE HACER!
Si eres capaz de seguir estas simples instrucciones podrás construir tu propio sistema de videovigilancia activado por detección de movimiento que te enviará imagenes por email cuando salte una alarma. 
Partiendo sin materiales previos puedes construirlo todo por menos de 100$ (unos 73€) y tenerlo listo en un par de horas. 
Cojonudo ;)


Bueno, manos a la obra.

Necesitarás lo siguiente:
 
-Una cuenta de Gmail.
-Una Raspberry Pi (te interesa el "Modelo-B". Recomiendo comprarla en Raspipc o Amazon) o un PC          con Linux.
Raspberry Pi Camera Board, o alguna webcam compatible con linux (normalmente no hay problema).

- Si optas por la Raspberry Pi es recomendable:
   -un cargador de al menos 5V y 2000amp (puede que te sirva el tu teléfono móvil o tablet) o un HUB que       ayude a suministrar corriente extra a la cámara. 
   -un Modulo Wifi (si no quieres usar un cable de Ethernet)


Instrucciones:

Vamos a asegurarnos de que has preparado bien tu Raspberry Pi  (RP en adelante), y de que está lista para usarse.
En primer lugar conecta la RP a tu monitor o pantalla usando el cable HDMI y después conecta un teclado. Enchúfala ahora a la corriente y espera un momento a que se inicie. En caso de que te pida un usuario y contraseña debes saber que los que vienen de fabrica son Usuario: pi y Contraseña: raspberry (Te recomiendo que los cambies en cuanto tengas un momento). Llegados a este punto deberías estar trabajando en modo comando, para pasar al modo gráfico escribe

starx

Ahora conecta el Adaptador Wifi o el cable de Ethernet y la cámara a la RP.

Es el momento de hacer un poco de programación sencillita para que la cámara y el correo funcionen como deben. ¡No te preocupes! Solo tienes que seguir las instrucciones y copiar y pegar las lineas de código tal cual aparecen. Es importante que sigas el orden y que todo se copies todo tal cual está.

Abrimos una LXTerminal y escribimos

sudo raspi-config

Seleccionamos "enable Raspberry Pi Camera" para activar la cámara y seleccionamos "Not have to log in upon boot" para que el sistema se inicie directamente sin nuestra intervención. 
Una vez hecho esto podemos salir de la configuración.

Vamos ahora a asegurarnos de que el sistema está actualizado. Conectados a Internet escribimos

sudo apt-get update

Una vez termine termine introducimos

sudo apt-get upgrade

Cuando pregunte si queremos continuar le decimos que sí. y esperamos a que acabe el proceso. 

Toca ahora empezar a instalar los paquetes que usaremos.

sudo apt-get install mpack

sudo apt-get install ssmtp

Para seleccionar la hora y fecha (si quieres) debes escribir 

sudo date 0413144913   Esto es un ejemplo que indica (Sábado Abril 13 14:49:00 UTC 2013). Tienes que indicar el tiempo que te interese a tí, no el del ejemplo. 

Una vez hecho lo anterior es el momento de configurar ssmtp. Para ello hay varias opciones, pero vamos a hacer esto:

sudo nano /etc/ssmtp/ssmtp.conf

Muévete por el archivo de configuración utilizando las flechas. Edita las siguientes lineas:

   root=tuusuario@gmail.com       Introduce tu cuenta de gmail.
   mailhub=smtp.gmail.com:465
   rewriteDomain=gmail.com
   FromLineOverride=YES

Añade estas lineas al final del archivo:

   AuthUser=TuUsuario                    Introduce tu usuario.
   AuthPass=TuContraseña              Introduce tu contraseña.
   UseTLS=YES

Presiona Ctrl + x, responde que sí (y) y guarda los cambios.

Ahora instalaremos el programa de videovigilancia Motion (para más de 4 cámaras recomiendo Zoneminder). Escribimos:

sudo apt-get install motion

También instalamos paquetes adicionales:

sudo apt-get install -y libjpeg62 libjpeg62-dev libavformat53 libavformat-dev libavcodec53 libavcodec-dev libavutil51 libavutil-dev libc6-dev zlib1g-dev libmysqlclient18 libmysqlclient-dev libpq5 libpq-dev

Descargamos el cliente de Dropbox, un sistema de almacenamiento online. Hay otros, pero este es uno de los mejores en seguridad y precio (gratis hasta los 2GB, jeje). Tendrás que crearte una cuenta en dropbox.com si no tienes una ya. El cliente creará una carpeta en la que puedes guardar las fotos y vídeos para que se almacenen en la nube automáticamente.

wget https://www.dropbox.com/s/xdfcxm5hu71s97d/motion-mmal.tar.gz

Ahora:

tar zxvf motion-mmal.tar.gz

Editamos la configuración de Motion. Aquí se pueden hacer muchas cosas como elegir formatos de imagen y video, su resolución, cambiar el numero de imágenes por segundo, habilitar puertos para emitir las imágenes, elegir el destino de las imágenes, seleccionar las zonas del video en que detectar movimiento... 
Tomaos un tiempo luego para revisar las opciones. De momento esto es lo que vamos a hacer:

sudo nano /home/pi/motion-mmalcam.conf

Y editamos las siguientes lineas:


Editar “width” a: 640
Editar “height” a: 480
Editar “mmalcam_use_still” a: mmalcam_use_still on
Editar “threshold 1500” a: threshold 3000
Editar “output_pictures” a: output_pictures on
Editar “quality 75” a: quality 100
Editar “ffmpeg_output_movies” a ffmpeg_output_movies off
Editar “target_dir” a: target_dir /home/pi
Editar “stream_port” a: stream_port 0
Editar “webcontrol_port” a: webcontrol_port 0
Editar “on_picture_save value” a: on_picture_save mpack -s Alert %f YourUsername@gmail.com

Presiona Ctrl + x, responde que sí (y) y guarda los cambios.

Ahora abrimos el explorador de archivos y vamos hasta /home/pi. Hacemos click con el botón secundario > Create New > Blank File Y creamos un nuevo archivo en blanco. Que llamaremos sar.sh

Repetimos y creamos otro archivo que llamaremos rm.sh

Volvemos a la LXTerminal e introducimos:

sudo nano sar.sh

Y introducimos EXACTAMENTE lo que sigue


#!/bin/sh
. /motion -n -c motion-mmalcam.conf

Presiona Ctrl + x, responde que sí (y) y guarda los cambios.

Ahora editaremos el otro archivo. Escribe 

sudo nano rm.sh

Y introduce EXACTAMENTE:


#!/bin/bash
cd /home/pi
while true; do
rm -f *.jpg
sleep 60

done

Presiona Ctrl + x, responde que sí (y) y guarda los cambios.

Ahora para dar permiso de ejecución a los archivos que hemos creado escribe

sudo chmod +x /home/pi/sar.sh

sudo chmod +x /home/pi/rm.sh

Ahora:

sudo nano /etc/xdg/lxsession/LXDE/autostart

Debajo de  "@xscreensaver -no-splash" escribe esto:


@/home/pi/sar.sh
@/home/pi/rm.sh

Presiona Ctrl + x, responde que sí (y) y guarda los cambios.

Toca reiniciar el equipo. Escribe

sudo reboot

Tu cámara de seguridad ya debería estar funcionando correctamente :)


NOTAS:

-Para configurar más de una cámara Motion es un poco puñetero. Cuando añades más de 1 motion.conf pasa a ser el archivo principal y cada cámara se configura por separado en su propio archivo. Lo verás más claro si navegas hasta etc/motion/conf. Me explayaré más más adelante.

-Tal vez te interese borrar regularmente los vídeos y/o fotos para que no se acumulen. Puedes hacer una rutina que se encargue de borrar los archivos de más de X días fácilmente. Luego lo pongo.

-Si compras una Webcam procura que la resolución "DE HARDWARE" sea de al menos 640x480.

-Si tienes una Webcam barata puedes modificarla para que grabe luz infrarroja sencillamente quitando el filtro de luz IR, un cristalito rojo entre la lente y el sensor. Perderás un poco de calidad de imagen pero podrás grabar en la oscuridad. Subiré un Como se Hace.

-Luego editaré el post para poner algunas capturas de pantalla.

-Si tenéis alguna sugerencia no dejéis de comentar :)

-Por último, merece la pena conocer un poco lo que tiene que dcir la normativa en lo que respecta la videovigilancia en cada país antes de acometer cualquier proyecto serio (CCTV en fincas, almacenes, calles... ). Aquí os dejo un enlace para que os informéis de lo que dice la normativa española Guía de Videovigilancia. España. Si no es la que se os aplica buscad la que necesitéis. 













No hay comentarios:

Publicar un comentario