新闻中心
PRESS CENTER据统计到 2025 年,物联网设备的数量将超过 750 亿。因此,能够轻松连接到这些设备并允许低代码编程的高效通信协议和平台至关重要。MQTT 和 Node-RED 在物联网领域脱颖而出。那如何在 Node-RED 中使用 MQTT尼?
MQTT请查看:MQTT协议是什么,它有什么用途-成都纵横智控
Node-RED 请查看:Node-RED的用途及优势解析-成都纵横智控
1.安装MQTT Broker
常用的 Broker 有 Mosquitto,可以通过以下命令进行安装(适用于 Ubuntu):
sudo apt-get install mosquitto mosquitto-clients
2.启动 Mosquitto Broker:
sudo systemctl start mosquito
3.安装 MQTT 节点包:
打开 Node-RED 管理界面,选择右上角菜单,进入“管理包”,搜索并安装 node-red-contrib-mqtt 节点包。
4.配置 MQTT发布节点
将 MQTT-out 节点从 Node-RED 调色板拖放到画布上。
双击 MQTT-out 节点以打开其配置对话框。
在配置对话框中,单击服务器字段旁边的铅笔图标来创建新的代理配置。通过在服务器字段中添加代理的地址、端口以及任何身份验证凭据(如果需要)来编辑 MQTT 代理设置。
在配置对话框中,配置以下字段:
Server:理的地址、端口。
Topic::输入要发布消息的 MQTT 主题。我们将添加传感器/湿度作为主题。
QoS:选择消息传递所需的 QoS 级别(0、1 或 2)。
Retain:选择是否在代理上保留已发布的消息(true 或 false)。
5.配置 MQTT 订阅节点
将 MQTT-in 节点从 Node-RED 调色板拖放到画布上。
双击 MQTT-in 节点以打开其配置对话框。
在配置对话框中,配置以下字段:
Server:地址+端口。
Action:订阅单个主题或进行动态订阅。使用动态订阅,您可以使用功能节点或其他处理节点从消息的有效负载中提取所需的 MQTT 主题。
Topic:输入订阅的 MQTT 主题 (sensors/temperature)。
QoS:选择消息传递所需的 QoS 级别(0、1 或 2)。
将注入节点从面板拖放到画布上。将注入节点连接到将生成随机值的函数节点,并连接到 MQTT-out 节点。您可以将注入节点设置为在设定的间隔(例如十秒)后重复。
// Generate a random humidity value between 0 and 100var randomHumidity = Math.random() * 15; // Create the message object with the random humidity value var msg = { payload: randomHumidity, topic: "sensors/humidity"}; // Return the message objectreturn msg;
将 MQTT-in 节点的输出连接到流中的调试节点,以将消息负载传递到 Node-RED 编辑器右侧的调试选项卡。通过单击 Node-RED 界面右上角的部署按钮来部署您的流程。
完成这些配置后,MQTT-out 节点将向指定主题发布消息,MQTT-in 节点将订阅指定主题以从 MQTT 代理接收消息。确保 MQTT-out 和 MQTT-in 节点中的主题配置匹配,以建立正确的通信。
Node-RED 是一种强大的流式编程工具,适用于物联网设备的连接、集成和自动化。在许多物联网应用中,MQTT 是一种广泛使用的通信协议,因其轻量级和发布/订阅机制而备受青睐。
更多知识敬请期待-成都纵横智控