跳到主要内容

IIoT 中常用的基础节点

엣지 类别外,原生 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是否在 Deploy 后立即触发一次 + 延迟时间

还可以注入 msg.payloadmsg.topic,因此单个节点即可同时承担“调度 + 输入数据”的作用。


2. debug — 侧边栏日志

msgmsg.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 rulesstop after first match

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

6. join — 汇集多条消息

将并行的多个节点(태그값 읽기 ×3 等)的结果合并为一个数组/对象。mode manual、count N、key 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 通知。这是运维稳定化的必备手段。


下一步