25 euros y una Raspberry Pi con ojos: el módulo de cámara para visión artificial local
El Raspberry Pi Camera Module 3 conecta directamente a la Pi y permite correr visión artificial local con YOLOv8 o Frigate. Sin nube, desde 25 euros.
Una Raspberry Pi 5 sin cámara es un mini ordenador muy capaz. Con una cámara conectada al puerto CSI y un modelo de detección corriendo en local, se convierte en un sistema de vigilancia inteligente que no manda ni un píxel a ningún servidor externo.
El Camera Module 3 es el módulo oficial de Raspberry Pi. Conecta directamente al puerto CSI de la placa (sin drivers, sin configuración de USB), graba a 1080p a 50fps o 4K a 10fps, y tiene autofocus motorizado. Cuesta unos 25 euros y es el punto de entrada más natural para proyectos de visión artificial con la Pi.
Lo que necesitas antes de empezar
- Una Raspberry Pi 4 o 5 (la Pi 5 corre los modelos de detección bastante más rápido)
- El Camera Module 3 y el cable plano CSI incluido en la caja
- Una microSD con Raspberry Pi OS instalado (la herramienta Raspberry Pi Imager lo hace en 10 minutos)
- Saber abrir una terminal y copiar comandos
No necesitas experiencia con visión artificial ni con Python para el caso de uso básico (Frigate). Si quieres usar OpenCV o YOLOv8 directamente, es útil haber tocado Python antes, pero no es imprescindible.
CSI (Camera Serial Interface) es el conector plano que usa Raspberry Pi para comunicarse con módulos de cámara. Es más rápido y estable que USB para este tipo de aplicación, y la latencia es mucho menor.
Cómo lo conectamos
La conexión física tarda 30 segundos: abre el conector CSI de la Pi (una pestaña de plástico negra), inserta el cable plano con los contactos metálicos mirando hacia la placa, y cierra la pestaña. La cámara queda fijada y reconocida automáticamente cuando arranca el sistema.
Para verificar que el sistema la detecta:
libcamera-hello --list-cameras
Si muestra el modelo de la cámara, está lista. Para capturar una foto de prueba:
libcamera-still -o prueba.jpg
Cómo lo abrimos: streaming y acceso remoto
El Camera Module 3 funciona con libcamera, la librería oficial de Raspberry Pi para cámaras CSI. Para servir un stream de vídeo que otras aplicaciones puedan consumir:
libcamera-vid -t 0 --inline --listen -o tcp://0.0.0.0:8888
Esto expone la cámara como un stream TCP en tu red local. Herramientas como Frigate, VLC o cualquier aplicación que soporte RTSP/H.264 pueden consumirlo.
Para una URL RTSP estándar que funcione con Home Assistant o Frigate, la solución más sencilla es mediamtx (antes llamado rtsp-simple-server): un servidor de medios ligero que convierte el stream de libcamera en RTSP estándar.
Qué capa de IA le ponemos encima
Frigate: detección de personas sin GPU
Frigate es un sistema de videovigilancia de código abierto diseñado para correr en hardware local. Consume el stream de la cámara, corre un modelo de detección de objetos encima, y notifica a Home Assistant cuando detecta personas, coches o lo que configures.
En una Raspberry Pi 4 o 5, Frigate puede correr el modelo EdgeTPU de Google si tienes un Coral USB Accelerator (~€60 adicionales), o modelos TensorFlow Lite directamente en CPU si no. La Pi 5 puede hacer detección CPU a unos 5-8 FPS, suficiente para alertas de seguridad.
Frigate se instala como un contenedor Docker y se integra con Home Assistant mediante MQTT. Una vez configurado, ves las detecciones en un dashboard local y recibes notificaciones cuando alguien entra en una zona que hayas definido.
YOLOv8: detección en Python
Si quieres más control o quieres construir algo propio, YOLOv8 es el modelo de detección de objetos más popular del ecosistema open source. Hay versiones nano (YOLOv8n) que corren en CPU de la Pi 5 a unos 3-5 FPS:
pip install ultralytics
from ultralytics import YOLO
import cv2
model = YOLO('yolov8n.pt')
cap = cv2.VideoCapture(0) # o la URL del stream
while True:
ret, frame = cap.read()
results = model(frame)
annotated = results[0].plot()
cv2.imshow('Detección local', annotated)
if cv2.waitKey(1) == ord('q'):
break
Lista de compra completa
Para montar un sistema de detección local completo:
- Raspberry Pi 5 (8 GB) — ~€90 — el cerebro del sistema
- Camera Module 3 — ~€25 — este producto
- MicroSD 32 GB clase A2 — ~€10 — almacenamiento del sistema
- Fuente oficial 27W — ~€12 — necesaria para la Pi 5
- Caja con soporte de cámara — ~€15 — para montarlo donde quieras
- Google Coral USB Accelerator (opcional) — ~€60 — multiplica por 5 la velocidad de detección
Total sin Coral: ~€150. Con Coral: ~€210.
Lo que no te van a contar
La Pi 5 en CPU hace visión artificial, pero no es rápida. Con YOLOv8 nano en CPU espera entre 3 y 8 FPS — suficiente para vigilancia donde no necesitas tiempo real, pero no para seguimiento de objetos en movimiento rápido. El Coral USB Accelerator cambia la ecuación: 20-30 FPS en detección con EdgeTPU.
El Camera Module 3 tiene autofocus, lo cual es útil para fotografía pero puede causar que el foco cambie en escenas con mucho movimiento. Para vigilancia fija, el Camera Module 3 NoIR (sin filtro infrarrojo, ~€25) combinado con un foco LED IR es mejor para visión nocturna.
El módulo de ángulo estándar tiene un campo de visión de 66°. Si quieres cubrir más zona, existe la variante Wide con 102° por el mismo precio.
Veredicto
Si ya tienes una Raspberry Pi y quieres explorar visión artificial local, el Camera Module 3 es la pieza que falta. La conexión es trivial, el software es maduro, y el ecosistema (Frigate, YOLOv8, Home Assistant) está bien documentado.
Para alguien que empieza: el camino Frigate + Home Assistant es el más práctico — en una tarde tienes alertas de detección de personas sin haber escrito una línea de código. Para quien ya tiene experiencia: OpenCV + YOLOv8 da mucho más control para proyectos propios.