Como montar un sistema de vigilancia casero con un PC viejo, una

Anuncio
Como montar un sistema de
vigilancia casero con un PC viejo,
una Webcam y Linux
________________________________________________________________
________________________________________________________________
Manual original, creado por David Sanchez Cantero
Mas conocido en la red por Forat
Sitio web oficial donde se publican este y otros manuales www.forat.info
Muchas veces podemos tener la impresión de que alguien ha entrado en nuestra
casa, habitación, terraza, sala de estar, cocina, oficina, taller ...
Notamos que algo ha sido movido y en un momento dado podemos echar a
faltar cosas que antes teníamos en nuestro poder.
Con el siguiente manual podemos salir de dudas y montarnos un sistema de
detección de intrusos que podrá delatar al profesional mas pintado.
¿ Quien va a pensar que la webcam de tu ordenador va a estar vigilándole ?
En mi caso resulta que tengo una terraza encima de mi piso y creo que alguien
merodea por ella cuando yo no estoy. Para vigilar esta he montado este sistema
de seguridad con un ordenador portátil muy antiguo, una webcam usb y una
bola de plástico que usaré para protegerla de la intemperie.
Para el montaje de este sistema de seguridad no necesitáis tener una maquina
muy potente. Mi ordenador es un Pentium 3 a 600 con 64 Mb de ram. Partiendo
de estos recursos cuanto mas hardware mejor.
Comenzamos el manual por el temario ...
Introducción
- Vol 1 ( Sistema operativo )
- Vol 2 ( Soporte para WebCam QuickCam USB )
- Vol 3 ( Instalando Motion )
- Vol 4 ( Arranque automático de Motion )
- Vol 5 ( El resultado )
¿ Estas listo ? Comenzamos ...
Introducción
________________________________________________________________
Como ya habéis podido ver anteriormente muchos de los artículos tipo ( How
To ) que se han publicado han estado relacionados con la distribución de Linux
Debian y con otras cosas como drivers para la webcam , configuraciones del kernel ,
instalaciones de Debian , todo sobre Motion , la utilidad wput , redes
inalambras wifi …….
¿ Quieres flipar ?
Si os fijáis en estos artículos y los ordenáis podéis montaros un sistema de
detección de intrusos en otra parte de tu casa, en tu habitación o ( en mi caso,
en la terraza de arriba ) con un pc viejo, una webcam usb, una tarjeta wifi y
una Debian.
Hoy es el primer día que este sistema de seguridad lo tengo totalmente
operativo y puedo vigilar la terraza a tiempo real desde un mi ordenador que
tengo en el piso de abajo además de poder acceder a el vía ssh para manipularlo
si es necesario.
Antes de subir a la terraza me todo la pequeña molestia de apagarlo con un (
halt ) desde el pc de abajo y así no me grava a mi.
El pc ( Guardián ) que tengo en la terraza se encarga de vigilar mientras yo no
estoy y si en algún momento detectara movimiento se pondría a gravar
guardando todos los fotogramas en su disco duro y ala vez enviándome todos
los archivos al ftp que tengo en el piso. De este modo aunque se llevaran el pc
que tengo arriba yo tendría en el disco duro de mi server las pruebas de quien
ha metido mano en mi terraza.
El pc ( Guardian ) está instalado dentro de una caseta de madera y colgado por
dos tornillos de una de las paredes interiores de ella.
La Webcam está instalada en el exterior con angulo hacia la puerta de entrada a
la caseta y hacia la única entrada que hay en la terraza, así si a alguien le da por
entrar sera gravado seguro.
Aquí os muestro un esquema visto desde arriba de la terraza y de el ángulo de
visión que tiene la Webcam …
Como podéis ver en la imagen anterior la Webcam enfoca hacia la puerta de la
caseta y a su vez por el único sitio por donde se puede entrar a la terraza.
Esta es la caseta donde voy a instalar todo el sistema ….
Esta es una de las cosas que ice todo el tiempo que he estado sin Internet.
( Una caseta )
La idea está en instalar un PC dentro y una Webcam fuera que cuando detecte
un movimiento genere capturas y guarde una copia en el disco duro y además
nos mande una copia hacia el servidor que tengo en el piso de abajo.
Bueno, vamos a empezar por presentarnos al ( PC Guardián ) que va a ser el
encargado de todo esto ...
Es un portátil Toshiba con un procesador Celeron 600 y 64 Mb de ram que
perdió su pantalla cuando mi tía le puso encima de el unos 25 libros y cuando lo
abrí la pantalla de cristal liquido se había roto y perdía liquido así que lo
desmonte y le saque la pantalla ( que mal trago ).
Quien sabe si no el destino izo que se quedara sin pantalla para proteger mi
terraza el día de mañana ya que si hubiera tenido pantalla nunca lo abría hecho
servir para esto ( espero que algún día me perdone ) Que penchao estoy !!!
Ahora os voy a presentar a mi Servidor Web ( Titanium ) que cumple varias
funciones que podéis ver aquí y que además será quien guarde lo que captura la
cámara de seguridad.
Es el segundo empezando por la izquierda ...
En un Pc con dos procesadores Pentium 4 a 2.60GHz y 1.8Gb de ram e
incorpora dos discos duros en espejo de 250Gb que rulan bajo una Linux
Gentoo.
Cuando monté este servidor también me fije mucho en el tema de la ventilación
así que le instalé 4 ventiladores silenciosos que no hacen nada de ruido y me
mantienen a esta joya bien fresquita. Ahora vamos con la Webcam ...
La Webcam es una Dexxa del rollo Logitech que se ve bastante bien cosa que
nos interesa bastante. Como la Webcam va a estar en el exterior 24 horas
expuesta al sol y a la lluvia he pensado en protegerla un poco con una bola de
plástico que mis vecinos que tienen hijos me han traído de una maquina de esas
que te dan una bola con un juguete dentro por un euro. jeje ¡ Gracias vecinos !
Para resguardara de los rayos solares voy a pintar todo el interior con pintura de
color negro especial para plásticos que mi mujer me a comprado cuando salia
del trabajo ya que yo estoy en plan ermitaño ( y paso de salir ) :)
Una vez he pintado la bola por dentro le he metido varios trozos de corcho para
aislarla lo mas posible y darle un poco de soporte para poder direccionarla hacia
donde yo quiera. También he atravesado la bola con un tornillo que la mantiene
firmemente fijada a la caseta. Este es el resultado ….
Como decía al principio de este articulo todo esto a sido compuesto por
artículos anteriores y aquí os los voy a dejar por orden por si alguno de vosotros
os atrevéis a montaros vuestro propio sistema de vigilancia.
Sistema operativo
________________________________________________________________
Este fin de semana he montado un PC con pocos recursos y al instalar Debian
me he topado con el mensaje ( Low memory ). El sistema detecto que tenia tan
solo 64 Mb de memoria y esto no a sido un problema para poder instalarlo.
El siguiente manual es valido para maquinas con pocos recursos como para los
que vais sobrados ya que solo cambia en la instalación la aparición de el
mensaje ( Low memory )
Si te animas a usar Linux Debian puedes comenzar por bajarte la imagen ISO
desde aquí y después de gravarla en un CD arrancaremos con ella ….
Para empezar veremos algo así …
Después veremos el mensaje de error ( Low memory ), continuamos …
Seleccionamos nuestro idioma …
Seleccionamos el idioma de nuestro teclado ….
z
Introducimos el nombre que deseamos ponerle a la maquina ( en mi caso
ALIEN )
Introducimos el nombre de nuestro dominio .com .net .org por ejemplo ( en mi
caso hsnet.sytes.net que es la dirección .net de mi server )
A continuación vamos a particionar el disco en el modo que deseemos ( en mi
caso Guided - use entire disk ) que particiona automáticamente y usa todo el
disco.
Seleccionamos el disco a particionar …
Ahora podemos elegir entre tres opciones de particionado, todas las particiones
en /, separar la /home de la / o separar /home, /usr, /var y /tmp. ( En mi caso voy
a separar solo la /home )
Nos presenta un informe sobre como va a quedar el particionado … Si no
estamos de acuerdo ( Undo ) y si lo estamos ( Finish )
El sistema nos avisa de que vamos a destruir todo el contenido del disco …
Seleccionamos nuestra zona horaria …
Introducimos el password de super administrador ( root ) …
verificamos el password repitiéndolo …
Introducimos el nombre completo para un nuevo usuario que vamos a crear ..
Introducimos el nombre para login del nuevo usuario …
Asignamos un password para el nuevo usuario …
Lo verificamos de nuevo repitiéndolo …
Ahora podemos escoger agregar el package manager para agregar paquetes
adicionales de nuestra instalación ( netinst )
Elegimos el país de donde queremos que proceda el mirror
Escogemos el ftp …
Si usamos proxy para salir a Internet hay que indicarlo aquí, si salimos
directamente a Internet dejar en blanco este apartado …
Si queremos participar o no el envió de estadísticas sobre el software que usas
en tu PC ( Opcional ) …
Opciones para agregar programas seleccionados para asignarle una utilidad a
nuestra maquina como por ejemplo …
Validamos la partición Swap …
Instalamos el GRUB …
Seguidamente la puerta de el CDrom se abrirá. Sacamos el CD y continuamos
…
El PC se reiniciara automáticamente y nos mostrará el GDM para que nos
identifiquemos ….
Introducimos el nombre de usuario y el password y veremos algo asi …
Con este paso concluimos la instalación, ahora solo nos queda disfrutar de
nuestro nuevo Linux Debian.
Soporte para WebCam QuickCam
USB
________________________________________________________________
Acabo de instalar una Debian pelada y necesito darle soporte para mi Webcam
ya que con este pc voy a montar un sistema de detección de intrusos para
instalarlo en la terraza así cuando me valla a Lanzarote con el señor Intruso
podré ver si alguien se a colado en ella durante mi ausencia.
He instalado la debian por red y he instalado los paquetes básicos así cargare
esta antigua maquina solo con lo necesario para que cumpla su función y vaya
lo mas desahogada posible.
Voy a bajarme las fuentes del kernel que viene instalado por defecto ya que con
el actual ya me soporta mi webcam.
Antes de nada vamos a bajarnos las fuentes del kernel que tenemos instalado ya
que seguramente mas adelante necesitare compilarlo de nuevo.
Necesitamos apt-src que es quien bajara las fuentes de nuestro kernel
apt-get install apt-src
Miramos la versión de nuestro kernel con …
uname -r
Nos descargamos las fuentes …
apt-src install linux-2.6
Una vez descargadas las fuentes vamos a descargarnos la utilidad moduleassistant que no servirá para cargar el driver para que nuestra webcam
funcione.
apt-get install module-assistant
y seguidamente lo cargamos …
module-assistant
Nos saldrá una pantalla como esta …
Bajamos con el cursor hacia la opción UPDATE y pulsamos enter.
Después vamos a la opción PREPARE para instalar los headers del kernel y
asi poder cargar los modulos …..
Seguidamente nos vamos hacia la opción de SELECT y aquí le diremos que
modulo cargar para nuestra Webcam. Si os fijáis también podemos agregar
soporte para otros hardware pero fijaremos este articulo en la Webcam
Logitech.
Buscamos el modulo ( qc-usb ) y lo marcamos con la barra espaciadora …
Una vez marcado vamos a ( OK ) con el tabulador y enter.
Ahora nos sale una pantalla de instalación de módulos …
El primer paso en este menú sera la opción ( GET ) para que se baje las fuentes
del paquete ….
Seguidamente vamos hacia la opción ( BUILD ) así compilara el paquete para
instalarlo en nuestro kernel …..
Antes de finalizar la compilación el sistema nos preguntará si queremos cargar
el modulo que acaba de crear ….
enter en YES y listo.
Para asegurarnos de que se instala correctamente vamos a ejecutar también la
opción ( INSTALL ) aunque con el paso anterior ya deve de funcionar.
Salimos del menú con la opción ( Cancel ) y despues ( EXIT )
Reiniciamos la maquina con el comando ( reboot ) y una vez estés logeado
inserta la clavija USB de tu Webcam.
Ahora ejecuta el comando ( dmesg ) y veras al final un mensaje como este ….
Como podéis ver ya tenemos instalada la webcam y puedes encontrarla en /dev/
video0.
Motion
( Sistema de detección de
movimiento )
________________________________________________________________
Vamos a instalar Motion en nuestra debian contando que tenemos soporte para
la webcam. Si todo os fue bien en la instalación básica devemos tener lo
suficiente para poder descargarlo sin problemas.
Vamos a comenzar por instalar Motion con el comando aptitude ….
aptitude install motion
Ahora crearemos la carpeta donde vamos a guardar las capturas de nuestras
cámaras.
mkdir /home/forat/cam
Seguidamente vamos a configurar unas cuantas cosillas en su archivo de
configuración motion.conf
vi /etc/motion/motion.conf
Te recomiendo que el auto_brightness lo dejes en off ya que la webcam se
vuelve tan sensible que grava fotos tan solo con el cambio mínimo de
luminosidad.
En la linea target_dir podemos especificar la ruta donde queremos que nos
guarde las capturas.
target_dir /home/forat/cam
Si queremos ver la webcam conectada a nuestro equipo por internet tenemos
que habilitar un puerto y le asignaremos el que tiene por defecto.
webcam_port 8000
Si no queremos que sea accesible desde Internet debemos asignarle el puerto 0
(Te recomiendo que uses el puerto 8000 ya que no suele ser muy utilizado y
recuerda que no puedes poner cualquiera ya que puede crear conflictos de
servicios.)
Y dejando todos los demás ajustes por defecto ya funciona a la perfección.
Aqui os dejo mi archivo de configuración motion.conf
Con mi configuración el software motion debe de actuar como una repetidora
de instantáneas cuando detecte movimiento guardandolas todas en formato ( jpg
).
Como también activamos el puerto 8000 vamos a probar de poner en el
navegador http://tuip:8000 y devemos ver la webcam online.
Ya la tenemos lista para funcionar, pero ahora seria lo suyo que nos mandara
esas instantáneas a un ftp y así poder salvar las pruebas en otro pc que no sea el
mismo que las grava, pero eso será en el próximo manual que ya tengo un poco
de sueño, son casi las 6 de la madrugada.
( Es lo que tiene estar de vacaciones y no tener nada que hacer al día siguiente )
Red inalambrica
________________________________________________________________
Afortunadamente para mi tenia por aquí guardada esta tarjeta de red wifi
U.S.Robotics USR132410 PCMCIA capaz de transmitir datos a 11 Mbps que
no es mucho pero si suficiente para lo que quiero montar.
Para configurar la targeta de red tenemos que editar un fichero llamado
interfaces que se sitúa en /etc/network
En mi caso en particular me la detecta como wlan0, podéis mirar como os la
detecta mediante el comando ifconfig.
Os saldrá algo así … ( pero sin configurar claro )
Una vez detectada vamos a editar el fichero de configuración para las tarjetas de
red con el editor que prefieras …
En mi caso usare el editor ( vi )
vi /etc/network/interfaces
En este fichero se pueden incluir las configuraciones tanto para tarjetas wifi
como para las ethernet. En nuestro caso en particular vamos configurar una ip
estatica y le vamos a indicar cual es el punto de acceso al cual nos vamos a
conectar y ademas le asignaremos una clave web para obtener un poco de
seguridad.
Para que nos entendamos yo he asignado la ip 192.168.1.80 a la tarjeta wifi y
mi router tiene la ip 192.168.1.254.
El nombre essid de mi access point es Hsnet-Node2.
Sabiendo estos datos así es como a quedado mi configuración …
allow-hotplug wlan0
auto wlan0
iface wlan0 inet static
address 192.168.1.80
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.254
dns-nameservers 80.58.61.254
dns-search hsnet.sytes.net
wireless_essid Hsnet-Node2
wireless_rate Auto
wireless_mode Managed
wireless_key clavewep
Podéis hacer lo mismo pero modificando mis parámetros por los de vuestra red.
Una vez lo tengamos configurado podemos salir del editor ( vi ) con la tecla
escape y :wp!
Podemos utilizar los comando ifdown y ifup para parar o lanzar esta
configuración especificándole seguidamente la tarjeta de red.
Ej: ifdown wlan0
ifup wlan0
ahora podemos reiniciar la maquina con un ( reboot ) y veremos los resultados.
ejecutamos el comando ( iwconfig ) y podemos ver que se a conectado a
nuestro punto de acceso ( en mi caso Hsnet-Node2 )
Podemos hacer un ping hacia el router haber si funciona …
También podemos hacérselo a google haber si funcionan bien nuestras dns
Con este manual me voy ha ahorrar el tener que volver a comerme la olla para
configurar la wifi bajo consola ya que no siempre se tiene la interfaz de Gnome
para configurarla.
De Motion a un servidor Ftp remoto
con Wput
________________________________________________________________
Si habéis instalado el software de detección de movimiento ( Motion ) para
montar vuestro sistema de vigilancia casero quizás el siguiente articulo te puede
interesar.
Vamos a ponernos en situación ……
Se supone que estamos montando esta especie de estación de vigilancia para
pillar al caco o cotilla que entra en nuestra propiedad sin permiso. Si yo fuera el
ladrón una de las cosas que me llevaría es el pc que tiene la cámara conectada (
que le delatará ), mas que nada porque es lo mas valioso que encontraría en la
habitación y si se lo llevara se llevaría con el las únicas pruevas que podríamos
utilizar ante un juez.
Por defecto Motion utiliza el propio disco duro del pc para hospedar las
imágenes que captura y no esta mal, pero si se lo lleva el ladrón se acabaron las
pruebas ……
Entonces lo que vamos ha hacer es enviar esas capturas a un servidor remoto
que este en otra casa
( en mi caso a la planta de abajo ya que lo que voy a vijilar es la terraza )
Si recordamos el manual ( instalando motion sistema de detecció de
movimiento en debian ) veremos que estuvimos configurando el archivo
motion.conf y hay es donde vamos a decirle a Motion que envié todo lo que
capture hacia un servidor ftp remoto.
Antes de nada vamos a instalar la aplicación Wput como siempre con un ..
apt-get install wput
Una vez instalado vamos a editar el archivo /etc/motion/motion.conf
vi /etc/motion/motion.conf
Ahora al final de el fichero vamos a insertar esta linea ( claro esta ) que tenéis
que modificar el nombre de usuario, el password y la dirección del ftp remoto
por los vuestros …
on_picture_save wput
ftp://nombredeusuario:password@servidorremoto/directorio/
Salimos del editor ( vi ) con la tecla escape y ( :wq! ) y esto ara que al hacer las
capturas nos las mande a un ftp ademas de gravarlas en el disco duro.
Si tienes un disco duro pequeño en la maquina que utilizas para montar el
sistema de detección de intrusos ten cuidado ya que se te puede inundar de
capturas.jpg y colapsar el sistema. Para que esto no pase podemos añadir una
tarea para que cada 5 minutos las valla borrando si es que hay, así nuestro disco
duro se mantendrá limpio y solo estarán las capturas en el ftp. ( tu decides )
Para agregar una tarea al sistema vamos a utilizar la utilidad ( crontab ) y le
vamos a decir que nos borre esas capturas cada 5 minutos de la siguiente
manera …
Editamos el fichero crontab …
vi /etc/crontab
e introducimos la siguiente linea modificándola por la de la dirección de donde
se hospedan las capturas en tu disco duro ( target_dir )
0-59/5 * * * * root rm -r /directorio/de/capturas/*.jpg
y salimos del editor ( escape + :wp! )
Voila !!, ahora solo tendrás las capturas en el ftp y tu disco duro local se
mantendrá limpio.
¡¡ Me esta quedando muy chula la maquina que estoy montando este verano, si
señor !!
Arranca automáticamente Motion
¿ Y si se va la luz que ?
________________________________________________________________
Imaginaros por un momento que se va la luz ...
¿ Que puede pasar ?
Podríamos tener varios problemas que tenemos que solventar para que nuestro
sistema de vigilancia no se detenga en ningún momento.
El pc además de apagarse cuando vuelva a arrancar no arrancará el programa
Motion. Todo tiene solución en la vida y voy a dar fe de ello.
Podemos solucionar la perdida de energía con un Sai para que nos
alimente el pc durante lo justo para que vuelva la luz ….
O ajustando la placa base desde la bios para que se re-arranque al venir la
luz ….
O incluso puentear el Jumper de la placa base llamado ( POWER ) para
que siempre esté en on )
El problema de la luz solucionado y ahora le toca iniciarse a Motion para que
todo este tal y como estaba antes de irse la luz.
Editamos el archivo motion.conf y cambiamos …
daemon off
por
daemon on
Una vez hecho este cambio vamos a copiar el script de arranque de motion en
el directorio donde se arrancan los demonios.
cp /usr/share/doc/motion/examples/motion.init-Debian /etc/init.d/motion
le damos permisos ….
chmod 755 /etc/init.d/motion
Ahora podemos arrancar Motion como un demonio …
/etc/init.d/motion start
/etc/init.d/motion stop
Ahora tendremos que decirle al sistema que arranque el demonio al inicio.
cd /etc/init.d
y tecleamos el siguiente comando …
update-rc.d motion defaults
Ahora Motion se arrancara como demonio cuando se inicie tu Debian.
Si en algún momento te arrepientes y quieres quitarle del arranque puedes
hacerlo de la siguiente manera …
update-rc.d -f motion remove
Haz la prueba y reinicia el pc, a partir de ahora siempre restara dispuesto para
gravarlo todo cuando tu no estés y no deberás de preocuparte de nada.
Fiaos bien en este articulo …. ¿ Y si se va la luz ?
Pues lo cierto es que ahora ya no me importa ya que tengo solucionados el
problema de los cortes de luz y el inicio del programa de vigilancia.
El resultado
________________________________________________________________
Si ya te has hecho todos los manuales anteriores ahora solo tienes que
instalártela y disfrutar de tus vacaciones tranquilamente sabiendo que si alguien
entra donde no tiene que entrar lo vas a pillar.
Aquí os dejo estas dos capturas para que veáis como me a pillado a mi mismo al
entrar a la terraza tanto de día como de noche …
Espero que este macro manual que os acabáis de leer os sirva de ayuda para
montaros vuestro propio sistema de vigilancia, o simplemente os hayáis
entretenido leyéndolo tanto como yo montándolo.
Este manual y otros mas podéis encontrarlos en el Blog www.forat.info así
como su descarga en formato PDF en www.forat-project.com
Sois libres de copiar, modificar o incluso usar este manual para lo que queráis
incluidos los estudiantes universitarios como proyecto para presentarlo.
Este manual ha sido creado para el aprendizaje de todo el que le interese y
puede hacer con el lo que quiera, tan solo se pide un reconocimiento del mismo
con un link en tu web o si lo deseas puedes realizar un donativo al autor desde
la dirección www.forat.info/aporta
Descargar