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": [
[]
]
}
]
热门推荐
墙纸脱落简易修复方法
GTA5自己开服指南:新手玩家的福音
笛卡尔方法论到底有什么神奇之处?让你的思考力瞬间提升!
AI数字人是否侵犯肖像权?
木瓜树适合什么地方种
湖北可以种植木瓜树吗?从气候到技术的全方位解析
适合初中生的自编童谣有特色_童谣
自信当众讲话:从紧张到自如的转变之路
投资策略优化:如何在股票市场中把握投资节奏
高铁乘车安全指南:这些关键设备和注意事项请牢记
太阳穴周围皮肤痛如何处理
生理期出现太阳穴痛如何处理
《十字军之王3》图文百科攻略 全面上手指南及玩法技巧心得
如何配置防火墙以允许UDP通信?
混合精度提升大模型训练性能
生物医药与AI的深度融合:开启生命科学新时代
脚踝扭伤恢复全程指南:四大阶段与实操建议
海洋波浪能概述
艾草对孕妇有危害吗
孕期艾草香气:孕妇能闻艾草吗?
铝合金喷漆全攻略:从基础到进阶的完整指南
《离骚》的艺术特色与语言魅力
Mac自带"库乐队"App使用指南:从入门到精通
干货|中国山水画空间技法:三远法
抑郁症的14个躯体化症状
摄影入门:数码相机基础功能详解
这7个姿势正在悄悄伤害你的脊椎!
公证认证时间需要多久?如何办理公证认证?
法律规定公证书的内容有哪些
韩国调查报告显示:绝大多数已被中国赶超