MQTT客户端
mqttClient
组件:mqtt客户端。往mqtt broker 指定主题发布当前消息数据。
# 配置
该组件允许通关过server
字段复用共享的连接客户端。参考组件连接复用 。
字段 | 类型 | 说明 | 默认值 |
---|---|---|---|
topic | string | 发布主题,可以使用组件配置变量 | 无 |
server | string | mqtt broker地址 | 无 |
username | string | 用户名 | 无 |
password | string | 密码 | 无 |
maxReconnectInterval | time.Duration | 重连间隔,支持:10s、1m这种方式配置 | 无 |
qos | int | qos | 无 |
cleanSession | bool | 是否 clean session | false |
clientID | string | 客户端Id | 随机ID |
CAFile | string | 配置后使用ssl方式连接mqtt broker | 无 |
CertFile | string | 配置后使用ssl方式连接mqtt broker | 无 |
CertKeyFile | string | 配置后使用ssl方式连接mqtt broker | 无 |
# Relation Type
- Success: 执行成功,把消息发送到
Success
链 - Failure: 执行失败,把消息发送到
Failure
链
# 执行结果
该组件不会改变msg
、metadata
和msgType
内容。
# 配置示例
{
"id": "s2",
"type": "mqttClient",
"name": "往mqtt Broker 推送数据",
"configuration": {
"server": "127.0.0.1:1883",
"topic": "/device/msg/${deviceId}"
}
}
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 应用示例
应用示例参考:mqttClient (opens new window)
{
"ruleChain": {
"id":"rule01",
"name": "测试规则链",
"root": true
},
"metadata": {
"nodes": [
{
"id": "s1",
"type": "jsTransform",
"name": "转换",
"configuration": {
"jsScript": "metadata['name']='test02';\n metadata['deviceId']='id01';\n msg['addField']='addValue2'; return {'msg':msg,'metadata':metadata,'msgType':msgType};"
}
},
{
"id": "s2",
"type": "mqttClient",
"name": "往mqtt Broker 推送数据",
"configuration": {
"server": "127.0.0.1:1883",
"topic": "/device/msg/${deviceId}"
}
}
],
"connections": [
{
"fromId": "s1",
"toId": "s2",
"type": "Success"
}
]
}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
在 GitHub 上编辑此页 (opens new window)
上次更新: 2024/10/23, 10:13:01