Alternate Text

Node-RED

工具 办公 研究

Node-RED 是一个基于 Node.js 的开源、可视化流程编排工具,最初由 IBM 新兴技术团队于 2013 年开发并开源,现为 OpenJS Foundation 托管项目。

2026-09-20 32 微信:tianz003

核心定位

它是一个低代码/无代码的流式编程平台,采用"拖拽节点 + 连线构建逻辑"的方式,让用户无需编写大量底层代码即可快速搭建事件驱动型应用程序,尤其适用于物联网、工业自动化、智能家居等场景。

核心功能

  • 可视化流程编程:基于浏览器的图形化编辑器,通过"节点(Node)+ 连线(Wire)"的拖拽式编程模式构建数据流,支持实时调试与一键部署
  • 丰富的节点生态:内置输入输出、逻辑处理、时间控制等核心节点,社区已共享超过 5000 个第三方扩展节点,覆盖 MQTT、HTTP、Modbus、OPC UA、BACnet、数据库、云平台等多种场景
  • 多协议支持:原生支持 MQTT、HTTP/HTTPS、WebSocket、TCP/IP、Modbus、OPC UA、CoAP、Serial 等通信协议,可轻松连接传感器、PLC、云平台及第三方服务
  • 轻量级跨平台:基于 Node.js 事件驱动和非阻塞 I/O 模型,资源占用极低(512MB 内存即可运行),可部署于树莓派、嵌入式 Linux、Windows、macOS、Docker 及云端服务器
  • 数据流处理:支持 JSON、XML、CSV 等多种数据格式的处理与转换,内置 Dashboard 节点可快速创建交互式图表和实时监控仪表盘
  • 开放可扩展:支持通过 JavaScript 自定义节点开发,提供 API 和插件机制,可与 Grafana、InfluxDB、TensorFlow.js 等外部系统集成

核心概念

  • 节点(Nodes):流程的基本功能单元,分为输入节点(如 inject、http in)、处理节点(如 function、switch)和输出节点(如 debug、mqtt out)
  • 流(Flows):由节点和连线组成的完整数据处理链路,代表一个自动化过程
  • 消息(Messages):节点间传递的数据对象,通常为 JSON 格式,核心属性为 msg.payload 和 msg.topic
  • 上下文(Context):用于存储数据的机制,分为节点级、流程级和全局级

应用场景

  • 智能家居:连接智能灯泡、插座、门锁等设备,实现设备联动与自动化控制
  • 工业物联网:作为轻量级 SCADA 系统或数据采集网关,读取 PLC/传感器数据并转发至 MES/ERP 系统
  • 边缘计算:部署在边缘网关执行本地逻辑,实现低延迟自动化控制
  • 协议转换:在不同协议(如 Modbus ↔ MQTT)之间进行数据转换与桥接
  • Web API 集成:快速构建 RESTful API 端点,连接云服务与本地系统
  • 个人自动化:如每日晨报推送、能耗监控告警等