Node-RED 入門

最終更新:

はじめに

Node-RED は、デバイス、API、オンラインサービスを接続するためのオープンソースのフローベース開発ツールです。ブラウザ上のエディタでノード同士を接続し、データ処理や自動化のワークフローを構築できるため、IoT や産業用エッジアプリケーションに役立ちます。

このチュートリアルでは、reComputer RK シリーズのデバイスに Node-RED をインストールし、初期設定を行い、Web エディタを開いて簡単なテストフローをデプロイします。

ハードウェアとソフトウェアの要件

項目要件
エッジデバイスreComputer RK シリーズのデバイス
OSDebian や Armbian などの 64 ビット Debian 系 Linux
ネットワークインストール時のインターネット接続と、デバイスへのローカルネットワーク接続
アクセスsudo 権限を持つターミナルまたは SSH アカウント
クライアント最新の Web ブラウザを備えたコンピュータ

手順 1:reComputer RK デバイスに接続する

ターミナルまたは SSH でボードに接続します。例:

bash
ssh seeed@<DEVICE_IP>

<DEVICE_IP> をボードの IP アドレスに置き換えます。ログインユーザー名が異なる場合は、seeed も実際のユーザー名に変更してください。

システムアーキテクチャと Linux ディストリビューションを確認します。

bash
uname -m
cat /etc/os-release

64 ビットの RK システムでは、アーキテクチャは aarch64 と表示されるはずです。

手順 2:Node-RED をインストールする

公式インストーラに必要なパッケージをインストールします。

bash
sudo apt update
sudo apt install -y curl git build-essential ca-certificates

Node-RED 公式の Debian インストーラを実行します。

bash
bash <(curl -fsSL https://github.com/node-red/linux-installers/releases/latest/download/install-update-nodered-deb) --node22 --skip-pi

--node22 オプションは Node.js 22 をインストールし、--skip-pi は RK シリーズでは不要な Raspberry Pi 専用ノードをスキップします。インストーラは Node-RED をインストールし、システムサービスを設定します。

コマンド全体の先頭に sudo を付けず、sudo 権限を持つ通常の Linux ユーザーとして実行してください。確認を求められたらインストールを承認し、画面の指示に従います。

手順 3:初期設定を完了する

新規インストールでは、Node-RED の設定初期化プロンプトが表示されたら設定を完了してください。初期化をスキップし、まだ設定ファイルが存在しない場合は、Node-RED をインストールしたユーザーで次のコマンドを実行します。

bash
node-red admin init

Node-RED の設定初期化

設定は Node-RED のユーザーディレクトリに保存されます。Linux ユーザー名が seeed の場合、既定のパスは次のとおりです。

text
/home/seeed/.node-red/settings.js

エディタは信頼できるネットワーク内で使用し、ポート 1880 を直接インターネットに公開しないでください。管理者パスワードは Web エディタ用に設定します。

手順 4:インストールを確認して Node-RED を起動する

インストールされたバージョンを確認します。

bash
node -v
npm -v
node-red --version

Node-RED サービスを起動します。

bash
node-red-start

このコマンドはバックグラウンドサービスを起動し、ログを継続して表示します。Ctrl+C を押すとログ表示を終了できますが、サービスは引き続き動作します。

ログ表示を終了した同じターミナル、または別のターミナルで、サービスが動作していることを確認します。

bash
sudo systemctl status nodered.service --no-pager

サービスは active (running) と表示されるはずです。

再起動後の自動起動を有効にします。

bash
sudo systemctl enable nodered.service

手順 5:Node-RED Web エディタにアクセスする

reComputer RK デバイスの IP アドレスを調べます。

bash
hostname -I

同じネットワーク上のコンピュータから次を開きます。

text
http://<DEVICE_IP>:1880

Node-RED の既定のポートは 1880 です。初期設定でユーザー認証を有効にした場合は、作成したアカウントでログインします。

Node-RED のフローエディタが表示されます。左側にノードパレット、中央にワークスペース、右側にサイドバーパネルがあります。

Node-RED フローエディタ

手順 6:最初のフローを作成して実行する

組み込みの Inject ノードと Debug ノードで簡単なフローを作成します。

  1. 左側のパレットで inject ノードを見つけ、ワークスペースにドラッグします。

  2. Inject ノードをダブルクリックします。msg.payload の型を string にし、値を Hello from reComputer RK Series! に設定して Done をクリックします。

    Inject ノードのペイロードを設定

  3. debug ノードをワークスペースにドラッグします。

  4. Inject ノードの出力を Debug ノードの入力に接続します。

  5. 右上の Deploy をクリックしてフローをデプロイします。

  6. Debug messages サイドバーを開き、Inject ノードの左側にある小さなボタンをクリックします。

Debug サイドバーに次のメッセージが表示されるはずです。

text
Hello from reComputer RK Series!

Inject から Debug へのフローとメッセージ出力

これにより、Node-RED エディタが RK デバイス上でフローをデプロイし、実行できることを確認できます。

手順 7:便利な Node-RED サービスコマンド

操作コマンド
Node-RED を起動node-red-start
Node-RED を停止node-red-stop
Node-RED を再起動node-red-restart
ログを表示node-red-log
サービス状態を確認sudo systemctl status nodered.service --no-pager
起動時の自動起動を有効化sudo systemctl enable nodered.service

まとめ

reComputer RK シリーズのデバイスに Node-RED をインストールし、エディタを設定し、バックグラウンドサービスを有効にして、簡単なフローをデプロイしました。これを基盤として、MQTT や Modbus TCP などのプロトコルを使うエッジ IoT アプリケーションへ拡張できます。これらは別のチュートリアルで扱えます。

参考資料