tutoriales.com

Crea tu Sistema de Vigilancia IP con Raspberry Pi y MotionEyeOS: Seguridad en Casa

Este tutorial te guiará paso a paso para transformar tu Raspberry Pi en un robusto sistema de videovigilancia IP. Utilizaremos MotionEyeOS, un sistema operativo optimizado para cámaras, para ofrecerte una solución de seguridad doméstica o para pequeños negocios, permitiéndote monitorear en tiempo real y grabar eventos importantes.

Intermedio25 min de lectura9 views
Reportar error

🚀 Introducción al Sistema de Vigilancia DIY con Raspberry Pi

En un mundo donde la seguridad es una preocupación creciente, contar con un sistema de vigilancia confiable se ha vuelto esencial. Sin embargo, las soluciones comerciales a menudo son costosas y complejas. ¿Qué pasaría si pudieras construir tu propio sistema de vigilancia IP, potente y accesible, utilizando una pequeña pero versátil computadora como la Raspberry Pi?

¡La buena noticia es que puedes! En este tutorial, te embarcaremos en el fascinante viaje de crear un sistema de vigilancia IP completo utilizando una Raspberry Pi y MotionEyeOS. Esta combinación te permitirá monitorear tu hogar, oficina o cualquier espacio que desees, con detección de movimiento, grabación de video y acceso remoto desde cualquier lugar con conexión a internet.

MotionEyeOS es una distribución de Linux ligera y optimizada específicamente para sistemas de videovigilancia. Facilita enormemente la configuración de cámaras IP, webcams USB y cámaras Pi, proporcionando una interfaz web intuitiva para la gestión y visualización.

¿Por qué elegir Raspberry Pi para tu vigilancia?

La Raspberry Pi es una plataforma ideal para proyectos de vigilancia por varias razones:

  • Costo-efectividad: Es mucho más económica que la mayoría de los NVRs (Network Video Recorders) comerciales.
  • Flexibilidad: Permite integrar diferentes tipos de cámaras y personalizar la configuración.
  • Bajo consumo: Funciona con muy poca energía, lo que la hace ideal para operaciones 24/7.
  • Tamaño compacto: Se puede ocultar fácilmente en cualquier lugar.
  • Comunidad activa: Gran cantidad de recursos y soporte online.
📌 Nota: Este tutorial está diseñado para principiantes e intermedios. No se requieren conocimientos avanzados de Linux, pero sí una familiaridad básica con la Raspberry Pi y sus conceptos.

📋 Materiales Necesarios

Antes de empezar, asegúrate de tener todos los componentes listos. La preparación es clave para un proceso sin contracciones.

Hardware 🛠️

  • Raspberry Pi: Se recomienda una Raspberry Pi 3B+, 4 o Zero W (para una sola cámara). Cuanto más potente, mejor el rendimiento, especialmente con múltiples cámaras.
  • Tarjeta MicroSD: Clase 10 o superior, de al menos 8GB (se recomienda 16GB o 32GB para grabaciones).
  • Fuente de alimentación: Adaptador de corriente oficial para tu modelo de Raspberry Pi (5V, 2.5A para Pi 3B+, 5V, 3A para Pi 4).
  • Cámara:
    • Cámara oficial de Raspberry Pi (CSI): V1, V2, o la HQ Camera. Ofrecen la mejor integración y rendimiento.
    • Webcam USB: Cualquier webcam USB compatible con Linux funcionará. (Asegúrate de que no requiera drivers específicos).
    • Cámara IP: Si ya tienes una cámara IP, puedes integrarla en MotionEyeOS. (Necesitarás la URL RTSP o MJPEG).
  • Lector de tarjetas MicroSD: Para grabar la imagen de MotionEyeOS.
  • Cable Ethernet (opcional pero recomendado): Para una configuración inicial más estable, aunque también puede configurarse por Wi-Fi.
⚠️ Advertencia: El uso de una Raspberry Pi Zero W puede limitar el número y la resolución de las cámaras debido a su menor potencia de procesamiento y ancho de banda Wi-Fi.

Software y Herramientas 💻

  • MotionEyeOS: La imagen del sistema operativo. (Descargar desde el sitio oficial: github.com/ccrisan/motioneyeos/releases)
  • BalenaEtcher: Software para grabar la imagen en la tarjeta MicroSD. (Descargar desde: www.balena.io/etcher/)
  • Editor de texto plano: Como Notepad++ (Windows), Sublime Text (macOS/Linux) o VS Code.
  • Acceso a tu router: Para encontrar la dirección IP de tu Raspberry Pi.
💡 Consejo: Asegúrate de descargar la versión de MotionEyeOS específica para tu modelo de Raspberry Pi (ej. `motioneyeos-raspberrypi4-YYYYMMDD.img.xz`).

📝 Preparación de la Tarjeta MicroSD

Este es el primer paso crucial para instalar MotionEyeOS en tu Raspberry Pi. Consiste en grabar el sistema operativo en la tarjeta MicroSD para que la Pi pueda arrancar desde ella.

Paso 1: Descargar MotionEyeOS

Dirígete a la página de lanzamientos de MotionEyeOS en GitHub (github.com/ccrisan/motioneyeos/releases). Busca la última versión estable y descarga la imagen (.img.xz) correspondiente a tu modelo de Raspberry Pi. Por ejemplo, si tienes una Raspberry Pi 4, descarga motioneyeos-raspberrypi4-YYYYMMDD.img.xz.

Paso 2: Descargar e Instalar BalenaEtcher

Si aún no lo tienes, descarga e instala BalenaEtcher desde www.balena.io/etcher/. Es una herramienta muy sencilla y confiable para grabar imágenes de sistemas operativos en tarjetas SD o unidades USB.

Paso 3: Grabar la Imagen en la MicroSD

  1. Inserta tu tarjeta MicroSD en el lector de tarjetas de tu computadora.
  2. Abre BalenaEtcher.
  3. Haz clic en "Flash from file" y selecciona el archivo .img.xz de MotionEyeOS que descargaste.
  4. Haz clic en "Select target" y elige tu tarjeta MicroSD. ¡Cuidado! Asegúrate de seleccionar la unidad correcta para no sobrescribir datos importantes.
  5. Haz clic en "Flash!" y espera a que el proceso termine. Esto puede tardar varios minutos dependiendo de la velocidad de tu tarjeta y tu lector.
1. Descargar MotionEyeOS 2. Descargar e Instalar Etcher 3. Grabar Imagen en MicroSD con Etcher

⚙️ Configuración Inicial de Red (Wi-Fi) - Opcional

Si deseas usar Wi-Fi desde el principio, o si tu Raspberry Pi no tiene puerto Ethernet (como la Zero W), necesitas preconfigurar las credenciales de Wi-Fi en la tarjeta MicroSD antes de arrancar la Pi.

Paso 1: Acceder a la Partición boot

Una vez que BalenaEtcher termine de grabar, retira y vuelve a insertar la tarjeta MicroSD. Deberías ver una partición llamada boot (o similar) en tu explorador de archivos.

Paso 2: Crear el archivo wpa_supplicant.conf

Dentro de la partición boot, crea un nuevo archivo de texto llamado wpa_supplicant.conf (sin extensión .txt). Abre este archivo con un editor de texto plano (como Notepad++) y añade el siguiente contenido, reemplazando NOMBRE_DE_TU_WIFI y TU_CONTRASEÑA_WIFI con tus propios datos:

country=ES
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="NOMBRE_DE_TU_WIFI"
    psk="TU_CONTRASEÑA_WIFI"
    key_mgmt=WPA-PSK
}
🔥 Importante: Asegúrate de que el `country` sea el código ISO 3166-1 alpha-2 de tu país (ej. `ES` para España, `MX` para México, `AR` para Argentina, etc.). Esto es crucial para que el Wi-Fi funcione correctamente.

Paso 3: Guardar y Expulsar

Guarda el archivo wpa_supplicant.conf y expulsa de forma segura la tarjeta MicroSD de tu computadora.

¿Qué pasa si mi Wi-Fi tiene una configuración más compleja (oculto, WEP, etc.)?Para configuraciones avanzadas, consulta la documentación oficial de `wpa_supplicant` o conecta la Pi por Ethernet primero para configurarlo a través de la interfaz web de MotionEyeOS.

🚀 Primer Arranque y Acceso a la Interfaz Web

¡Es hora de encender tu Raspberry Pi y acceder a MotionEyeOS!

Paso 1: Conectar la Cámara y Encender la Pi

  1. Cámara Pi (CSI): Conecta el cable plano de la cámara al puerto CSI de la Raspberry Pi, asegurándote de que los contactos plateados miren hacia el conector HDMI.
  2. Webcam USB: Inserta la webcam USB en uno de los puertos USB de la Raspberry Pi.
  3. Inserta la tarjeta MicroSD preparada en la ranura de la Raspberry Pi.
  4. Conecta el cable Ethernet (si lo vas a usar) y finalmente, conecta la fuente de alimentación a la Raspberry Pi.

La Raspberry Pi se encenderá y comenzará a arrancar MotionEyeOS. Este primer arranque puede tardar unos minutos, ya que el sistema operativo se expandirá y configurará por primera vez.

Paso 2: Encontrar la Dirección IP de tu Raspberry Pi

Necesitas la dirección IP de tu Raspberry Pi para acceder a la interfaz web de MotionEyeOS. Hay varias maneras de encontrarla:

  • Recomendado (Router): Inicia sesión en la interfaz de administración de tu router (normalmente 192.168.1.1 o 192.168.0.1). Busca una sección como "Dispositivos conectados", "Lista de DHCP" o "Clientes conectados". Deberías ver un dispositivo llamado meye-xxxxxx o raspberrypi con su dirección IP asignada.
  • Herramientas de red: Utiliza herramientas como nmap (Linux/macOS) o Advanced IP Scanner (Windows) para escanear tu red local.
💡 Consejo: Una vez que encuentres la IP, es buena idea asignarle una IP estática en tu router (reserva DHCP) para que no cambie con el tiempo.

Paso 3: Acceder a la Interfaz Web de MotionEyeOS

Una vez que tengas la dirección IP de tu Raspberry Pi, abre tu navegador web favorito y escribe la dirección IP seguida del puerto 8081 (que es el puerto por defecto de la interfaz web de MotionEyeOS):

http://[DIRECCIÓN_IP_DE_TU_PI]:8081

Por ejemplo, si la IP de tu Pi es 192.168.1.100, irías a http://192.168.1.100:8081.

Deberías ver la interfaz de MotionEyeOS. El usuario por defecto es admin y la contraseña está vacía. Inicia sesión.

⚠️ Advertencia: Cambia la contraseña por defecto de `admin` lo antes posible para evitar accesos no autorizados.

📹 Configuración de la Cámara y Detección de Movimiento

Con MotionEyeOS funcionando, el siguiente paso es configurar tu cámara y habilitar las funciones de vigilancia.

Paso 1: Añadir y Configurar la Cámara

Si estás usando una cámara oficial de Raspberry Pi o una webcam USB, MotionEyeOS debería detectarla automáticamente y aparecer en la lista de cámaras. Si no es así, o si estás añadiendo una cámara IP:

  1. Haz clic en el botón "Add Camera" (Añadir Cámara) en la esquina superior izquierda.
  2. Selecciona el tipo de cámara: "Local Camera" (para cámaras Pi o USB) o "Network Camera" (para cámaras IP).
  3. Si es una cámara IP, introduce la URL de transmisión (RTSP, MJPEG, etc.) y las credenciales si las tiene.
  4. Una vez añadida, verás el stream de tu cámara.

Paso 2: Ajustes Básicos de la Cámara

En el panel lateral derecho, expande la sección "Video Device" y "Video Streaming" para ajustar parámetros como:

  • Resolution (Resolución): Elige la resolución deseada. Ten en cuenta que resoluciones más altas requieren más recursos de la Pi y más espacio de almacenamiento.
  • Frame Rate (Cuadros por segundo): Generalmente, 10-15 FPS son suficientes para vigilancia.
  • Rotation (Rotación): Si la cámara está montada boca abajo, puedes rotar la imagen aquí.
Configuración de Cámara: 60%

Paso 3: Configurar Detección de Movimiento

La detección de movimiento es el corazón de tu sistema de vigilancia. MotionEyeOS grabará solo cuando detecte actividad, ahorrando espacio y facilitando la revisión.

  1. En el panel lateral, expande la sección "Motion Detection".

  2. Habilita "Motion Detection" (Detección de Movimiento).

  3. Ajusta los siguientes parámetros:

    • Frame Change Threshold: Define cuántos píxeles deben cambiar para que se detecte movimiento. Valores más bajos son más sensibles.
    • Minimum Motion Frames: Número de cuadros consecutivos con movimiento para activarlo. Ayuda a evitar falsas alarmas.
    • Noise Level: Elimina el ruido en la imagen que podría generar falsos positivos.
    • Mask: Haz clic en "Show Motion Areas" y luego en "Edit Mask" para dibujar áreas donde no quieres que se detecte movimiento (ej. árboles que se mueven con el viento, ventanas con tráfico).
  4. Motion Notification: En la sección "File Storage" (más abajo), puedes configurar qué hacer cuando se detecta movimiento (grabar video, tomar fotos, ejecutar un comando).

🔥 Importante: La configuración de detección de movimiento es crítica. Dedica tiempo a ajustarla a tu entorno para minimizar falsas alarmas y asegurar que no te pierdes eventos importantes.

💾 Almacenamiento de Grabaciones

Un sistema de vigilancia no está completo sin una forma confiable de almacenar las grabaciones. MotionEyeOS ofrece varias opciones.

Paso 1: Configurar el Almacenamiento

En el panel lateral, expande la sección "File Storage". Aquí tienes varias opciones:

  • Local Storage: Almacena las grabaciones en la tarjeta MicroSD de la Raspberry Pi. No es lo más recomendado a largo plazo debido al desgaste de la tarjeta.
  • SMB/CIFS Share: La opción más popular y recomendada. Permite guardar grabaciones en un recurso compartido de red (NAS, otra computadora, router con USB, etc.).
    1. Selecciona "SMB/CIFS Share".
    2. Introduce la dirección IP o nombre de host del servidor, el nombre del recurso compartido, el usuario y la contraseña.
    3. Haz clic en "Test Share" para verificar la conexión.
  • FTP Upload: Sube las grabaciones a un servidor FTP.
  • Google Drive: Sube directamente a tu cuenta de Google Drive.

Paso 2: Ajustes de Grabación

En la misma sección "File Storage", puedes configurar:

  • Video Recording: Habilita la grabación de video cuando se detecta movimiento.
  • Still Images: Toma imágenes fijas en intervalos regulares o con movimiento.
  • Maximum Movie Length: Divide los videos largos en clips más cortos.
  • Purge After: Elimina automáticamente grabaciones antiguas para liberar espacio.
💡 Consejo: Es muy recomendable usar una unidad de almacenamiento externa (USB HDD/SSD) conectada a la Raspberry Pi o un recurso compartido de red (NAS) para las grabaciones. Esto prolongará la vida útil de tu tarjeta MicroSD y ofrecerá mayor capacidad.

Ejemplo de Configuración SMB/CIFS

ParámetroValor de EjemploDescripción
---------
Network Server192.168.1.50 (o NAS_SERVER)IP o nombre de host de tu servidor NAS/PC
Network SharesurveillanceCarpeta compartida en el servidor
---------
UsernamemotioneyeUsuario con permisos de escritura en el share
PasswordMiContraseñaSeguraContraseña del usuario
---------
SMB Version1.0 (o 2.0, 3.0 si el servidor lo soporta)Versión del protocolo SMB (pruebas si falla)

🌐 Acceso Remoto y Seguridad Adicional

Para que tu sistema de vigilancia sea realmente útil, querrás poder acceder a él desde fuera de tu red local.

Paso 1: Redirección de Puertos (Port Forwarding)

Esto permite que el tráfico externo llegue a tu Raspberry Pi. Requiere configurar tu router.

  1. Accede a la interfaz de administración de tu router.
  2. Busca una sección llamada "Port Forwarding", "NAT" o "Virtual Servers".
  3. Crea una nueva regla con los siguientes parámetros:
    • Puerto Externo (External Port): Elige un puerto alto y poco común (ej. 8081 si no hay conflicto, o 8181, 9090).
    • Puerto Interno (Internal Port): 8081 (el puerto de MotionEyeOS).
    • Dirección IP Interna (Internal IP Address): La dirección IP estática de tu Raspberry Pi.
    • Protocolo: TCP.
⚠️ Advertencia: La redirección de puertos expone tu Raspberry Pi a Internet. Es crucial que hayas cambiado la contraseña por defecto de `admin` y que uses una contraseña fuerte. Considera usar una VPN para un acceso más seguro.

Paso 2: Dirección IP Pública o DNS Dinámico (DDNS)

Tu dirección IP pública puede cambiar. Para acceder siempre a tu Pi, usa un servicio DDNS.

  • IP Pública Estática: Si tu ISP te proporciona una IP estática, simplemente úsala para acceder.
  • DDNS: Regístrate en un servicio DDNS gratuito (ej. No-IP, DynDNS, DuckDNS). Configura tu router para actualizar automáticamente tu nombre de host DDNS, o instala un cliente DDNS en tu Raspberry Pi.

Así, accederías a tu sistema de vigilancia desde http://[TU_NOMBRE_DDNS]:[PUERTO_EXTERNO].

Paso 3: Seguridad Adicional

  • Contraseña Fuerte: Ya lo hemos mencionado, pero es lo más importante. Usa una combinación de mayúsculas, minúsculas, números y símbolos.
  • Actualizaciones: MotionEyeOS se actualiza periódicamente. En la interfaz web, ve a "System" y busca la opción de "Check for Updates" para mantener tu sistema seguro y con las últimas funciones.
  • VPN: La forma más segura de acceder a tu red local remotamente es a través de una VPN. Puedes montar un servidor VPN en otra Raspberry Pi o en tu router compatible.
Cambiar Contraseña: Accede a "User" en la interfaz de MotionEyeOS.
Redireccionar Puertos: Configura en tu router el puerto `8081` de la Pi.
Configurar DDNS: Para un acceso remoto constante, si tu IP pública cambia.
Mantener Actualizado: Revisa y aplica actualizaciones del sistema.

✨ Consejos Avanzados y Personalización

MotionEyeOS es muy flexible. Aquí algunos consejos para llevar tu sistema al siguiente nivel.

Integración con Home Assistant

Si utilizas Home Assistant para la automatización del hogar, puedes integrar fácilmente los streams de video de MotionEyeOS. MotionEyeOS ofrece URLs MJPEG y RTSP que Home Assistant puede usar directamente.

# Ejemplo de configuración en Home Assistant (configuration.yaml)
camera:
  - platform: mjpeg
    name: Camara Entrada
    mjpeg_url: http://[DIRECCIÓN_IP_DE_TU_PI]:8081/picture/1/current/
    # Para stream de video continuo:
    # mjpeg_url: http://[DIRECCIÓN_IP_DE_TU_PI]:8081/video/1/mjpeg

Notificaciones por Correo Electrónico o Telegram

MotionEyeOS tiene opciones para enviar notificaciones cuando se detecta movimiento. Puedes configurarlas en la sección "Notification Services":

  • Email: Configura un servidor SMTP para enviar correos con las imágenes de la detección.
  • Run a Command: Con esta opción, puedes ejecutar un script personalizado que, por ejemplo, envíe un mensaje a Telegram o a otro servicio.

Múltiples Cámaras

Si tu Raspberry Pi es lo suficientemente potente (Pi 3B+ o Pi 4), puedes añadir múltiples cámaras USB o IP. Simplemente repite el proceso de "Add Camera" para cada una. Ten en cuenta que cada cámara adicional consumirá más recursos de CPU y RAM.

Capacidades Avanzadas: 90%

Resolución y Rendimiento

Experimenta con diferentes resoluciones y frame rates para encontrar el equilibrio perfecto entre calidad de imagen y rendimiento. Una Raspberry Pi 4 puede manejar varias cámaras 720p o una o dos a 1080p, pero el rendimiento puede variar según la escena y la configuración de detección de movimiento.

Monitoreo del Sistema

En la interfaz web de MotionEyeOS, en la sección "System", puedes ver el uso de CPU, RAM y espacio en disco. Esto es útil para diagnosticar problemas de rendimiento o si tu Raspberry Pi se sobrecarga.

¿Puedo usar mi Raspberry Pi como punto de acceso Wi-Fi y cámara al mismo tiempo?No es recomendable. Aunque técnicamente posible con configuraciones avanzadas de red, esto comprometería seriamente el rendimiento de la vigilancia y la estabilidad de la red. Es mejor dedicar la Pi exclusivamente a la vigilancia.

✅ Conclusión

¡Felicidades! 🎉 Has llegado al final de este tutorial y ahora tienes un sistema de vigilancia IP completamente funcional basado en Raspberry Pi y MotionEyeOS. Has aprendido a preparar la tarjeta SD, configurar tu cámara, ajustar la detección de movimiento, establecer el almacenamiento de grabaciones y habilitar el acceso remoto.

Este proyecto no solo te proporciona una solución de seguridad efectiva y económica, sino que también te ofrece una valiosa experiencia práctica en el mundo de la Raspberry Pi y la automatización. La flexibilidad de MotionEyeOS te permitirá seguir experimentando y adaptando tu sistema a tus necesidades específicas.

Recuerda siempre la importancia de la seguridad, especialmente cuando expones dispositivos a Internet. Mantén tus contraseñas seguras y tu sistema actualizado.

¡Esperamos que este tutorial te haya sido de gran utilidad! Ahora puedes vigilar tu espacio con confianza y tranquilidad.

Tutoriales relacionados

Comentarios (0)

Aún no hay comentarios. ¡Sé el primero!