本系列以 Windows 11 本地与 Docker 环境为主线,结合工业与楼宇场景,循序渐进地覆盖安装、节点用法、协议接入、数据存储与可视化、工程化与安全、运维与性能调优等完整链路,让读者能够在学习完该教程之后能够利用Node-Red进行数据的采集,存储,呈现以及设备的控制,实现物联网全流程的开发应用。
PLC数据远程数据采集与远程控制案例
Node-RED 是什么
- 基于 Node.js 的开源可视化流式编程工具,用“节点 + 连线”的方式编排设备、API 与服务。
- 以消息为中心的事件驱动模型,常用
msg.payload与msg.topic承载和路由数据。 - 生态覆盖协议(MQTT/HTTP/WebSocket/Serial/Modbus/OPC-UA)、数据处理、存储与 UI 等常见场景。
- 可运行于本地、Docker、边缘网关与云端,适合 IoT 集成与快速原型验证。
为什么选 Node-RED
- 低代码编排:以 Flow 方式拼装设备、API 与服务
- 强生态:海量社区节点与官方 Dashboard,快速构建 UI
- 事件驱动:天然适合传感器/告警/流式处理
- 易部署:本地、Docker、边缘设备皆可运行
Node-RED 的前景
- 低代码与物联网发展的双重推动,使其在集成、原型与边缘场景的使用持续增长。
- 与云原生/容器/CI/CD 的结合增强了工程化与可维护性,便于规模化运维。
- 安全与可观测性能力的增强,让其在生产环境的轻量应用更可靠。
- 与工业协议、AI/数据处理库的结合,形成可复用的组件与场景模板。
- 预期定位:继续作为“连接与编排层”、PoC 与边缘数据管道的首选工具。
你将收获
- 快速搭建采集→清洗→存储→展示的端到端链路
- 常用协议接入(MQTT/HTTP/WebSocket/Serial/Modbus/OPC-UA)
- 可复用的 Dashboard 设计方法(
node-red-dashboard) - 工程化、可靠性与性能优化的最佳实践
- 常见问题定位与规避清单
架构与运行时概览
- 编辑器:浏览器端可视化编排(默认
http://127.0.0.1:1880) - 运行时:Node.js 进程加载与执行 Flow
- 目录结构:用户目录含
flows_*.json、settings.js、context存储 - 部署模式:Full/Modified/Nodes-only 三种部署策略

来源:https://nodered.org/docs/user-guide/editor
国内的 Node-RED 使用状况
- 教育与创客:高校课程与培训常用其做物联网入门与原型搭建。
- 工控与楼宇:在协议桥接、边缘数据清洗与轻量可视化方面广泛使用。
- 企业与研发:用于 PoC/试点、数据接入层与流程编排,缩短验证周期。
- 社区生态:中文技术文章与示例逐步增多,部分国产网关内置或深度集成了 Node-RED。
- 局限与认知:严格合规与重资产场景更偏向厂商平台;Node-RED 更多承担集成与创新角色。
学习路线与先修
- 先修:Node.js LTS、基础网络与 JSON
- 路线:
- 安装与运行 → 2) 核心节点 → 3) 协议接入
- 数据存储 → 5) Dashboard → 6) 工程化与安全
- 运维与调优 → 8) 场景实战与复盘
关键概念速览
msg:消息载体,常用msg.payload、msg.topic- Flow/Tab:画布页与逻辑分组
- Subflow:可复用的子流程(参数化)
- Context:
node/flow/global三级状态(可持久化) - Deploy:变更下发的策略选择与影响范围
实战准备(预热)
-
Windows 11 本地运行
- 安装 Node.js LTS 与
npm(建议安装Nodejs22LTS版本,对绝大部分的工业协议节点兼容性高),详细安装方法参考https://nodejs.org/zh-cn/download。
安装完成后,建议将 npm 源切换为国内阿里源以加快后续包下载速度:
验证是否生效:npm config set registry https://registry.npmmirror.com
若返回npm config get registryhttps://registry.npmmirror.com/即表示切换成功。 - NodeRed全局安装与启动:
npm install -g node-red node-red - 首次启动输出示例会显示版本、用户目录与访问地址(默认端口
1880)

用浏览器打开网址http://127.0.0.1:1880/
Node-Red欢迎页面
- 安装 Node.js LTS 与
-
Docker 快速运行
- 以持久化卷保存数据目录
/data:docker run -it -p 1880:1880 -v node_red_data:/data --name mynodered nodered/node-red:latest
- 以持久化卷保存数据目录
最小可运行流(可直接导入)
第一次上手建议从“时间戳 → 调试”开始,确认编辑器与运行时正常。
复制以下 JSON,在编辑器右上角菜单选择 Import 导入到画布(快捷键Ctrl+i),然后 Deploy(点击编辑器右上角部署按钮)。Inject 节点每秒发送当前时间戳至 Debug 面板。
[
{
"id": "a1",
"type": "inject",
"z": "f1",
"name": "every second",
"props": [{ "p": "payload" }],
"repeat": "1",
"once": true,
"onceDelay": 0.1,
"topic": "",
"payloadType": "date",
"x": 180,
"y": 120,
"wires": [["d1"]]
},
{
"id": "d1",
"type": "debug",
"z": "f1",
"name": "log",
"active": true,
"tosidebar": true,
"console": false,
"tostatus": false,
"complete": "payload",
"targetType": "msg",
"x": 400,
"y": 120,
"wires": []
}
]
导入与验证
- 导入后查看右侧 Debug 面板应每秒打印一个时间戳
- 若无输出:检查是否点击了 Deploy、Debug 节点是否处于启用状态

调试与日志建议
- Debug 粒度:仅输出需要的字段(如
payload),避免噪音 - 运行日志:启动终端输出可帮助定位端口占用、配置异常
- 节点状态:多节点在画布上会显示“已连接/错误/重连”等状态提示
常见误区与规避
- 任意滥用 Function 节点:能用 Change/Switch/Template 组合的尽量不用 JS
- 大消息体直传:对大 JSON/二进制流做裁剪或分片,减轻内存压力
- 无上下文持久化:需要跨重启保持状态时启用 Context Store
- 无主题规范:MQTT/消息路由要统一命名与层级设计,便于维护
推荐参考与文档导航
- 官方站点与文档:
https://nodered.org/ - 编辑器指南(插图来源):
https://nodered.org/docs/user-guide/editor - Dashboard 文档:
node-red-dashboard节点说明与组件列表 - 常见问题:启动与自启动、权限与端口占用、升级与兼容
下一篇预告
- 第2篇将覆盖:
- Windows 11 安装与启动、数据目录与
settings.js基本项 - Docker 镜像、卷、端口映射与 Compose 编排
- 升级与版本管理、常见安装问题排查清单
- Windows 11 安装与启动、数据目录与
311

被折叠的 条评论
为什么被折叠?



