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-like | crontab 形式(例: 0 7 * * * — 毎日 07:00) |
| Inject once after | Deploy 直後に一度発火するかどうか + 遅延時間 |
msg.payload と msg.topic も注入できるため、ノード 1 つで「スケジュール + 入力データ」の役割を同時に果たします。
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 のような 単純な 変換は、Function ノードを使わず change 一つで完了します。set / change / move / delete の 4 種類の動作があります。
5. switch — 条件分岐
msg.payload または任意のフィールドを判定して、出力ポートを振り分けます。checking all rules または stop after first match オプションがあります。
┌─ ≥ 80 ─▶ Slack 알림
read ──▶ switch ─┤
└─ < 80 ─▶ 정상 라인
6. join — 複数メッセージの集約
並列に配置した複数ノード(태그값 읽기 ×3 など)の結果を 1 つの配列/オブジェクト にまとめます。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}})
13. link in / link out
同一ワークスペース内での「仮想ジャンプ」。ワイヤーが蜘蛛の巣状になったのを整理するときに使います。
14. catch / status / complete
フローのどこかでエラーが発生すると catch が捕捉し、ノードの状態(例: mqtt 接続済み/切断)を status が通知します。運用の安定化に必須です。
次のステップ
- エッジカテゴリ(タグの読み取り/書き込み) — ゲートウェイ専用ノード
- IIoT サンプル集 — 上記ノードを組み合わせた実践パターン