Biblioteca: MQTT Client SL
MQTT (Message Queuing Telemetry Transport) es un protocolo de IoT de código abierto que permite la transmisión de datos de telemetría como mensajes entre dispositivos. Como resultado, puede enviar mensajes desde un CODESYS controlador a un corredor de MQTT y suscribirse a mensajes basados en temas.
Los dispositivos siempre se comunican a través de un intermediario MQTT.
Ejemplo: Eclipses Mosquito
Los mensajes se envían y se suscriben en función de los temas. Un tema corresponde a un camino.
Ejemplo:
device1/temperature
La suscripción a los mensajes se realiza especificando un filtro de tema. También se permiten comodines (
+
para un nivel,#
para varios niveles).El formato de un mensaje no es fijo. Se puede transmitir una cadena JSON o cualquier estructura de datos.
MQTT Client SL
biblioteca:Bloque de funciones para establecer un enlace MQTT (
MQTTClient
)Bloque de funciones para enviar mensajes (
MQTTPublish
)Bloque de funciones para suscribirse a mensajes (
MQTTSubscribe
)
Publicación y suscripción de mensajes basados en MQTT V3.1.1 y MQTT V5.0
cifrado TLS
Soporte de certificados de cliente (transferencia de un identificador de certificado)
Soporte de "Calidad de Servicio":
0, 1 y 2 (QoS0, QoS1, QoS2) para último testamento, publicador y suscriptor
Tipo de datos de los temas:
WSTRING
Tamaño máximo de un tema: 1024
El tamaño máximo del paquete y el tamaño de la carga útil se pueden configurar mediante una lista de parámetros.
Soporte multitarea y multinúcleo
MQTTClient, MQTTPublish y MQTTSubscribe pueden ejecutarse cada uno en diferentes tareas o núcleos de CPU.
Mensajes de "Última Voluntad" (
QoS0
,QoS1
,QoS2
)Comodines (
#
y+
)MQTT o WebSocket
Session Expiry
Message Expiry
Reason Code on All ACKs
Server Disconnect
Payload Format and Content Type
Request / Response
Shared Subscriptions
Subscription ID
Topic Alias
Flow Control
User Properties
Maximum Packet Size
Optional Server Feature Availability
Enhanced Authentication
Subscription Options
Will Delay
Server Keep Alive
Assigned ClientID
Server Reference
Rendimiento de mensajes
El rendimiento máximo de mensajes (número de mensajes/segundo, mps) depende del hardware utilizado, el tamaño del mensaje, la configuración de QoS y la configuración (lista de parámetros MQTTParam, tiempo de ciclo).
Configuración:
Corredor local de mosquitos
Local CODESYS Control (1 editor)
Local CODESYS Control (1 suscriptor)
MQTTParam
(configuración por defecto)Tamaño del mensaje: 1024 bytes
Tiempo de ciclo: 1ms
Resultado:
QoS0 => aprox. 190mps
QoS1 => aprox. 130mps
QoS2 => aprox. 90mps
Sugerencia
Vea el ejemplo: Uso de la biblioteca MQTT Client SL.