メインコンテンツまでスキップ

IIoT でよく使う基本ノード

엣지 カテゴリ以外に、バニラ Node-RED が標準で提供するノードのうち、IIoT フローの中核となるものです。使用頻度順に整理しています。


1. inject — トリガー / スケジューラ

フローの起点です。ボタンで一度トリガーするか、一定周期/指定時刻に自動トリガーします。

オプション説明
Repeat: intervalN 秒/分/時間ごとに発火(例: 1 秒ごとのポーリング)
Repeat: interval between times特定の時間帯のみ発火(例: 09–18 時)
Repeat: at a specific time毎日決まった時刻(例: 毎日 07:00)
Repeat: cron-likecrontab 形式(例: 0 7 * * * — 毎日 07:00)
Inject once afterDeploy 直後に一度発火するかどうか + 遅延時間

msg.payloadmsg.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 responseNode-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 が通知します。運用の安定化に必須です。


次のステップ