Node-RED 文档
整理自《Node-RED 文档》原稿。官方站点与仓库见下文链接。
1、文档入口
1.1、官方文档
1.2、GitHub
2、Node-RED 概述
2.1、什么是 Node-RED
Node-RED 是一个基于浏览器的低代码开发工具,通过可视化方式创建数据流(flow),用来集成硬件设备、API、在线服务等。
2.2、用来干什么
最初由 IBM 工程师为物联网(IoT)设计,现已广泛用于自动化、数据处理、控制系统、API 构建等领域。
2.3、主要特点
流式编程(Flow-based programming)
核心是拖放「节点」(Nodes)组成数据流(Flow)。每个节点是一个功能单元(收数据、处理、发消息),节点之间用连线传递数据。
支持多种协议和设备
支持 MQTT、HTTP、WebSocket 等协议,以及 Raspberry Pi、Arduino 等硬件;也可对接 AWS、Azure、Google Cloud 等在线服务。
可扩展的节点库
社区生态丰富,可安装第三方节点(数据库、图像处理、短信通知等)扩展能力。
开源与跨平台
基于 Node.js,可运行在 Linux / Windows / macOS,也适合树莓派等资源有限的设备。
简单易用的界面
浏览器里拖节点、连线、单独配置,几乎不必写代码也能搭流程。
3、安装
3.1、Docker 安装
安装 Docker / docker-compose(以 Debian/Ubuntu 为例)
bash
# 更新包
sudo apt update
# 安装 docker
sudo apt install docker.io
docker --version
# 安装 docker-compose
sudo apt install docker-compose
docker-compose --version配置镜像源(可选)
国内访问 Docker Hub 不稳定时,可在 /etc/docker/daemon.json 配置 registry-mirrors(按你当前可用的镜像源填写),然后:
bash
sudo systemctl daemon-reload
sudo systemctl restart docker创建数据目录并启动
bash
cd
mkdir -p node_red_data
# 容器内用户一般为 uid 1000,按实际路径调整
chown -R 1000:1000 ~/node_red_data/
docker run -d --name nodered -p 1880:1880 \
-v ~/node_red_data:/data \
nodered/node-red浏览器访问:http://<主机IP>:1880(原稿示例为 http://172.16.5.111:1880)。
3.2、Windows 本地源码安装
环境:Node.js、npm、yarn;IDE 可用 WebStorm 等。
- 克隆 / 打开 Node-RED 工程后安装依赖:
bash
yarn install- 启动:
bash
yarn dev
4、节点
以下按调色板分类列出核心节点名称;详细参数以编辑器内帮助与官方文档为准。
4.1、通用节点(common)

| 节点 | 说明(一句话) |
|---|---|
| inject | 手动或定时注入消息,触发流程 |
| debug | 在侧栏打印消息,便于调试 |
| complete | 在指定节点完成处理时触发 |
| catch | 捕获下游节点抛出的错误 |
| status | 订阅其它节点的状态变化 |
| link in / link call / link out | 跨 tab 连接或调用子流 |
| comment | 注释,不参与数据流 |
4.2、功能节点(function)

| 节点 | 说明(一句话) |
|---|---|
| function | 用 JavaScript 处理每条消息 |
| switch | 按规则把消息路由到不同输出 |
| change | 不写代码即可改消息或 context |
| range | 数值区间线性映射 |
| template | 用 Mustache 模板生成文本 |
| delay | 延迟发送或限流 |
| trigger | 延时再发、超时检测等 |
| exec | 执行系统命令(注意安全) |
| filter | 按条件过滤消息 |
4.3、网络节点(network)

| 节点 | 说明(一句话) |
|---|---|
| mqtt in / mqtt out | MQTT 订阅 / 发布 |
| http in / http response / http request | HTTP 服务端入口、响应、客户端请求 |
| websocket in / websocket out | WebSocket 收发 |
| tcp in / tcp out / tcp request | TCP 收发与请求 |
| udp in / udp out | UDP 收发 |
4.4、序列化节点(sequence)

| 节点 | 说明(一句话) |
|---|---|
| split | 把数组/字符串等拆成多条消息 |
| join | 把多条消息合并 |
| sort | 排序 |
| batch | 按数量/时间等打成批次 |
4.5、解析节点(parser)

| 节点 | 说明(一句话) |
|---|---|
| csv | CSV 与对象互转 |
| html | 从 HTML 提取内容 |
| json | JSON 字符串与对象互转 |
| xml | XML 与对象互转 |
| yaml | YAML 与对象互转 |
4.6、存储节点(storage)

| 节点 | 说明(一句话) |
|---|---|
| 写入文件(file) | 把消息写入文件 |
| 读取文件(file in) | 读取文件内容 |
| watch | 监视文件/目录变化 |
5、下一步
工业现场常见接法见本专栏后续文章:
