2. Gastaste miles en una cámara PTZ y docenas de sensores. Pero no se comunican entre sí. Cada dispositivo vive en su propia isla, y tu cliente se pregunta por qué el sistema no puede reaccionar automáticamente.
3. MQTT es el protocolo de mensajería ligero que conecta tu cámara PTZ con sensores IoT como contactos de puerta, detectores PIR y sondas de temperatura. Utiliza un modelo de publicación/suscripción a través de un broker central, por lo que cuando un dispositivo envía una señal, cada dispositivo suscrito reacciona en milisegundos, incluso a través de redes 4G alimentadas por energía solar.

5. En este artículo, te explicaré exactamente cómo MQTT hace que la vinculación entre dispositivos funcione en proyectos reales de seguridad B2B. Cubriré alarmas activadas por cámara, publicación de metadatos de IA, integración de Home Assistant e impacto en la batería. Vamos a ello.
Índice
6. ¿Puede mi cámara activar una alarma remota si se abre un sensor de puerta IoT?
10. He visto demasiados proyectos donde el sensor de puerta detecta un intruso, pero la cámara sigue haciendo su lenta patrulla. Los dos dispositivos no tienen conexión. La alarma nunca se dispara. El cliente pierde la confianza.
11. Sí. Con MQTT, tu sensor de puerta publica un evento de “apertura” en un tema del broker. Tu cámara PTZ se suscribe a ese mismo tema. En el momento en que la puerta se abre, la cámara salta a una posición preestablecida, hace zoom con óptica 40X y activa una alarma remota, todo en milisegundos.

13. Cómo funciona el modelo de publicación/suscripción en este escenario
14. La clave para entender esto es el 15. modelo de publicación/suscripción (Pub/Sub) 16. . Es muy diferente de la antigua forma de hacer las cosas, donde el Dispositivo A envía una solicitud HTTP directa al Dispositivo B. Ese antiguo método es lento. Requiere que ambos dispositivos estén en línea al mismo tiempo. Y no escala.1. 17. Con MQTT, hay un intermediario llamado.
18. broker 19. . Piensa en el broker como una oficina de correos. El sensor de puerta deja un mensaje. La cámara lo recoge. Nunca necesitan conocer la dirección IP del otro. Solo necesitan conocer el2. Piensa en el broker como una oficina de correos. El sensor de la puerta deja un mensaje. La cámara lo recoge. Nunca necesitan conocer la dirección IP del otro. Solo necesitan conocer la tema — como una dirección de correo electrónico.
Aquí está el flujo paso a paso:
- El sensor de contacto magnético de su valla detecta la apertura de la puerta.
- El sensor publica un mensaje en el tema MQTT
sitio/perímetro/puerta-01con la carga útil{"estado": "abierto", "marca_de_tiempo": "2025-01-15T08:30:00Z"}. - El broker MQTT (que se ejecuta en su servidor n8n, o una instancia en la nube como Mosquitto o EMQX) recibe este mensaje.
- Su cámara PTZ está suscrita a
sitio/perímetro/puerta-01. Recibe el mensaje al instante. - El firmware de la cámara analiza la carga útil y ejecuta una acción preestablecida: moverse al Preset 1 (Vista de Puerta), activar el zoom 40X, activar el IR láser y comenzar a grabar.
- Al mismo tiempo, el broker reenvía el mensaje a su panel de alarma, que activa una sirena y envía una notificación push al administrador del sitio.
Por qué esto es importante para sitios remotos y fuera de la red
Para David Miller e integradores como él, esta no es solo una característica agradable. Es un requisito del proyecto. Muchos de los sitios a los que despliegan — granjas, zonas de construcción, campos solares — no tienen red cableada. Funcionan con 4G LTE y energía solar.
En estos entornos, no puede permitirse ejecutar protocolos pesados basados en sondeos. La sobrecarga de MQTT es mínima. La cabecera del paquete tiene solo 2 bytes. Un solo mensaje de apertura de puerta puede ser de 50 bytes en total. Compare eso con una solicitud HTTP POST, que fácilmente puede ser de 500+ bytes con cabeceras.
| Método de Comunicación | Sobrecarga Típica | Tipo de Conexión | Idoneidad para 4G Solar |
|---|---|---|---|
| API REST HTTP | 500–2000 bytes por solicitud | De corta duración, síncrono | Pobre: alto uso de datos, alta latencia |
| WebSocket | 200–500 bytes de handshake inicial | Persistente, bidireccional | Moderado: mejor pero aún pesado |
| MQTT (QoS 0) | 2–50 bytes por mensaje | Persistente, asíncrono | Excelente: datos mínimos, energía mínima |
Tolerancia a fallos sin conexión con niveles de QoS
Una cosa que siempre recomiendo a los integradores: configure sus temas de alarma críticos en QoS 1 (entrega al menos una vez)3. Esto significa que si la señal 4G se interrumpe durante unos segundos, el broker retiene el mensaje y lo entrega tan pronto como se restablece la conexión. Su comando de alarma no se perderá.
Para datos no críticos como lecturas de temperatura de rutina, QoS 0 (enviar y olvidar) está bien. Esto ahorra ancho de banda y batería.
7. ¿El firmware admite la publicación de metadatos de IA (humano detectado) en un broker MQTT?
La mayoría de las cámaras pueden detectar a una persona. Pero el resultado de la detección queda atrapado dentro de la propia aplicación de la cámara. No puedes usarlo en ningún otro lugar. Tu NVR no lo sabe. Tu plataforma de automatización no lo sabe. Los datos se desperdician.
Sí. El firmware de nuestra cámara PTZ puede publicar resultados de detección de IA, como ‘humano detectado’ o ‘vehículo detectado’, directamente a un broker MQTT. Esto convierte la inteligencia de video sin procesar en datos estructurados sobre los que cualquier sistema suscrito puede actuar de inmediato, desde activar alarmas hasta registrar eventos en una base de datos.

Cómo se ven realmente los metadatos de IA
Cuando el motor de IA integrado de nuestra cámara detecta un humano, no solo muestra un cuadro rojo en la transmisión de video. Genera un paquete de datos estructurado. Este paquete se puede publicar en un tema MQTT como cámara/ptz-01/ia/eventos.
Aquí hay un ejemplo de cómo se ve esa carga útil:
{
"event": "human_detected",
"confidence": 0.92,
"bounding_box": {"x": 320, "y": 180, "w": 120, "h": 280},
"preset": "Gate-North",
"zoom_level": "28X",
"timestamp": "2025-01-15T08:31:05Z"
} Esto no es solo una simple alerta. Incluye la puntuación de confianza, la ubicación de la persona en el encuadre, la preset PTZ actual, y el nivel de zoom. Estos datos son oro para los integradores de sistemas.
Cómo los integradores utilizan estos datos
Una vez que estos metadatos llegan al broker MQTT, cualquier sistema suscrito puede utilizarlos. Aquí hay tres casos de uso reales:
Caso de uso 1: Filtrado inteligente en n8n o Node-RED. Su plataforma de automatización se suscribe al tema de eventos de IA. Comprueba la puntuación de confianza. Si está por encima de 0.85, activa una secuencia de alarma completa. Si está por debajo de 0.5, registra el evento pero no molesta al cliente. Esto reduce drásticamente las falsas alarmas.
Caso de uso 2: Registro en base de datos para cumplimiento. Un suscriptor escribe cada evento de IA en una base de datos PostgreSQL o InfluxDB. Al final del mes, el propietario del sitio recibe un informe: “247 detecciones humanas, 89 detecciones de vehículos, 12 intrusiones confirmadas”. Este tipo de informes ganan contratos.
Caso de uso 3: Coordinación entre cámaras. La cámara A detecta a una persona en la valla este. Publica el evento. La cámara B, a 200 metros de distancia en la puerta sur, se suscribe al tema de la cámara A. La cámara B se gira inmediatamente para cubrir la trayectoria probable de movimiento. Esto es detección por relevos — y solo es posible con MQTT.
Comunicación bidireccional: La cámara responde
Este es un punto que mucha gente pasa por alto. MQTT no es unidireccional. La cámara es tanto un suscriptor (escucha comandos) como un publicador (envía resultados de IA). Este flujo bidireccional es lo que hace posible la verdadera integración de IoT.
| Dirección | Tema de ejemplo | Carga útil | Propósito |
|---|---|---|---|
| Sensor → Cámara | sitio/valla/puerta-01 | {"estado": "abierto"} | Activar movimiento preestablecido PTZ |
| Cámara → Plataforma | cámara/ptz-01/ia/eventos | {"evento": "humano_detectado"} | Informar resultado de detección de IA |
| Plataforma → Cámara | cámara/ptz-01/comandos | {"acción": "ir_a_preset", "id": 3} | Control PTZ remoto |
| Cámara → Plataforma | cámara/ptz-01/estado | {"batería": "78%", "señal": "-72dBm"} | Monitorización de estado |
Esta tabla muestra la imagen completa. La cámara no es un espectador pasivo. Es un nodo activo en su red IoT.
8. ¿Cómo integro la cámara PTZ con mi configuración existente de Home Assistant o Node-RED?
Ya tiene un panel de control de Home Assistant o Node-RED funcionando. Ha pasado meses creando automatizaciones. Ahora un cliente quiere añadir una cámara PTZ. Pero le preocupa que no encaje en su configuración existente. No quiere empezar de nuevo.
La integración es sencilla. Nuestra cámara PTZ se conecta al mismo broker MQTT que ya utiliza su instancia de Home Assistant o Node-RED. Añade los temas de la cámara a su configuración, y aparece como un dispositivo controlable: puede enviar comandos PTZ, recibir alertas de IA y crear automatizaciones utilizando las herramientas que ya conoce.

Integración de Home Assistant paso a paso
Asistente del Hogar4 tiene soporte MQTT nativo a través de su integración incorporada. Si ya está ejecutando un broker Mosquitto como un complemento, ya está a medio camino.
Aquí está el proceso básico:
- Conecte la cámara a su broker. En la configuración de red de la cámara, introduzca la dirección IP de su broker Mosquitto, el puerto (normalmente 1883 o 8883 para TLS), el nombre de usuario y la contraseña.
- Defina los temas de la cámara. La cámara publicará en temas como
cámara/ptz-01/ia/eventosy se suscribirá a temas comocámara/ptz-01/comandos. - Añadir sensores MQTT en Home Assistant. En tu
configuration.yaml, crea entidades de sensor MQTT que escuchen los temas de la cámara. Por ejemplo, puedes crear un sensor binario que se encienda cuando se detecte un humano. - Crea automatizaciones. Usa el editor de automatizaciones de Home Assistant para crear reglas. Ejemplo: “Cuando el sensor human_detected se encienda Y sea después de las 10 PM, enciende el foco y envía una notificación a mi teléfono.”
Integración con Node-RED
Node-RED es aún más flexible. Arrastra un nodo MQTT Entrante a tu flujo, apúntalo a tu broker y suscríbete al tema de la cámara. El mensaje llega como un objeto JSON. Lo analizas, añades lógica y lo diriges a donde quieras.5 Por ejemplo, un flujo simple de Node-RED podría verse así:.
(suscrito a
- MQTT Entrante ) →
cámara/ptz-01/ia/eventosParsear JSON - Nodo Switch →
- (si la confianza > 0.85) → MQTT Out
- (publicar en alarm/siren/activate
alarm/siren/activate) + Nodo de correo electrónico (enviar alerta al administrador del sitio)
n8n como la capa de orquestación B2B
Para integradores B2B que gestionan docenas de sitios, recomiendo n8n como la plataforma de orquestación central. n8n6 tiene un nodo Disparador MQTT incorporado que escucha mensajes de cualquier tema. Cuando llega un mensaje, n8n puede:
- Realizar una llamada a la API HTTP a la cámara para que se mueva a un preset específico.
- Registrar el evento en un sistema CRM o de tickets.
- Enviar una alerta de WhatsApp o Telegram al propietario del sitio.
- Generar un informe resumen diario y enviarlo por correo electrónico al gerente de proyecto.
La belleza de este enfoque es que no necesita escribir firmware personalizado ni crear una aplicación propietaria. Utiliza herramientas estándar y abiertas. La cámara habla MQTT. Su plataforma habla MQTT. Se entienden mutuamente.
Consideraciones de seguridad para la integración
Dado que los mensajes MQTT pueden incluir comandos para mover su cámara PTZ, la seguridad es fundamental. Siempre les digo a los integradores: no omitan estos pasos.
- Habilite el cifrado TLS7 en su broker MQTT. Esto evita que cualquiera pueda interceptar sus mensajes en la red.
- Utilice autenticación de nombre de usuario/contraseña segura. No deje el broker abierto.
- Utilice Listas de Control de Acceso (ACL).8 Restrinja qué clientes pueden publicar en temas de comandos. Su sensor de temperatura no debería poder enviar comandos PTZ.
- Aísle su VLAN de IoT. Mantenga su tráfico MQTT en un segmento de red separado de su oficina o Wi-Fi público.
9. ¿Es el cliente MQTT lo suficientemente ligero como para funcionar sin agotar la batería solar?
Esta es la pregunta que quita el sueño a los integradores. Tiene un sitio alimentado por energía solar. La batería es de 60 Ah o quizás 100 Ah. La cámara ya consume una cantidad significativa de energía para el motor, el calentador, el iluminador IR. Si el cliente MQTT agrega incluso un 1% más de consumo de energía, su sistema podría no sobrevivir a una semana nublada.
Sí. El cliente MQTT que se ejecuta en el firmware de nuestra cámara PTZ consume una cantidad insignificante de energía, típicamente menos de 0.1 W de carga de procesamiento adicional. MQTT fue diseñado desde cero para dispositivos restringidos en redes poco confiables, lo que lo convierte en el protocolo ideal para implementaciones alimentadas por energía solar y conectadas por 4G donde cada miliamperio cuenta.

Por qué MQTT es tan ligero en recursos
MQTT fue inventado en 1999 por Andy Stanford-Clark de IBM y Arlen Nipper. Lo diseñaron para sensores de oleoductos en el desierto — dispositivos conectados por costosos enlaces satelitales con ancho de banda y energía muy limitados. Esta historia de origen le dice todo lo que necesita saber sobre el ADN del protocolo.
Aquí se explica por qué es tan eficiente:
- Tamaño de paquete diminuto. El paquete MQTT mínimo tiene solo 2 bytes. Un mensaje de sensor típico tiene entre 20 y 100 bytes. Compare esto con HTTP, donde solo las cabeceras pueden tener entre 300 y 800 bytes antes de que envíe algún dato.
- Conexión TCP persistente. MQTT abre una conexión TCP y la mantiene activa con pequeños paquetes de “ping” (llamados PINGREQ/PINGRESP). Cada ping tiene solo 2 bytes. No hay sobrecarga de apretón de manos repetido como HTTP.
- Sin sondeo. La cámara no necesita preguntar constantemente “¿hay nuevos mensajes?”. El broker envía mensajes a la cámara solo cuando hay algo que entregar. Entre mensajes, la conexión está inactiva y consume casi cero ciclos de CPU.
Análisis del presupuesto de energía en el mundo real
Permítame poner esto en números concretos para una implementación típica de PTZ solar:
| Componente | Consumo de energía | Consumo diario (24h) | Notas |
|---|---|---|---|
| Cámara PTZ (activa) | 25W promedio | 600Wh | Incluye motor, sensor, IR |
| Módem 4G LTE | 3W promedio | 72Wh | Conexión continua |
| Proceso cliente MQTT | 0,05–0,1W | 1,2–2,4Wh | Impacto insignificante |
| Panel solar (100W) | — | 400–500Wh generados | Depende de las horas de sol |
| Batería (100Ah, 12V) | — | 1200Wh almacenados | Búfer para días nublados |
Mira la fila de MQTT. Añade aproximadamente 2Wh por día. Eso es menos del 0.3% de tu presupuesto total de energía diario. Ni siquiera lo notarás.
Optimización de MQTT para despliegues solares
Aunque MQTT ya es ligero, hay algunos trucos para exprimir aún más eficiencia:
Intervalo de Keep-Alive. Fije el Mantener vivo MQTT9 a 120 segundos o incluso 300 segundos en lugar de los 60 por defecto. Esto reduce el número de paquetes ping. En una conexión 4G, menos pings también significa menos activaciones de radio, lo que ahorra energía del módem.
Selección de QoS. Usa QoS 0 para actualizaciones de estado rutinarias (nivel de batería, intensidad de señal). Reserva QoS 1 solo para alarmas críticas. QoS 2 (entrega exacta una vez) casi nunca es necesario en aplicaciones de seguridad y añade sobrecarga adicional de ida y vuelta.
Compresión de Carga Útil. Mantén tus cargas útiles JSON cortas. Usa abreviaturas para las claves. En lugar de {"detección_humana": true, "puntuación_confianza": 0.92}, Utilice {"dh": 1, "pc": 92}. Cada byte ahorrado es un byte que no necesita viajar por 4G.
Publicación consciente del sueño. Si tu cámara tiene un modo de suspensión de bajo consumo durante las horas de inactividad, configura el cliente MQTT para que se desconecte limpiamente con un Mensaje de Última Voluntad y Testamento (LWT) mensaje10. Esto le dice al broker “Me desconecto intencionalmente”. Cuando la cámara se activa, se reconecta y recupera los mensajes en cola con QoS 1.
Estas no son optimizaciones teóricas. Estas son las configuraciones que recomiendo a cada integrador que implementa nuestras cámaras con energía solar en ubicaciones remotas. Funcionan.
Conclusión
MQTT convierte su cámara PTZ de un visor aislado a un nodo IoT conectado. Vincula sensores, cámaras y plataformas con un ancho de banda mínimo, una potencia mínima y una velocidad máxima, exactamente lo que exigen los proyectos B2B fuera de la red.
1. Explicación detallada del patrón Publicador/Suscriptor en MQTT. ︎↩︎ 2. Aprenda cómo funciona un broker MQTT y por qué es central para la comunicación. ︎↩︎ 3. Explicación de los niveles de Calidad de Servicio de MQTT y cuándo usar cada uno. ︎↩︎ 4. Documentación oficial de Home Assistant para la integración MQTT. ︎↩︎ 5. Cómo usar nodos MQTT en flujos de Node-RED. ︎↩︎ 6. Documentación de n8n para el nodo Disparador MQTT. ︎↩︎ 7. Guía para asegurar MQTT con cifrado TLS. ︎↩︎ 8. Cómo restringir los permisos de los clientes MQTT usando ACL en Mosquitto. ︎↩︎ 9. Cómo funciona el keep-alive en MQTT para mantener conexiones persistentes. ︎↩︎ 10. Explicación de los mensajes LWT y cómo señalan la desconexión del cliente. ︎↩︎