图书馆: MQTT Client SL
MQTT(消息队列遥测传输)是一种开源物联网协议,它允许遥测数据作为消息在设备之间传输。因此,您可以从发送消息 CODESYS 控制器到 MQTT 代理并根据主题订阅消息。
设备始终通过 MQTT 代理进行通信。
例子: 日食蚊子
消息根据主题发送和订阅。一个主题对应一个路径。
例子:
device1/temperature订阅消息是通过指定主题过滤器来完成的。还允许使用通配符 (
+对于一个级别,#对于多个级别)。消息的格式不固定。可以传输 JSON 字符串或任何数据结构。
MQTT Client SL 图书馆:用于建立 MQTT 链接的功能块(
MQTTClient)用于发送消息的功能块(
MQTTPublish)用于订阅消息的功能块(
MQTTSubscribe)
基于MQTT V3.1.1和MQTT V5.0的消息发布和订阅
TLS 加密
支持客户端证书(证书句柄的传输)
“服务质量”的支持:
0、1 和 2(QoS0、QoS1、QoS2)用于最后意愿、发布者和订阅者
主题的数据类型:
WSTRING主题最大大小:1024
最大包大小和有效负载大小可以通过参数列表进行配置。
多任务和多核支持
MQTTClient、MQTTPublish 和 MQTTSubscribe 各自可以在不同的任务或 CPU 内核上运行。
“最后遗嘱”消息(
QoS0,QoS1,QoS2)通配符 (
#和+)MQTT 或 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
消息吞吐量
最大消息吞吐量(消息数/秒,mps)取决于所使用的硬件、消息大小、QoS 设置和配置(参数列表 MQTTParam、循环时间)。
配置:
当地 Mosquito 经纪人
当地的 CODESYS Control (1 出版商)
当地的 CODESYS Control (1 位订户)
MQTTParam(默认设置)消息大小:1024字节
循环时间:1毫秒
结果:
QoS0 => 大约190 英里/秒
QoS1 => 大约130 英里/秒
QoS2 => 大约90 英里/秒
提示
参见示例: 使用 MQTT 客户端 SL 库。