MQTT Publish (TLS-Beta)
Este bloque de función envía datos a un broker MQTT con opción de seguridad TLS. Permite configurar la dirección del broker, autenticación, modo TLS, QoS, flag de retain y keepalive, para que puedas publicar mensajes formateados en cualquier topic de MQTT.
📥 Entradas (sockets)
Enable Interruptor para activar la publicación. Cuando esta entrada está en TRUE, el bloque intentará enviar los datos provistos.
Data Los datos a publicar. Este socket genérico acepta texto o datos estructurados (se recomienda formatear como JSON o string).
📤 Salidas (sockets)
Este bloque de función no produce salidas.
🕹️ Controles
Broker Address Ingresa el host o la dirección IP del broker MQTT.
Port Puerto del broker. El valor común por defecto es 1883.
Topic Topic de MQTT al que se publicarán los mensajes.
Username Nombre de usuario opcional para autenticación en el broker.
Password Contraseña opcional para autenticación (oculta en la UI).
TLS Mode Selection Selecciona el comportamiento TLS. Opciones: None, Auto (usa certificados del sistema/root) y versiones TLS específicas con archivo de certificado personalizado.
Cert File Path Ruta opcional a un archivo .crt si se usa configuración TLS personalizada.
Quality of Service Nivel de entrega del mensaje (0, 1 o 2).
Keep alive (s) Intervalo de keepalive en segundos.
Retain Activador para publicar mensajes retenidos en el broker.
🎯 Características clave
Publicación segura con opciones TLS seleccionables, incluyendo manejo automático de certificados o archivo de certificado personalizado.
Soporte de autenticación con username/password.
QoS y flag de retain para garantías de entrega y mensajes persistentes.
Reintentos automáticos de reconexión si se pierde la conexión y registro de estado para diagnosticar problemas.
Controles en la UI para todos los parámetros MQTT comunes — no se requiere programación.
📝 Cómo usar
Completa
Broker AddressyPortpara apuntar a tu broker MQTT.Define el
Topicdonde quieras enviar los mensajes.Si es necesario, ingresa
UsernameyPassword. Déjalos vacíos para brokers anónimos.Elige
TLS Mode Selection. UsaAutopara conexiones seguras estándar sin proveer un certificado, o ingresaCert File Pathsi tu broker requiere un .crt específico.Configura
Quality of Service,Keep alive (s)y activaRetainsi quieres que los mensajes se almacenen en el broker.Conecta los datos que quieres enviar a la entrada
Data. UsaEnableen TRUE para activar el envío.Observa los logs que muestra el bloque para verificar el estado de conexión y publicación.
📊 Qué ocurre al ejecutarlo
Cuando está habilitado, el bloque verifica los parámetros de conexión e intenta conectar o reconectar al broker si es necesario. Una vez conectado, publica los datos de Data en el Topic configurado usando el QoS y retain seleccionados. Problemas de conexión y resultados de publicación se muestran en los mensajes de estado/log del bloque.
💡 Tips y trucos
Combínalo con
Data to JSONpara convertir varios campos en un solo mensaje JSON útil para dashboards IoT.Usa
String Mergepara construir mensajes de texto personalizados (por ejemplo, device id + status).Añade
Date-Timepara incluir timestamps en tus mensajes, útil para registros o gráficos temporales.Dispara la publicación mediante eventos conectando este bloque a
Logic InputoRising Edge, así los mensajes solo se envían cuando ocurre algo relevante.Usa una instancia de
MQTT Subscribe (TLS-Beta)para verificar localmente que los mensajes llegan al broker (útil para pruebas end-to-end).Antes de enviar datos con imágenes grandes, considera usar
Image LoggeroImage Writepara guardar imágenes localmente y publicar solo metadatos o la ruta de archivo vía MQTT para reducir ancho de banda.
🛠️ Solución de problemas
Conexión fallida: verifica
Broker Address,Port, firewalls y conectividad de red. Prueba con un cliente MQTT simple para confirmar que el broker es accesible.Errores de certificado/TLS: cambia
TLS Mode SelectionaAutosi no tienes un archivo de certificado, o proporciona la ruta correcta enCert File Pathcuando se requiera TLS personalizado.Fallo de autenticación: confirma
UsernameyPasswordcon tu broker.Mensajes no visibles en el broker: verifica
Topic, QoS yRetain; usaMQTT Subscribe (TLS-Beta)para monitorear el topic localmente.Formato de datos inesperado: previsualiza o registra tu mensaje antes de publicar usando
Debug Input,String MergeoData to JSONpara asegurarte de que el formato coincide con lo que esperan los suscriptores.
Última actualización