从串口到云端:基于 Node-RED 的嵌入式工业数据采集系统实战

1. 为什么选择 Node-RED + RK3568?
Node-RED 是基于 Node.js 的流式编程工具,非常适合事件驱动的物联网应用。但要将其稳定运行在工业现场,必须依赖可靠的硬件底座。
- 软件生态契合:eFish-SBC-RK3568 支持 Ubuntu 20.04 和 Linux 6.1 系统 。这为 Node.js 和 Node-RED 提供了完美的运行环境,无需复杂的交叉编译即可直接安装 npm 包。
- 硬件接口丰富:核心板引出了 6 路 UART(串口),支持 RS485 模式 。这意味着可以直接连接工业现场的温湿度变送器或电表,无需不稳定的 USB 转串口模块。
- 性能与稳定性:搭载 Rockchip RK3568 四核 Cortex-A55 处理器和 4GB 内存 ,足以支撑 Node-RED 的运行开销及本地数据缓存。同时,-40°C 至 85°C 的宽温设计 ,保证了网关在恶劣环境下的长期在线。
2. 硬件架构:物理链路搭建
2.1 接口接线
- 传感器端:假设使用一个 Modbus-RTU 温湿度传感器。
- 网关端:利用 eFish-SBC-RK3568 的 RS485 接口(通常映射为 /dev/ttyS3 或 /dev/ttyS4)。
- RS485 A 接 传感器 A+
- RS485 B 接 传感器 B-
- 网络端:利用板载的 双千兆网口 之一连接外网,或通过 M.2 接口 扩展 5G/4G 模组上网 。
3. 软件实战:从部署到流编排
步骤一:环境部署
在 RK3568 的 Ubuntu 终端中执行:
Bash
# 更新源并安装 Node.js (推荐 v14 或 v16 LTS)
sudo apt update
sudo apt install nodejs npm
# 全局安装 Node-RED
sudo npm install -g --unsafe-perm node-red
# 安装 Modbus 和 MQTT 插件
cd ~/.node-red
npm install node-red-contrib-modbus node-red-dashboard
步骤二:配置串口权限
为了让 Node-RED 能访问硬件串口,需赋予当前用户权限:
Bash
sudo usermod -a -G dialout $USER
sudo chmod 666 /dev/ttyS3 # 假设 RS485 挂载在此节点
步骤三:Node-RED 流编排 (Low-Code)
- 采集节点 (Modbus Read):
- 拖入 Modbus Read 节点。
- 配置 Server:选择 Serial 模式,路径 /dev/ttyS3,波特率 9600。
- 功能码:FC3 (Read Holding Registers)。
- 地址:设置起始地址和读取长度。
- 处理节点 (Function):
- 拖入 Function 节点,编写简单的 JavaScript 代码将 Buffer 数据转换为 JSON 格式(如 { "temp": 25.6, "hum": 60 })。
- 上云节点 (MQTT Out):
- 拖入 mqtt out 节点。
- 配置 Broker:填入阿里云或 AWS 的 IoT 接入点地址。
- Topic:设置发布的主题,如 factory/machine01/status。
- 本地展示 (Dashboard):
- 由于 RK3568 支持 HDMI 2.0 和 MIPI DSI ,可以直接连接一块触摸屏。
- 拖入 Gauge(仪表盘)和 Chart(曲线图)节点,连接到处理节点的输出。
4. 进阶功能:边缘计算与断点续传
基于 RK3568 的强大算力,我们不仅能做透传,还能做边缘处理:
- 数据清洗:在 Function 节点中加入逻辑判断,剔除传感器产生的野值。
- 本地存储:利用板载 32GB eMMC ,将数据写入 SQLite 或本地文件。当网络中断时,数据暂存本地;网络恢复后,Node-RED 自动读取缓存并补传。
- 视频联动:利用 RK3568 的 NPU 和 MIPI CSI 接口 ,在检测到温度异常(如火灾前兆)时,自动抓拍现场图片并与数据一同上传。
5. 总结
通过 电鱼 eFish-SBC-RK3568 与 Node-RED 的结合,原本需要数周的 C 代码开发工作被缩短至数小时的“拖拉拽”配置。这种方案不仅利用了 RK3568 工业级宽压宽温 的硬件可靠性,还发挥了 Node-RED 灵活易用的软件特性,是快速验证和部署工业物联网项目的最佳捷径。
相关资源:
- 硬件平台:eFish-SBC-RK3568 (4GB/32GB)
- 操作系统:Ubuntu 20.04 LTS
- 关键接口:RS485, Gigabit Ethernet, HDMI
- 开发工具:Node-RED, MQTT.fx
更多推荐


所有评论(0)