Edge Box RPi 200 与 Node Red 和 Modbus RS485
介绍
Modbus RTU(远程终端单元)是工业自动化中的一种流行协议,用于通过串行通信线路连接传感器和控制器等设备。它以简单性和可靠性著称,广泛用于监控和控制工业过程。Edge Box RPi 200 是基于 Raspberry Pi 的工业物联网网关,能够将 Modbus RTU 设备与现代网络集成。本 wiki 使用 Node-RED(一种基于流的开发工具)指导用户使用 Edge Box RPi 200 设置 Modbus RTU 通信。它重点介绍了能源管理、环境监控和过程控制等应用。本资源为在各种工业场景中利用 Modbus RTU 提供了快速实用的方法。
入门
在开始此项目之前,您可能需要按照此处所述提前准备硬件和软件。
硬件准备
Edge Box RPi 200 |
---|
![]() |
软件准备
Edge Box 出厂时预装了 Raspberry Pi OS。如果您是第一次启动此设备,请阅读我们的入门指南 Wiki。我们已经准备了一份Node-RED 入门指南。建议您在继续阅读本 wiki 之前先查看此指南。在本教程中,我们将连接运行 YABE 室温模拟器的主机 PC 与运行在 Edge Box 上的 Node-RED。
RS485
在 Edge Box RPi 200 中,有一个 RS-485 端口。您可以在这里找到更多详细信息。在使用 Node-RED 之前,您应该正确连接设备。
安装 Modbus 节点
要安装 Modbus 节点,请在您的 Edge Box 上启动 Node-RED。您通常可以通过打开网页浏览器并导航到 http://<your-edgebox-ip>:1880
来访问它。然后按照以下步骤操作:
步骤 1. 点击设置按钮,该按钮由位于右上角的三横线图标表示,然后选择管理调色板。
步骤 2. 在调色板选项卡中,导航到安装选项卡。
步骤 3. 使用节点搜索栏查找所需的 Modbus 节点。
步骤 4. 点击节点旁边的安装按钮。
步骤 5. 如果出现提示,请从下拉警告窗口中点击安装按钮以确认安装。
步骤 6. 等待安装过程完成。完成后,安装按钮应该变为已安装。

识别 Modbus 地址
识别正确的 Modbus 地址是一个关键步骤。建议查阅 PLC、设备或传感器制造商的数据表,以获取有关 Modbus 地址的详细信息,包括输入、输出和保持寄存器。
这里我们将使用 SHT20 RS485 温度传感器。使用 RS485 硬件接口(具有防雷保护设计),协议层兼容标准工业 Modbus-Rtu 协议。当我们查看数据表时,可以找到提供温度和湿度数据的输入寄存器。
从设备获取数据
所需节点:Modbus Getter
、2 个 Function
节点、2 个 Debug
节点、Modbus Response
。
拖放这些节点并按照以下方式/顺序连接它们。
配置 Modbus Getter 节点
- 双击 Modbus Getter 节点。
- 将 Unit ID 设置为
1
。 - 将 FC 设置为
FC4: Read Input Registers
。 - 将 Address 设置为
1
(根据模拟设备数据表提供)。 - 将 Quantity 设置为
2
(读取两个块)。
配置 Modbus 服务器
- 在 Server 部分下,点击铅笔按钮创建新的服务器配置。
- 为服务器命名。
- 将 Type 设置为
Serial Expert
。 - 将 Serial Port 设置为
/dev/ttyACM0
。 - 将 Serial Type 设置为
RTU
。 - 保持其他设置不变。
功能块配置
我们使用功能块来提取相关的温度和湿度值。getter 节点的输出是一个包含整数和浮点部分的十进制数,因此我们需要使用基本数学运算进行调整。
温度
var tempMsg = { payload: msg.payload[0] / 100.0 };
return tempMsg;
湿度
var humidMsg = { payload: msg.payload[1] / 100.0 };
return humidMsg;
部署
按下部署按钮。您将在调试窗口中看到湿度和温度的值。

技术支持与产品讨论
感谢您选择我们的产品!我们在这里为您提供不同的支持,以确保您使用我们产品的体验尽可能顺畅。我们提供多种沟通渠道,以满足不同的偏好和需求。