跳到主要内容

基础节点

除了 PlantPulse Edge 类别外,在 Vanilla Node-RED 默认提供的节点中,以下是 IIoT 流的核心节点。按使用频率排序。


1. inject — 触发器 / 调度器​

流的起点。可通过按钮手动触发一次,或在特定周期/时间自动触发。

选项说明
Repeat: interval每 N 秒/分/时发送一次 (例如:每1秒轮询)
Repeat: interval between times仅在特定时间段发送 (例如:09–18时)
Repeat: at a specific time每天固定时间 (例如:每天 07:00)
Repeat: cron-likecrontab 格式 (例如:0 7 * * * — 每天 07:00)
Inject once after部署后是否立即发送一次 + 延迟时间

由于也可以注入 msg.payload 和 msg.topic,因此单个节点可以同时承担“调度 + 输入数据”的角色。


2. debug — 侧边栏日志​

将 msg 或 msg.payload 输出到右侧侧边栏的 debug 选项卡。如果将输出对象改为“完整 msg 对象”,则可以看到所有隐藏字段,是调试必备。


3. function — 自由 JavaScript​

输入一段 JavaScript 代码。通过修改 msg 并执行 return msg;,数据将传递到下一个节点。

// 예: payload 가 숫자라면 100배 해서 출력
msg.payload = parseFloat(msg.payload) * 100;
return msg;

如需分发到多个输出口,请在节点设置中将 Outputs 增加至 2 等,并返回数组 return [a, b];。


4. change — 字段设置/复制/删除 (无需代码)​

像 msg.topic = "abc", msg.payload = msg.payload.value 这样 简单 的转换,无需函数节点,只需通过一次 change 即可完成。包含 set / change / move / delete 四种操作。


5. switch — 条件分支​

根据 msg.payload 或任意字段将消息发送至不同的输出端口。支持 checking all rules 或 stop after first match 选项。

┌─ ≥ 80 ─▶ Slack 알림
read ──▶ switch ─┤
└─ < 80 ─▶ 정상 라인

6. join — 聚合多条消息​

将多个并行节点 (如 태그값 읽기 ×3 等) 的结果合并到 一个数组/对象 中。模式为 manual, 数量为 N, 键名为 msg.topic。


7. delay — 延迟 / 速率限制​

  • Pause: 将消息暂存 N 秒/分 (例如:报警后5分钟内不再重复发送)
  • Rate Limit: 限制处理速度,如“每秒1条” — 用于保护外部 API 轮询或 MQTT 发送

8. trigger — 状态/定时器结合​

例如“收到消息时发送开始消息,若 N 秒后未更新则发送结束消息”等模式 — 常用于 数据断线检测。


9. http request / http in / http response​

节点用途
http request调用外部 REST API (例如:外部天气 API, 企业 ERP)
http in + http response在 Node-RED 自身创建新的 HTTP 端点 (例如:接收 /myreport POST)

10. file / file in​

  • file (write/append): 保存为磁盘文件 (如 CSV 日志记录)
  • file in (read): 读取文件内容

11. csv / json / xml​

字符串 ↔ 对象转换。csv 具有丰富的页眉 / 分隔符选项。


12. template​

使用 mustache 语法输出模板。在创建邮件/Slack 消息/报告正文时最为方便。

🔥 [경보] {{tag_id}} = {{value}}{{unit}} (한도 {{threshold}})

在同一工作区内进行“虚拟跳转”。用于清理杂乱的连线。


14. catch / status / complete​

如果流中某处发生错误,catch 将其捕获;而节点的状态 (例如:mqtt 已连接/断开) 则由 status 通知。对于运营稳定化至关重要。


下一步​