4.2.12 MQTT通道文件配置
MQTT通道文件配置模板
用mqtt
开头,表示该文件为MQTT协议通道配置文件。模板请在配置文件模板中下载。
通道参数配置
MQTT通道参数配置如下信息。
- 通道名称:字符串类型,可包含中文。
- 中继器IP:字符串类型,格式为IPv4地址格式。
- 中继器端口:u64类型,用正整数表示。
- 测点个数:u64类型,用正整数表示这个通道中测点的个数。
- 状态测点号:u64类型,用正整数表示,关联的测点需要为离散量。通过该状态测点号还可以实现“总召唤”功能,详细操作见注。
- 读主题:字符串类型,读主题地址。
- 写主题:字符串类型,写主题地址。
- 登录用户名:可选,mqtt协议用户名。
- 登录密码:可选,mqtt协议密码。
- 心跳周期:可选,mqtt心跳周期。
- 是否Json格式:布尔类型,TRUE则mqtt使用Json格式报文,FALSE则mqtt使用protobuf格式报文。
- 是否转发:布尔类型,是否将测点信息自动转发。
- 数组提取:字符串类型,配置了数组提取后,会对接收到的json消息进行内容提取再进行过滤匹配。
测点寄存器参数配置
测点寄存器参数配置,可以参见MQTT通道文件测点寄存器参数配置。
注:
-
MQTT通道实现总召唤的方法:
例如,MQTT转发通道的通信状态测点号设置为“100010”,MQTT接收通道中增加一个可写的点“100010”,对该点写任意数值(并不是真的写入)可以实现“总召唤”的效果,即MQTT转发通道会将通道中的测点值publish一次。
-
数组提取示例:
对于接收到如下Json格式的数据:
{ "token":"37476", "timestamp":"2025-04-08T07:23:55.000+0800", "data row": "single", "body":[{ "name":"tgAFCISelfcheckingFault", "val":"0”, "quality":"0", "index": "NULL","timestamp":"2025-04-08T07:23:55.000+0800' },{ "name":"tgBoxTemp", "val":"0.0", "quality":"0", "index":"NULL", "timestamp":"2025-04-08T07:23:55.000+0800" } ] }
若数组提取配置项内容为
body
,将会把body整个提出来,再进行后续过滤。配置文件示例如下: MQTT数组提取配置示例