Node-RED中MQTT发布与订阅实战指南
创作时间:
作者:
@小白创作中心
Node-RED中MQTT发布与订阅实战指南
引用
CSDN
1.
https://blog.csdn.net/weixin_65434541/article/details/136333302
本文将介绍如何在Node-RED中使用MQTT进行消息的发布与订阅。MQTT(Message Queuing Telemetry Transport)是一种轻量级的消息传输协议,广泛应用于物联网领域。通过Node-RED这个可视化编程工具,我们可以方便地实现MQTT通信,从而构建各种物联网应用。
1、MQTT发布
以Node-RED作为MQTT客户端,向本地搭建的MQTT服务器发送数据为例。使用MQTT out节点,可以连接到MQTT代理并发布消息。
msg.payload
用作已发布消息的有效载荷。如果包含Object,则会在发送之前将其转换为JSON字符串。如果它包含二进制buffer,则消息将按原样发布。- 可以在节点中配置所使用的主题,或者如果留为空白,则可以通过
msg.topic
进行设置。
{
"gatew": "admin5555",
"time": 153034324,
"tag1": 15.32,
"tag2": 0,
"tag3": 43,
"tag4": "33"
}
关键字含义解释
topic
:字符串,MQTT主题,使用/
作为层次结构分隔符。qos
:数值,QoS服务质量:0(最多一次)、1(最少一次)、2(只一次)。retain
:布尔值,值为true
时表示消息已保留且可能是旧的。
一个MQTT in节点可以订阅多个话题的消息。
Demo环境
使用EMQX搭建的MQTT环境,MQTTX作为客户端查看数据,以及模拟数据上传。
Demo代码
[
{
"id": "6fe1584ddeb0c0b7",
"type": "group",
"z": "33e0254dbf653b67",
"style": {
"stroke": "#999999",
"stroke-opacity": "1",
"fill": "none",
"fill-opacity": "1",
"label": true,
"label-position": "nw",
"color": "#a4a4a4"
},
"nodes": [
"50313d23312de4cc",
"d5428b42286436d4",
"df10f1ea456a7bfb"
],
"x": 134,
"y": 1659,
"w": 532,
"h": 222
},
{
"id": "50313d23312de4cc",
"type": "mqtt in",
"z": "33e0254dbf653b67",
"g": "6fe1584ddeb0c0b7",
"name": "",
"topic": "v1/devices/me/telemetry",
"qos": "0",
"datatype": "auto-detect",
"broker": "0222eb30f00ea5a5",
"nl": false,
"rap": true,
"rh": 0,
"inputs": 0,
"x": 530,
"y": 1700,
"wires": [
[]
]
},
{
"id": "d5428b42286436d4",
"type": "mqtt out",
"z": "33e0254dbf653b67",
"g": "6fe1584ddeb0c0b7",
"name": "",
"topic": "",
"qos": "0",
"retain": "false",
"respTopic": "",
"contentType": "",
"userProps": "",
"correl": "",
"expiry": "",
"broker": "0222eb30f00ea5a5",
"x": 470,
"y": 1840,
"wires": []
},
{
"id": "df10f1ea456a7bfb",
"type": "inject",
"z": "33e0254dbf653b67",
"g": "6fe1584ddeb0c0b7",
"name": "",
"props": [
{
"p": "payload"
},
{
"p": "topic",
"vt": "str"
}
],
"repeat": "",
"crontab": "",
"once": true,
"onceDelay": 0.1,
"topic": "v1/devices/me/telemetry",
"payload": "{\"gatew\":\"admin5555\",\"time\":153034324,\"tag1\":15.32,\"tag2\":0,\"tag3\":43,\"tag4\":\"33\"}",
"payloadType": "json",
"x": 230,
"y": 1820,
"wires": [
[
"d5428b42286436d4"
]
]
},
{
"id": "0222eb30f00ea5a5",
"type": "mqtt-broker",
"name": "",
"broker": "192.168.1.102",
"port": "1883",
"clientid": "22222",
"autoConnect": true,
"usetls": false,
"protocolVersion": "4",
"keepalive": "60",
"cleansession": false,
"autoUnsubscribe": true,
"birthTopic": "",
"birthQos": "0",
"birthPayload": "",
"birthMsg": {},
"closeTopic": "",
"closeQos": "0",
"closePayload": "",
"closeMsg": {},
"willTopic": "",
"willQos": "0",
"willPayload": "",
"willMsg": {},
"userProps": "",
"sessionExpiry": ""
}
]
2、MQTT订阅
使用MQTT in节点连接到MQTT代理并订阅来自指定主题的消息。输出的消息在payload中。
官方介绍
例如获取MQTT数据,并保存为全局变量,供其他数据调用。
[
{
"id": "f20508fd26c6e161",
"type": "change",
"z": "17ce5a554745ca34",
"g": "e30d7ce5ea4d07ac",
"name": "保存获取到的mqtt数据",
"rules": [
{
"t": "set",
"p": "1",
"pt": "global",
"to": "payload.uuid",
"tot": "msg"
},
{
"t": "set",
"p": "2",
"pt": "global",
"to": "payload.facno",
"tot": "msg"
},
{
"t": "set",
"p": "3",
"pt": "global",
"to": "payload.prono",
"tot": "msg"
},
{
"t": "set",
"p": "4",
"pt": "global",
"to": "payload.equipcode",
"tot": "msg"
},
{
"t": "set",
"p": "5",
"pt": "global",
"to": "payload.ip",
"tot": "str"
},
{
"t": "set",
"p": "6",
"pt": "global",
"to": "payload.status",
"tot": "str"
},
{
"t": "set",
"p": "7",
"pt": "global",
"to": "payload.mode",
"tot": "str"
},
{
"t": "set",
"p": "8",
"pt": "global",
"to": "payload.productionquantity",
"tot": "str"
}
],
"action": "",
"property": "",
"from": "",
"to": "",
"reg": false,
"x": 540,
"y": 460,
"wires": [
[]
]
}
]
热门推荐
云顶天宫、宋文化体验、千年石窟:河南5大必游景点
冬季流感季,地塞米松磷酸钠注射液如何正确使用?
地塞米松在急性细菌性脑膜炎治疗中的权威应用
破解电池一致性难题,电动汽车电池组串联技术迎来新突破
《假面骑士葛查多》VS《假面骑士BLACK RX》:谁的经典场景更燃?
联合国发布“二十年二十佳”报告,首次集中展示在华企业可持续发展实践
西岭雪山自驾游摄影技巧全攻略:捕捉最美雪景的实用指南
西岭雪山冬季仙境,滑雪爱好者的天堂
校园防艾大使:我们的责任与使命
《全国疾病预防控制行动方案》助力艾滋病防治:新举措带来新希望
中国医学突破:高效防艾新药问世
家长用四个妙招让儿子的高考作文取得满分
养兔入门指南:环境、护理、繁殖全方位详解
轿车轮胎被扎处理指南:从临时修补到安全驾驶
笔墨精神与伟人风范——感悟毛泽东书法艺术
笔墨精神与伟人风范——感悟毛泽东书法艺术
头晕打哈欠别轻视,可能是脑卒中预警!
黄世昌教你摆脱头晕打哈欠困扰
揭秘咖啡苦味:绿原酸内酯才是真凶
咖啡因:提神醒脑还是健康隐患?
深度烘焙咖啡,苦味爱好者的福音
高血压患者也能安心享用的去皮鸡肉
抖音短剧剪辑秘籍:告别剧情割裂感
龙岩去云南香格里拉二日游
香格里拉两日游攻略:松赞林寺、白水台、普达措精华景点全览
春天到云南香格里拉二日游怎么玩好?精选行程攻略为您提供
“84184”引发热议,专家提醒理性对待彩票
FSC认证体系详解:从森林经营到产销监管链标准
新生儿痤疮护理全攻略:从清洁到饮食,这些要点爸妈要知道
成吉思汗击败札木合联军,奠定蒙古草原霸主地位