Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Configuración de MQTT

Esta guía le muestra cómo configurar la comunicación MQTT entre su cámara OV10i y dispositivos externos utilizando Node-RED. MQTT permite mensajes ligeros y confiables para aplicaciones IoT y comunicación entre dispositivos remotos.

Cuándo usar la Comunicación MQTT: Integración de dispositivos IoT, sistemas de monitoreo remoto, patrones de publicación/suscripción, entornos de ancho de banda reducido, redes de sensores distribuidas, o cuando se necesita entrega confiable de mensajes con reconexión automática.

Prerrequisitos

  • Sistema de cámara OV10i configurado y conectado
  • Conectividad de red entre la cámara y el broker MQTT
  • Broker MQTT disponible (local o basado en la nube)
  • Comprensión básica de los conceptos de MQTT (temas, publicar/suscribirse)
  • Receta activa configurada en la cámara

Visión general de MQTT

Conceptos clave de MQTT:

  • Broker: Servidor central que enruta mensajes entre clientes
  • Temas: Categorías de mensajes (p. ej., "camera/status", "commands/trigger")
  • Publicar: Enviar mensajes a un tema
  • Suscribirse: Recibir mensajes de un tema
  • QoS: Niveles de Calidad de Servicio (0, 1, 2)

Paso 1: Verificar la Configuración de Red

1.1 Verificar la Configuración de Red de la Cámara

  1. Navegue a Configuración del Sistema
  2. Anote la dirección IP de la cámara (p. ej., 192.168.0.100)
  3. Verifique la conectividad de red hacia el broker MQTT

1.2 Requisitos del Broker MQTT

Asegure la accesibilidad del broker MQTT:

  • Misma red: La cámara debe poder alcanzar la dirección IP del broker
  • Acceso al puerto: Puerto MQTT por defecto 1883 (o 8883 para TLS)
  • Autenticación: Nombre de usuario/contraseña si el broker lo requiere
  • Firewall: Permitir tráfico MQTT en los puertos requeridos

1.3 Requisitos de Red

ComponenteDirección IP** Puerto**Notas
Cámara192.168.0.100N/ADebe alcanzar al broker
Broker MQTT192.168.0.2001883Puerto MQTT estándar
Dispositivos cliente192.168.0.xxxVariableCualquier dispositivo suscriptor

Paso 2: Acceder al Editor de Node-RED

2.1 Navegar al Bloque IO

  1. Abrir su receta activa en el Editor de Recetas
  2. Haga clic en Configurar IO o seleccione Bloque IO en el menú de migas de pan para entrar al editor de Node-RED

2.2 Verificar nodos MQTT disponibles

Verifique la paleta de Node-RED para nodos MQTT:

  • mqtt in - Suscribirse a temas MQTT
  • mqtt out - Publicar en temas MQTT

Punto de control: Debería ver nodos MQTT en la sección Red del panel izquierdo.

Paso 3: Configurar la Conexión al Broker MQTT

3.1 Añadir Configuración del Broker MQTT

  1. Arrastre el nodo "mqtt in" al lienzo (para la configuración inicial)
  2. Haga doble clic en el nodo para abrir la configuración
  3. Haga clic en el icono de lápiz junto al campo Servidor
  4. Haga clic en "Add new mqtt-broker"

3.2 Configurar la Configuración del Broker

Configuración básica del broker:

AjusteValorDescripción
NombreBroker MQTT de la cámaraIdentificador descriptivo
Servidor192.168.0.200Dirección IP del broker MQTT
Puerto1883Puerto MQTT estándar
ProtocoloMQTT v3.1.1Versión recomendada
ID de cliente(generado automáticamente)Dejar en blanco para automático

3.3 Configuración de Autenticación (Si se requiere)

Si el broker requiere autenticación:

ConfiguraciónDescripción
UsernameNombre de usuario del broker MQTT
PasswordContraseña del broker MQTT
Use TLSHabilitar para conexiones seguras (puerto 8883)

3.4 Configuraciones Avanzadas

Opciones de Conexión:

ConfiguraciónValor recomendadoDescripción
Keep Alive60 secondsIntervalo de latido
Clean SessionTrueIniciar una nueva sesión en cada conexión
Auto ConnectTrueReconectar automáticamente

3.5 Guardar Configuración del Broker

  1. Haz clic en "Add" para guardar la configuración del broker
  2. Haz clic en "Done" para cerrar la configuración del nodo
  3. La configuración del broker ya está disponible para todos los nodos MQTT

Paso 4: Configurar MQTT Input (Suscribirse)

4.1 Configurar el nodo MQTT In

  1. Seleccionar el nodo "mqtt in" que agregó
  2. Haga doble clic para configurar
  3. Configurar la configuración de suscripción:

4.2 Configuración de MQTT In

Configuración de Suscripción:

ConfiguraciónValor de ejemploDescripción
ServerCamera MQTT BrokerSeleccionar broker configurado
Topiccamera/commandsTema al que suscribirse
QoS0Calidad de entrega de mensajes
Outputauto-detectFormato de mensaje
NameCommand ListenerIdentificador del nodo

4.3 Convenciones de Nombres de Temas

Estructura de temas recomendada:

PropósitoEjemplo de temaUso
Commandscamera/commandsRecibir comandos de control
Status requestscamera/status/requestSolicitudes de información de estado
Configurationcamera/configCambios de configuración

4.4 Configurar el procesamiento de mensajes

  1. Agregar nodo "debug" para monitorizar mensajes entrantes
  2. Conectar: MQTT In → Debug
  3. Configurar el nodo de depuración para mostrar el mensaje completo

Paso 5: Configurar MQTT Output (Publish)

5.1 Agregar Nodo MQTT Out

  1. Arrastre el nodo "mqtt out" al lienzo
  2. Haga doble clic para configurar
  3. Seleccionar la misma configuración del broker

5.2 Configuración de MQTT Out

Configuración de Publicación:

ConfiguraciónValor de ejemploDescripción
ServerCamera MQTT BrokerMismo broker que la entrada
Topiccamera/responsesTema para respuestas de la cámara
QoS0Calidad de entrega de mensajes
RetainFalseNo almacenar el último mensaje
NameResponse PublisherIdentificador del nodo

5.3 Estructura de Temas de Respuesta

Temas de respuesta recomendados:

Tipo de respuestaEjemplo de temaUso
Status updatescamera/statusInformación de estado de la cámara
Resultscamera/resultsResultados de la inspección
Acknowledgmentscamera/ackConfirmaciones de comandos

Paso 6: Crear Flujo de Comunicación Básico

6.1 Construcción del Flujo de Salida de Mensajes

Cree un flujo para publicar mensajes desde la cámara:

  1. Agregar nodo 'inject' para activar mensajes
  2. Agregar nodo 'function' para dar formato a los mensajes
  3. Agregar nodo "mqtt out" para publicar
  4. Conectar: Inject → Function → MQTT Out

6.2 Construcción del Flujo de Mensaje Entrante

Crear un flujo separado para recibir mensajes:

  1. Agregar nodo "mqtt in" para suscribirse
  2. Agregar nodo "debug" para monitorizar
  3. Conectar: MQTT In → Debug

6.3 Configurar Inject Node

  1. Haz doble clic en el Inject Node
  2. Configurar ajustes:
    • Name: "Send Test Message"
    • Payload: Timestamp
    • Topic: (dejar en blanco)
  3. Haga clic en "Done"

6.4 Configurar Function Node

Formato simple del mensaje:

// Format outgoing message
msg.topic = "camera/status";
msg.payload = "Camera online - " + new Date().toISOString();
return msg;

  1. Haz doble clic en el Function Node
  2. Copie el código anterior en la pestaña "On Message"
  3. Name: "Format Message"
  4. Haga clic en "Done"

6.5 Configurar MQTT Out Node

  1. Haz doble clic en el mqtt out node
  2. Seleccionar broker: Camera MQTT Broker (configurado anteriormente)
  3. Topic: (dejar en blanco - establecido por el function node)
  4. Name: "Publish Status"
  5. Haga clic en "Done"

6.6 Configurar MQTT In Node

  1. Haz doble clic en el mqtt in node
  2. Seleccionar broker: Camera MQTT Broker
  3. Topic: camera/commands
  4. Name: "Command Listener"
  5. Haga clic en "Done"

6.7 Configurar Debug Node

  1. Haz doble clic en el Debug Node
  2. Output: Complete msg object
  3. Name: "Incoming Messages"
  4. Haga clic en "Done"

6.8 Estructura final del flujo

Tu flujo completo debería ser:

Saliente: Inject → Function → MQTT Out Entrante: MQTT In → Debug

Paso 7: Desplegar y Probar la Configuración

7.1 Desplegar Flujo

  1. Haz clic en el botón "Deploy" (esquina superior derecha)
  2. Verifique el mensaje de éxito de la implementación
  3. Verifique los indicadores de estado de los nodos:
    • Punto verde: Conectado al broker
    • Punto rojo: Conexión fallida
    • Punto amarillo: Conectando

7.2 Prueba de la Comunicación Interna

Prueba de la publicación MQTT de la cámara:

  1. Haga clic en el botón Inject para enviar un mensaje de prueba
  2. Verifique que el nodo MQTT Out muestre actividad
  3. Verifique el panel de depuración si recibe mensajes externos

7.3 Prueba externa (Opcional)

Prueba con un cliente MQTT externo para enviar comandos a la cámara:

Usando herramientas de línea de comandos:

# Send a test command to the camera
mosquitto_pub -h 192.168.0.100 -t "camera/commands" -m "test_command"

Resultado esperado: El nodo de depuración debe mostrar el mensaje entrante en el panel de depuración de Node-RED.

7.4 Verificar la Comunicación

Verifique estos aspectos:

PruebaResultado EsperadoEstado
Conexión al brokerEstado verde en nodos MQTT
Publicación de mensajesLa acción Inject dispara MQTT Out con éxito
Recepción de mensajesDepuración muestra mensajes externos
ReconexiónReconexión automática tras interrupción de red

Paso 8: Solución de Problemas de MQTT

8.1 Problemas de Conexión

ProblemaSíntomasSolución
No se puede conectar al brokerIndicadores de estado rojosVerifique la IP y el puerto del broker
Fallo de autenticaciónConexión rechazadaVerifique nombre de usuario y contraseña
Time-outs de redEstado de conexión amarilloVerifique la conectividad de la red
Bloqueo del firewallSin intento de conexiónAbrir puertos MQTT

8.2 Problemas de Mensajes

ProblemaSíntomasSolución
No se reciben mensajesDepuración no muestra nadaVerifique las suscripciones de topic
Los mensajes no se publicanLos clientes externos no ven nadaVerifique los topics de publicación
Errores de formato de mensajeFallos de análisisUse mensajes de texto simples
Mensajes perdidosEntrega intermitenteVerifique la conexión al broker

8.3 Problemas de Rendimiento

ProblemaSíntomasSolución
Alta latenciaEntrega de mensajes retrasadaVerificar el rendimiento del broker
Caídas de conexiónReconexiones frecuentesAjustar la configuración de keep-alive
Inundación de mensajesSobrecarga del brokerImplementar limitación de mensajes

8.4 Técnicas de Depuración

Depuración sistemática:

  1. Verifique el estado de la conexión del broker en Node-RED
  2. Monitoree el panel de depuración de Node-RED para el flujo de mensajes
  3. Utilice mensajes de texto simples antes de datos complejos
  4. Verifique la conectividad de la red mediante ping
  5. Pruebe con topics básicos antes de flujos avanzados

Éxito! Su comunicación MQTT está lista

Su sistema de comunicación MQTT ya puede:

  • Conectar a brokers MQTT con autenticación adecuada
  • Suscribirse a topics para recibir comandos y datos
  • Publicar mensajes para actualizaciones de estado y respuestas
  • Manejar formatos de mensajes JSON para una comunicación estructurada
  • Reconectar automáticamente tras interrupciones de red
  • Soporte para múltiples niveles de QoS para diferentes prioridades de mensajes

Mantenimiento en curso

Verificaciones del sistema regulares

  • Monitorear el estado de la conexión del broker en Node-RED
  • Verificar la entrega de mensajes con mensajes de prueba
  • Revisar los registros del broker en busca de patrones de error
  • Actualizar las credenciales de autenticación según sea necesario

Monitoreo del rendimiento

  • Rastrear la latencia de mensajes y los tiempos de entrega
  • Monitorear el uso de recursos del broker para escalabilidad
  • Analizar los patrones de uso de topics para optimización
  • Revisar la configuración de QoS según los requisitos reales

Próximos pasos

Después de configurar la comunicación básica MQTT:

  1. Implementar flujos de mensajería específicos para su aplicación
  2. Configurar jerarquías de topics para una comunicación organizada
  3. Agregar medidas de seguridad como cifrado TLS
  4. Integrar con sistemas externos usando protocolos MQTT establecidos
  5. Crear paneles de monitoreo para la salud del sistema
Generar flujos MQTT automáticamente

El Integration Builder puede generar flujos de comunicación MQTT completos a partir de una descripción en lenguaje natural. Describa su patrón de mensajería (p. ej., "publicar resultados de inspección en un topic MQTT con estado pass/fail y puntajes de confianza") y obtenga un flujo de Node-RED listo para producción en segundos.

🔗 Ver También