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": [
[]
]
}
]
热门推荐
如何记忆:一种简单的长期记忆技巧
张雪峰谈十大高薪专业排行榜(含专业介绍,就业方向)
解析开学恐惧症:学业、人际、家庭和生活节奏的多重压力考验学生心理
中医里抑郁症是怎么回事
如何操作手刹以确保停车安全?这种操作对车辆保护有何重要性?
北京老字号六必居
如何在电商平台上做好产品控价?
明朝文学十大代表作:从《三国演义》到《紫钗记》
猫咪的专属“草本乐园”:四种猫草的神奇功效大揭秘
魏玛共和国与纳粹党的崛起
三支一扶和西部计划哪个更好
三角形外心:几何图形中的中心点
探索兔子的视界:从视野到眼部护理
英美港澳本科学费持续上涨!
探索儋州:必尝的地道美食与餐饮指南
有哪些英英词典网站比较好的
研究表明,小型模块化反应堆可帮助印第安纳州实现全天候无碳电力,并带来经济效益
眼睛干涩?夜盲?都和它有关!一篇文章教你补回来!
婚前检查的法律依据与具体内容
一文详解鼻窦炎手术:三种常见术式及注意事项
老公的称呼有哪些?探索不同文化与情感的表达方式
抗生素就是消炎药?千万别过度使用抗生素!阿莫西林、头孢属于……
毛囊的 “生老病死”:头发命运的幕后主宰
多芯片封装(MCP)的全面解析
四川适合种植的花卉及栽培要点
四色安全标志全解析:红黄蓝绿各有何含义?
客服艺术:掌握五大在线客服沟通技巧,提升客户体验
结核病有哪几种
石雕观音:象征寓意的文化渊源与解读
消弥“温差”,上海推出市场准入登记便利化10条措施