Saltar al contenido principal

DOCUMENTACIÓN CON IA

¿Qué desea saber?

Configuración de la comunicación MQTT

Esta guía muestra cómo configurar la comunicación MQTT entre su cámara OV20i y dispositivos externos usando Node-RED. MQTT permite mensajería ligera y fiable 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 mensajería publish/subscribe, entornos de bajo ancho de banda, redes de sensores distribuidas, o cuando necesite entrega de mensajes fiable con reconexión automática.

Prerrequisitos

  • Sistema de cámara OV20i configurado y conectado
  • Conectividad de red entre la cámara y el broker MQTT
  • Broker MQTT disponible (local o basado en la nube)
  • Conocimiento básico de los conceptos MQTT (tópicos, 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
  • Tópicos: Categorías de mensajes (p. ej., "camera/status", "commands/trigger")
  • Publicar: Enviar mensajes a un tópico
  • Suscribirse: Recibir mensajes de un tópico
  • 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 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
  • Cortafuegos: Permitir tráfico MQTT en los puertos requeridos

1.3 Requisitos de Red

ComponenteDirección IPPuertoNotas
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 IO Block

  1. Abra su receta activa en Recipe Editor
  2. Haga clic en Configurar IO o seleccione IO Block 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 tópicos MQTT
  • mqtt out - Publicar en tópicos 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 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:

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 se requiere)

Si el broker requiere autenticación:

SettingDescription
UsernameNombre de usuario del broker MQTT
PasswordContraseña del broker MQTT
Use TLSHabilitar TLS para conexiones seguras (puerto 8883)

3.4 Configuración Avanzada

Opciones de Conexión:

SettingRecommended ValueDescription
Keep Alive60 segundosIntervalo de latido
Clean SessionTrueIniciar cada conexión con una sesión nueva
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 (Suscripción)

4.1 Configurar el Nodo MQTT In

  1. Selecciona el nodo "mqtt in" que añadiste
  2. Haz doble clic para configurar
  3. Configurar ajustes de Suscripción:

4.2 Configuración de MQTT In

Ajustes de Suscripción:

SettingExample ValueDescription
ServerCamera MQTT BrokerSeleccione el broker configurado
Topiccamera/commandsTema al que suscribirse
QoS0Calidad de entrega de mensajes
Outputauto-detectFormato de mensaje
NameCommand ListenerIdentificador de nodo

4.3 Convenciones de Nombres de Topic

Estructura de Topic recomendada:

PurposeTopic ExampleUsage
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 el nodo "debug" para monitorear los mensajes entrantes
  2. Conectar: MQTT In → Debug
  3. Configurar el nodo debug para mostrar el mensaje completo

Paso 5: Configurar MQTT Output (Publish)

5.1 Agregar Nodo MQTT Out

  1. Arrastra el nodo "mqtt out" al lienzo
  2. Haz doble clic para configurar
  3. Selecciona la misma configuración de broker

5.2 Configuración de MQTT Out

Configuración de Publicación:

SettingExample ValueDescription
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 de nodo

5.3 Estructura de Topic de Respuesta

Temas de respuesta recomendados:

Response TypeTopic ExampleUsage
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 mensajes salientes

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

  1. Agregar el nodo "inject" para activar mensajes
  2. Agregar el nodo "function" para dar formato a los mensajes
  3. Agregar el nodo "mqtt out" para la publicación
  4. Conectar: Inject → Function → MQTT Out

6.2 Construcción del flujo de mensajes entrantes

Crear un flujo separado para recibir mensajes:

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

6.3 Configurar Inject Node

  1. Haga doble clic en el inject node
  2. Configurar ajustes:
    • Nombre: "Send Test Message"
    • Payload: Timestamp
    • Topic: (dejar vacío)
  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. Haga doble clic en el function node
  2. Copie el código anterior en la pestaña "On Message"
  3. Nombre: "Format Message"
  4. Haga clic en "Done"

6.5 Configurar MQTT Out Node

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

6.6 Configurar MQTT In Node

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

6.7 Configurar Debug Node

  1. Haga doble clic en el debug node
  2. Salida: Complete msg object
  3. Nombre: "Incoming Messages"
  4. Haga clic en "Done"

6.8 Estructura Final del Flujo

Tu flujo completo debe ser:

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

Paso 7: Desplegar y Probar la Configuración

7.1 Desplegar Flujo

  1. Haga 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 del nodo:
    • Punto verde: Conectado al broker
    • Punto rojo: Conexión fallida
    • Punto amarillo: Conectando

7.2 Prueba de 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 MQTT Out node muestre actividad
  3. Verifique el panel de depuración si tiene mensajes externos

7.3 Pruebas Externas (Opcionales)

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 debug node debe mostrar el mensaje entrante en el panel de depuración de Node-RED.

7.4 Verificar la Comunicacion

Verifique 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 mensajesEl debug muestra mensajes externos
ReconexiónReconexión automática tras interrupción de la 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 por firewallNo hay intento de conexiónAbra los puertos MQTT

8.2 Problemas de Mensajes

ProblemaSíntomasSolución
No se reciben mensajesEl debug 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
Pérdida de mensajesEntrega intermitenteVerifique la conexión al broker

8.3 Problemas de rendimiento

ProblemaSíntomasSolución
Alta latenciaRetraso en la entrega de mensajesVerificar el rendimiento del broker
Caídas de la conexiónFrecuentes reconexionesAjustar la configuración de keep-alive
Sobrecarga de mensajesSobrecarga del brokerImplementar throttling de mensajes

8.4 Técnicas de Depuración

Solución de problemas de forma sistemática:

  1. Verifique el estado de la conexión al 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 red con ping
  5. Pruebe con topics básicos antes de flujos avanzados

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

Su sistema de comunicación MQTT puede ahora:

  • 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
  • Reconectarse automáticamente después de interrupciones de la red
  • Soportar múltiples niveles de QoS para diferentes prioridades de mensajes

Mantenimiento continuo

Verificaciones periódicas del sistema

  • 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 de rendimiento

  • Rastrear la latencia de mensajes y los tiempos de entrega
  • Monitorear el uso de recursos del broker para la escalabilidad
  • Analizar 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 MQTT básica:

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

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

🔗 Ver También