Node-RED 物联网实践系列(1):总览与学习路线

本系列以 Windows 11 本地与 Docker 环境为主线,结合工业与楼宇场景,循序渐进地覆盖安装、节点用法、协议接入、数据存储与可视化、工程化与安全、运维与性能调优等完整链路,让读者能够在学习完该教程之后能够利用Node-Red进行数据的采集,存储,呈现以及设备的控制,实现物联网全流程的开发应用。

在这里插入图片描述PLC数据远程数据采集与远程控制案例

Node-RED 是什么

  • 基于 Node.js 的开源可视化流式编程工具,用“节点 + 连线”的方式编排设备、API 与服务。
  • 消息为中心事件驱动模型,常用 msg.payloadmsg.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_*.jsonsettings.jscontext 存储
  • 部署模式:Full/Modified/Nodes-only 三种部署策略
    编辑器组成结构
    来源:https://nodered.org/docs/user-guide/editor

国内的 Node-RED 使用状况

  • 教育与创客:高校课程与培训常用其做物联网入门与原型搭建。
  • 工控与楼宇:在协议桥接、边缘数据清洗与轻量可视化方面广泛使用。
  • 企业与研发:用于 PoC/试点、数据接入层与流程编排,缩短验证周期。
  • 社区生态:中文技术文章与示例逐步增多,部分国产网关内置或深度集成了 Node-RED。
  • 局限与认知:严格合规与重资产场景更偏向厂商平台;Node-RED 更多承担集成与创新角色。

学习路线与先修

  • 先修:Node.js LTS、基础网络与 JSON
  • 路线:
    1. 安装与运行 → 2) 核心节点 → 3) 协议接入
    2. 数据存储 → 5) Dashboard → 6) 工程化与安全
    3. 运维与调优 → 8) 场景实战与复盘

关键概念速览

  • msg:消息载体,常用 msg.payloadmsg.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 registry
      
      若返回 https://registry.npmmirror.com/ 即表示切换成功。
    • NodeRed全局安装与启动:
      npm install -g node-red
      node-red
      
    • 首次启动输出示例会显示版本、用户目录与访问地址(默认端口 1880
      在这里插入图片描述
      用浏览器打开网址http://127.0.0.1:1880/
      在这里插入图片描述Node-Red欢迎页面
  • 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 编排
    • 升级与版本管理、常见安装问题排查清单
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

网络安全那些事

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值