Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Configuración de MQTT

Esta guía muestra cómo configurar la comunicación MQTT entre su cámara OV80i y dispositivos externos utilizando Node-RED. MQTT permite mensajería ligera y confiable para aplicaciones IoT y comunicación remota entre dispositivos.

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

Prerrequisitos

  • Sistema de cámara OV80i configurado y conectado
  • Conectividad de red entre la cámara y el broker MQTT
  • Broker MQTT disponible (local o en la nube)
  • Comprensión básica de conceptos MQTT (topics, publish/subscribe)
  • Receta activa configurada en la cámara

Visión general de la comunicación MQTT

Conceptos clave de MQTT:

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

Paso 1: Verificar la Configuración de Red

1.1 Verifique 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., 10.250.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 alcanzar la dirección IP del broker
  • Acceso al puerto: Puerto MQTT predeterminado 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 IPPuertoNotas
Cámara10.250.0.100N/ADebe alcanzar al broker
Broker MQTT10.250.0.2001883Puerto MQTT estándar
Dispositivos Cliente10.250.0.xxxVariableCualquier dispositivo suscriptor

Paso 2: Acceder al Editor de Node-RED

2.1 Navegue hasta IO Block

  1. Abra su receta activa en el Recipe Editor
  2. Haga clic en Configure IO o seleccione IO Block en el menú de migas de pan para ingresar al editor de Node-RED

2.2 Verifique que los nodos MQTT estén 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: Debe ver nodos MQTT en la sección Red del panel izquierdo.

Paso 3: Configurar la Conexión al Broker MQTT

3.1 Crear la 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 los Ajustes del Broker

Configuración básica del Broker:

ConfiguraciónValorDescripció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 es necesario)

Si el broker requiere autenticación:

ConfiguraciónDescripción
UsuarioNombre de usuario del broker MQTT
ContraseñaContraseña del broker MQTT
Usar TLSHabilitar para conexiones seguras (puerto 8883)

3.4 Configuraciones Avanzadas

Opciones de Conexión:

ConfiguraciónValor recomendadoDescripción
Keep Alive60 segundosIntervalo de latido
Clean SessionVerdaderoIniciar sesión limpia en cada conexión
Auto ConnectVerdaderoReintentar conexión automáticamente

3.5 Guardar Configuración del Broker

  1. Haga clic en "Agregar" para guardar la configuración del broker
  2. Haga clic en "Listo" 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 Nodo MQTT In

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

4.2 Configuración MQTT In

Ajustes de Suscripción:

ConfiguraciónValor de ejemploDescripción
ServidorCamera MQTT BrokerSeleccione el broker configurado
Temacamera/commandsTema al que suscribirse
QoS0Calidad de entrega de mensajes
Salidadetección automáticaFormato de mensaje
NombreOyente de comandosIdentificador del nodo

4.3 Convenciones de Nombres de Temas

Estructura de tema recomendada:

PropósitoEjemplo de TemaUso
Comandoscamera/commandsRecibir comandos de control
Solicitudes de estadocamera/status/requestSolicitudes de información de estado
Configuracióncamera/configCambios de configuración

4.4 Configurar Procesamiento de Mensajes

  1. Agregar nodo "debug" para monitorear mensajes entrantes
  2. Conectar: MQTT In → Debug
  3. Configurar nodo debug 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 de broker

5.2 Configuración de MQTT Out

Ajustes de Publicación:

ConfiguraciónValor de ejemploDescripción
ServidorCamera MQTT BrokerMismo broker que la entrada
Temacamera/responsesTema para respuestas de la cámara
QoS0Calidad de entrega de mensajes
RetenerFalsoNo almacenar el último mensaje
NombrePublicador de respuestasIdentificador del nodo

5.3 Estructura de Temas de Respuesta

Temas de respuesta recomendados:

Tipo de respuestaEjemplo de TemaUso
Actualizaciones de estadocamera/statusInformación de estado de la cámara
Resultadoscamera/resultsResultados de la inspección
Reconocimientoscamera/ackConfirmaciones de comandos

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

6.1 Construir Flujo de Mensajes Salientes

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

  1. Agregar nodo "inject" para activar mensajes
  2. Agregar nodo "function" para formatear mensajes
  3. Agregar nodo "mqtt out" para publicar
  4. Conectar: Inject → Function → MQTT Out

6.2 Construir Flujo de Mensajes Entrantes

Crear un flujo separado para recibir mensajes:

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

6.3 Configurar Nodo Inject

  1. Doble clic en el nodo Inject
  2. Configurar ajustes:
    • Nombre: "Send Test Message"
    • Payload: Timestamp
    • Topic: (dejar vacío)
  3. Haz clic en "Done"

6.4 Configurar Nodo Function

Formato simple del mensaje:

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

  1. Doble clic en el nodo Function
  2. Copie el código anterior en la pestaña "On Message"
  3. Nombre: "Format Message"
  4. Haz clic en "Done"

6.5 Configurar MQTT Out Node

  1. Doble clic en el nodo MQTT Out
  2. Seleccionar broker: Camera MQTT Broker (configurado anteriormente)
  3. Topic: (dejar vacío - establecido por el Function Node)
  4. Nombre: "Publish Status"
  5. Haz clic en "Done"

6.6 Configurar MQTT In Node

  1. Doble clic en el nodo MQTT In
  2. Seleccionar broker: Camera MQTT Broker
  3. Topic: camera/commands
  4. Nombre: "Command Listener"
  5. Haz clic en "Done"

6.7 Configurar Debug Node

  1. Doble clic en el nodo Debug
  2. Salida: Complete msg object
  3. Nombre: "Incoming Messages"
  4. Haz 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. Verificar mensaje de éxito de despliegue
  3. Verificar indicadores de estado de los nodos:
    • Punto verde: Conectado al broker
    • Punto rojo: Conexión fallida
    • Punto amarillo: Conectando

7.2 Prueba de Comunicación Interna

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

  1. Haz clic en el botón inject para enviar un mensaje de prueba
  2. Verificar que el nodo MQTT Out muestre actividad
  3. Verificar el panel de debug si tienes mensajes externos

7.3 Pruebas Externas (Opcional)

Prueba con 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 10.250.0.100 -t "camera/commands" -m "test_command"

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

7.4 Verificar Comunicación

Verificar estos aspectos:

PruebaResultado EsperadoEstado
Conexión al brokerEstado verde en los nodos MQTT
Publicación de mensajesInject dispara MQTT Out con éxito
Recepción de mensajesDebug muestra mensajes externos
ReconexionReconexió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 rojosVerificar IP y puerto del broker
Fallo de autenticaciónConexión rechazadaVerificar nombre de usuario y contraseña
Time-outs de redEstado de conexión amarilloVerificar conectividad de red
Bloqueo por firewallSin intento de conexiónAbrir puertos MQTT

8.2 Problemas de Mensajes

ProblemaSíntomasSolución
No se reciben mensajesEl Debug no muestra nadaVerificar suscripciones a topics
Los mensajes no se publicanClientes externos no ven nadaVerificar topics de publicación
Errores de formato de mensajeFallos de análisisUtilizar mensajes de texto simples
Mensajes perdidosEntrega intermitenteVerificar la conexión al broker

8.3 Performance Issues

ProblemaSíntomasSolución
Alta latenciaRetraso en la entrega de mensajesVerifique el rendimiento del broker
Caídas de conexiónDesconexiones frecuentesAjuste la configuración de keep-alive
Sobrecarga de mensajesSobre carga del brokerImplemente la limitación de la tasa de mensajes

8.4 Debug Techniques

Solución de problemas 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. Use mensajes de texto simples antes de datos complejos
  4. Verifique la conectividad de red con ping
  5. Pruebe con temas básicos antes de flujos avanzados

¡Éxito! Su comunicación MQTT está lista

Su sistema de comunicación MQTT ahora puede:

  • Conéctese a los brokers MQTT con autenticación adecuada
  • Suscríbase a temas para recibir comandos y datos
  • Publique mensajes para actualizaciones de estado y respuestas
  • Gestionar formatos de mensajes JSON para una comunicación estructurada
  • Reconecte automáticamente después de interrupciones de red
  • Soporte múltiples niveles de QoS para diferentes prioridades de mensajes

Mantenimiento continuo

Verificaciones periódicas del sistema

  • Monitoree el estado de la conexión del broker en Node-RED
  • Verifique la entrega de mensajes con mensajes de prueba
  • Revise los registros del broker para detectar patrones de error
  • Actualice las credenciales de autenticación según sea necesario

Monitorización de rendimiento

  • Monitoree la latencia de los mensajes y los tiempos de entrega
  • Monitoree el uso de recursos del broker para escalabilidad
  • Analice los patrones de uso de temas para optimización
  • Revise la configuración de QoS según los requisitos reales

Próximos pasos

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

  1. Implemente flujos de mensajería específicos para su aplicación
  2. Configure jerarquías de temas para una comunicación organizada
  3. Agregue medidas de seguridad como cifrado TLS
  4. Integre con sistemas externos utilizando protocolos MQTT establecidos
  5. Cree paneles de monitoreo para la salud del sistema
Generate MQTT flows automatically

El Integration Builder puede generar flujos completos de comunicación MQTT a partir de una descripción en lenguaje natural. Describa su patrón de mensajería (p. ej., "publish inspection results to an MQTT topic with pass/fail status and confidence scores") y obtenga un flujo de Node-RED listo para producción en segundos.

🔗 Ver También