Cámara de seguridad con Raspberry Pi (SecurOS)

By Proyectos Raspberry Pi, , , With 30 comments

Descripción del proyecto “SecurOS”

SecurOS es mi primer proyecto “serio” con Raspberry Pi. Cuando digo “serio” me refiero a que es algo más complejo que conectar un par de LEDs y hacer que parpadeen. La idea principal del proyecto es montar una cámara de seguridad con Raspberry Pi activada por un sensor de movimiento HC-SR501 y que pueda capturar fotografías cuando detecte movimiento gracias al módulo de cámara Pi NoIR.

A este modelo en concreto se le ha quitado el filtro infrarojo del sensor de la cámara, gracias a eso podemos tomar fotografías de noche siempre que dispongamos de una fuente de luz infraroja. Se puede diferenciar del modelo normal porque la placa donde van soldados los componentes es de color negro, la normal es verde.

Módulo normalMódulo infrarojo

Para hacer el proyecto más complejo se me ha ocurrido que las fotografías tomadas por la cámara deberían poderse consultar de forma remota, por ejemplo, desde cualquier navegador web ya sea de escritorio o móvil y que el objetivo de la cámara debería poderse orientar a izquierda y derecha.

Además, para aprovechar al 100% las posibilidades de la cámara, debería poderse usar en ambientes con poca o ninguna luz. Este proyecto podría ser útil por ejemplo para detectar el paso de personas por un área determinada o para controlar los movimientos de una mascota. Incluso para saber quien te roba los folios en la oficina! 😀

Componentes y materiales necesarios

  • 1x Raspberry Pi model B con el firmware actualizado
  • 1x Tarjeta SD de 4 GB con Raspbian actualizado
  • 1x Sensor de movimiento HC-SR501 (sensor piroeléctrico)
  • 1x Mini servomotor SG90 para modelismo
  • 1x Módulo de Cámara Pi NoIR (sensible a la luz infraroja)
  • 1x Transformador 220V a 12V (cargador de baterías)
  • 1x Step down de 12V a 5V DC-DC
  • 1x Anillo de 36 LEDs infrarojos de 850nm
  • 1x Caja de plástico para conexiones eléctricas
  • 3x Cables hembra-hembra para el sensor HC-SR501
  • 3x Cables macho-hembra para el servomotor SG90

Esquema de conexiones y cableado

securos_yy

El esquema no es demasiado complicado. Un transformador convierte los 220V del enchufe de pared a 12V, con esta tensión alimento el anillo de LEDs infrarojos que lleva incorporado un sensor fotoeléctrico que automatiza el encendido y apagado de los LEDs según si es de día o de noche. Del anillo de LEDs saco 2 cables en paralelo que irán conectados al step down convirtiendo los 12V en 5V, lo necesario para alimentar la Raspberry Pi. He usado parte de un cargador de un teléfono Samsung que tenía en un cajón para hacer el empalme entre el step down y la Raspberry.

Tanto el servomotor SG90 como el sensor HC-SR501 se pueden alimentar desde los pines GPIO de 5V y cada uno de ellos va conectado a otros pines GPIO que enviarán las señales pertinentes para controlarlos.

La cámara va conectada al puerto CSi de la Raspberry y con esto, ya tendríamos todo el cableado montado y listo para funcionar. Veamos como ha quedado una vez todo conectado.

20140823_172952

20140823_173139

Una vez fijados los componentes a la caja con la pistola de goma caliente (no me queda ni un tornillo en casa!, o_O) solo he tenido que perforar un agujero en la tapa para pasar el cable CSI de la cámara y otro para poder fijar el servomotor. Como vereis en la foto a continuación he perforado un pequeño agujero en la cajita que proteje la cámara y he pegado un trozo de los brazos que incluye el servo. El engranaje para la cámara me ha quedado muy bien! 😀

20140823_175001

Luego solo he tenido que sacar un par de cables a 12V para alimentar el anillo de LEDs, lo he pegado al exterior de la caja lo cual es bastante cutre pero se me ha ocurrido hacer una especie de cajita con un bote de patatas Pringles cuyo diámetro es ligeramente superior al del anillo. Cuando lo tenga acabado pondre más fotos, de mientras podeis ver como me ha quedado.

20140823_175246

En este vídeo podeis ver como el servomotor orienta la cámara de la Raspberry, los clicks que se escuchan de fondo son del ratón mientras pincho en los botones del panel de administración.

Panel de administración de la cámara

securos1securos2securos3securos4

Para crear el panel de administración de la cámara he usado BootStrap, un framework diseñado por Twitter que permite crear páginas web con CSS y Java que adaptan su diseño dependiendo del tamaño de la pantalla del dispositivo de forma nativa. Una vez montado el “esqueleto” de la página puse algunos recortes de código PHP para poder listar todas las imágenes guardadas por la cámara y también algo de javascript para crear la cuenta regresiva del final de la sesión activa. El panel de administración hace uso de sesiones de usuario y las finaliza automáticamente cada cierto tiempo para evitar que alguien se aproveche de una sesión abierta por otro usuario.

Para alojar el panel de administración instalé un servidor web en la Raspberry Pi (Lighttpd) y para acceder a el uso la IP local desde cualquier navegador, en mi caso http://192.168.1.128/. Abriendo el puerto 80 en nuestro ruter para aceptar conexiones entrantes y asignando una IP fija a la Raspberry para posteriormente enlazarlo con el servicio NO-IP.org nos permitiría acceder a las imágenes capturadas y al control total del sistema desde cualquier punto del planeta.

Te ha gustado este proyecto?, compártelo, deja un me gusta o un +1, escribe un comentario o explícame como lo mejorarías!.