• Skip to main content
  • Skip to primary sidebar
  • Inicio
    • Acerca de
    • Cookies y RGPD
  • Sistemas Operativos
  • Tipos de Raspberry Pi
    • Mejores microSD
  • Glosario
  • Blog
    • Alternativas
    • FAQ
  • Contacto

Raspberry para torpes

pero para torpes, torpes

Proyecto vídeo vigilancia con Raspberry Pi y Motion

10 octubre, 2014 by manuti 9 Comments

Actualización: Recomiendo que miréis el artículo motionEyeOS vigilando con la Raspberry Pi

He ayudado, un poco, a preparar un proyecto de vídeo vigilancia con Motion para detectar intrusiones.
Solo contaré aquí la parte correspondiente a la Raspberry Pi, hay otra parte adicional que consiste en un servidor con Nagios que monitoriza si hay nuevas imágenes en la carpeta dónde se guardan éstas cuando se detecta movimiento.

Para ello se dispuso de:

  • Raspberry Pi B o Raspberry Pi B+
    comprar-raspberry-pi-b
  • Webcam Logitech
    webcam_logitech_raspberrypi
  • Un sistema complementario, otro servidor con Nagios en este caso, que se encargue de comprobar que hay imágenes guardadas por detectarse movimiento y haga las tareas adicionales de guardado, encriptado (más o menos conforme a la LOPD) y envío.

  • Sistema Operativo montado en Raspberry Pi (a partir de ahora RPi) -> Raspbian en su versión 1.3.10 con fecha 12.09.2014. En caso de querer cambiar alguna configuración del sistema operativo: sudo raspi-config
  • IP del sistema = necesitamos que sea una IP fija
  • Usuarios utilizados:
    • Pi -> con permisos de sudo
    • Root -> usuario root de la máquina

Las imágenes con movimiento detectado se guardan en /var/www/pi/

Directorios y ficheros importantes del dispositivo:

  • /tmp/motion/
  • /home/pi/img-seguridad/
  • /home/pi/img-cifradas/
  • /home/pi/script/
  • /home/pi/cp-seg-img/ (aquí van las archivos que se traen del servidor para comprobar que se han pasado correctamente)
  • /home/pi/encriptador.rpi
  • /home/pi/img-cifradas/verificacion-md5.asc
  • /etc/motion/copias

Servicios, paquetes instalados y necesarios para el cometido:

  • Motion (servicio para videocámara)
  • Postfix (para poder mandar correos)
  • gpg2 (para encriptar ficheros)
  • md5sum (para asegurar la integridad de los ficheros)
  • crontab (pone los horarios para activar el servicio motion)
  • ffmpeg (utilizado por motion para crear los archivos de vídeo)

Configurando Motion

Una vez instalados se configura el archivo motion.conf que se encuentra en el directorio /etc/motion/. Los parámetros que tienen que ser modificados son:

  • Daemon -> cambiamos daemon off por on
  • target_dir [path] -> se añade el path el cual queremos que vaya guardando las capturas
  • snapshot_filename -> cambia el nombre con el que se guardan las capturas
  • jpeg_filename -> cambia el nombre con el que se guardan las capturas con movimiento detectado. Por ejemplo: evento-fecha-numero_frame.jpg
  • webcam_port -> puerto por el cual se puede acceder a las capturas que se están haciendo en el momento. Por ejemplo: 8001
  • control_localhost -> lo ponemos a off para que no conecte únicamente con localhost y podamos hacerlo en remoto
  • on_motion_detected [path] -> en caso de detectarse movimiento (cambio de valores entre píxeles) se ejecutará el script cuyo path ha sido facilitado.
  • ffmpeg_cap_new -> lo ponemos a on para que cree archivos de vídeo cuando capte movimiento
  • ffmpeg_video_codec -> en que formato queremos que se guarden los vídeos

Para activar servicio en modo debug: sudo motion -n Para activar el servicio: sudo service motion start Para parar el servicio: sudo service motion stop

Script para el proceso tras la detección

Nagios estará monitorizando el estado del directorio /home/pi/img-seguridad/ y /home/pi/video-seguridad/, tras varias comprobaciones de la existencia de un nuevo archivo ejecutará el script /home/pi/encriptador.rpi, tenemos que pasarle un argumento, –imagenes o –videos para encriptar y mandar uno u otros archivos. Este programa copia los archivos del directorio a /home/pi/img-cifradas/ o /home/pi/video-cifrados donde los encripta, crea un fichero md5 para mantener la integridad y los envía a raspi@ip_fija_sistema:/var/www/pi/imagenes o a /videos.

Luego, para desencriptar las imágenes, se debe ejecutar el script descript que se encuentra en el directorio /var/www/script/, igualmente hay que indicarle si queremos imágenes(–imagenes) o vídeos(–videos). Este comprueba la integridad de los ficheros, y en el caso de ser fiables los desencriptará, por otro lado, si no se ha mantenido la integridad de estos los dejará tal cual y avisará al usuario de ello.

Los nombres de los archivos seguirán el siguiente patrón:

  • Imágenes: LOCAL-img-FECHA|HORA.jpg
  • Vídeos: LOCAL-mov-FECHA|HORA.avi

Con Crontab podemos controlar las horas a las que funciona el servicio motion. Y hacer una limpieza periódica de temporales, por ejemplo: borrar cada minuto los archivos con extensión jpg que haya en /tmp/motion/

Los scripts están en GitHub con el twitter del autor y lo más importante:

Gracias a @bollit0

Artículos relacionados:

Proyecto vídeo vigilancia con Raspberry Pi y Python Conectar una Webcam con Motion en Raspberry Pi motionEyeOSmotionEyeOS vigilando con la Raspberry Pi RabbitMax Flex un proyecto de IoT para Raspberry Pi

Filed Under: proyectos Tagged With: CCTV, motion, video surveillance, video vigilancia, webcam

Primary Sidebar

Categorías

Archivos

RASPBERRY PI | RECOMENDACIONES

Rebajas Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
Raspberry Pi Spain RAS-4-4G - Placa Base Pi 4 Modelo B / 4 GB SDRAM (1822096)
74,10 EUR
Comprar en Amazon
Samsung EVO Select - Tarjeta de Memoria microSDXC de 32 GB con Adaptador SD, 95 MB/s, UHS1, Color Verde y Blanco
Samsung EVO Select - Tarjeta de Memoria microSDXC de 32 GB con Adaptador SD, 95 MB/s, UHS1, Color Verde y Blanco
Comprar en Amazon
Raspberry Placa Base PI 3 Modelo A+, Cortex a 1.4GHZ, WiFi 5GHZ (11811853)
Raspberry Placa Base PI 3 Modelo A+, Cortex a 1.4GHZ, WiFi 5GHZ (11811853)
Amazon Prime
34,90 EUR
Comprar en Amazon
Raspberry Pi 4 Computer Official Premium Kit with MicroSD 32GB S.O. preloaded (2GB RAM, Black)
Raspberry Pi 4 Computer Official Premium Kit with MicroSD 32GB S.O. preloaded (2GB RAM, Black)
Comprar en Amazon
Rebajas Logitech MK270 Combo Teclado y Ratón Inalámbrico para Windows, 2,4GHz Inalámbrico, Ratón Compacto, 8 teclas multimedia y de acceso directo, 2 años de batería, PC, PC Portátil, QWERTY Español - Negro
Logitech MK270 Combo Teclado y Ratón Inalámbrico para Windows, 2,4GHz Inalámbrico, Ratón Compacto, 8 teclas multimedia y de acceso directo, 2 años de batería, PC, PC Portátil, QWERTY Español - Negro
Amazon Prime
24,59 EUR
Comprar en Amazon
Rebajas Logitech K400 Plus Teclado Inalámbrico Táctil para TV con Control Multimedia y Touchpad, Teclado QWERTY Español - Negro
Logitech K400 Plus Teclado Inalámbrico Táctil para TV con Control Multimedia y Touchpad, Teclado QWERTY Español - Negro
Amazon Prime
34,90 EUR
Comprar en Amazon
Raspberry Pi 4 Model B 2GB ARM-Cortex-A72 4x 1,50GHz, 2GB RAM, WLAN-ac, Bluetooth 5.0, LAN, 4x USB, 2x Micro-HDMI
Raspberry Pi 4 Model B 2GB ARM-Cortex-A72 4x 1,50GHz, 2GB RAM, WLAN-ac, Bluetooth 5.0, LAN, 4x USB, 2x Micro-HDMI
68,49 EUR
Comprar en Amazon

Última actualización el 2025-05-08 / Enlaces de afiliados / Imágenes de la API para Afiliados

© 2013–2025

Este sitio web usa cookies para mejorar su experiencia como usuario ► Aceptar Rechazar ◘ Si necesita más información
Política de Cookies

Privacy Overview

This website uses cookies to improve your experience while you navigate through the website. Out of these cookies, the cookies that are categorized as necessary are stored on your browser as they are essential for the working of basic functionalities of the website. We also use third-party cookies that help us analyze and understand how you use this website. These cookies will be stored in your browser only with your consent. You also have the option to opt-out of these cookies. But opting out of some of these cookies may have an effect on your browsing experience.
Necessary
Siempre activado
Necessary cookies are absolutely essential for the website to function properly. This category only includes cookies that ensures basic functionalities and security features of the website. These cookies do not store any personal information.
Non-necessary
Any cookies that may not be particularly necessary for the website to function and is used specifically to collect user personal data via analytics, ads, other embedded contents are termed as non-necessary cookies. It is mandatory to procure user consent prior to running these cookies on your website.
GUARDAR Y ACEPTAR