Node-REDのインストールと基本操作

R-CPSシステムの中でも、フィジカルデータハブ(PDH)の内部で中心的な役割としてデータ処理を担っているNode-REDについて解説します。R-CPSのリコンストラクタブルな仕組みを利用してそれぞれの課題に適用する際にもグラフィカルなツールでデータ処理フローを変更し、比較的容易に対応することができます。

Node-REDのインストールや各種情報は、Node-RED日本ユーザー会のWebサイトにまとまっています。
ここでは、評価キットをはじめとするR-CPSシステムを自社の課題に合わせて再構築する際に必要な情報を解説します。


Node-REDのインストール

Node-REDをインストールする際は、Node-RED日本ユーザー会のインストールガイドに沿ってインストールします。
評価キットに含まれるPDHのハードウェアはRaspberry Piですので、Raspberry Pi用のインストールスクリプトを使用してインストールしています。
インストールが完了したら、ガイドに沿ってコンピュータの電源を入れた時に自動起動するように設定すると良いでしょう。
同じページの「起動時に自動実行する」の項目を参照して設定してください。
$ sudo systemctl enable nodered.service

Node-REDフロー作成の基本:フローエディタを開く

Node-REDをインストールして利用可能な状態にすると、ChromeなどのWebブラウザから利用できるようになります。


Node-REDをインストールしたマシンでアドレスバーに「localhost:1880」、または「IPアドレス:1880」を入力すると下記のような「フローエディタ」のウインドウが開きます。

フローエディタの左には各種ノードを持つパレット、そしてグリッドで仕切られたワークスペースがあり、右側のサイドバーには各種情報を表示できるようになっています。

左:パレット 中央:ワークスペース 右:サイドバー 上部に赤い「デプロイ」ボタンが配置されている

フローを作成する際は、パレットから必要なノードをワークスペースに配置し、ワイヤで接続して処理を組み立てます。
フローが出来上がったら「デプロイ」することで、組み立てた処理の実行を開始します。

Node-REDフロー作成の基本:フローの作成と実行

フローの作成と実行の流れを知るために、シンプルなフローを作成して実行してみましょう。

1. パレットからInjectノードを探し、マウスでワークスペースに配置します。

2. 同様に、パレットからDebugノードを探し、ワークスペースに配置します。

3. マウスで Injectノードの右側の出力端子からDebugノードの左側の入力端子までドラッグして、ワイヤを接続します。

4. フローが完成したので、右上の赤い「デプロイ」ボタンを押します。
 この操作により、作成したフローが実行を開始します。

5. 動作テストしてみましょう。
 左側のサイドバーの表示を、ムシのアイコンを押して「デバッグメッセージ」にしておきます。
 Injectノードの左にあるボタンをマウスで押すたびに、デバッグメッセージのウインドウにタイムスタンプの数値が表示されます。

Node-REDフロー作成の基本:フローの保存と読み込み

作成したフローはファイルに保存したり、保存したファイルから読み込んで利用することができます。

1)フローをファイルに保存するには、右上の三本線(ハンバーガーメニュー)をクリックしてメニュー項目を開きます。
「書き出し」の項目があるので選択します。

書き出しのダイアログが表示されます。書き出す対象を、現在作業しているタブのみにするか、全てのタブを対象とするかを設定することができます。
・「ダウンロード」をクリックすると、ダウンロードフォルダにflow.jsonとしてファイルが保存されます。
・「書き出し」をクリックすると、フローがクリップボードにコピーされます。

2)保存したフローファイルを読み込むには、右上のメニューから「読み込み」を選択します。

読み込みのダイアログが表示されます。ファイルを読み込む場合は「読み込むファイルを選択してください」のボタンをクリックしてファイルを選択します。
クリップボードにコピーしたフローを使用する場合は、このダイアログのフィールドにペーストしてください。
「読み込み」ボタンを押すと、フローの読み込みが行われます。

実際の応用に向けて

この基本操作を元に、実際のセンサーモジュールのデータを扱うフローを作成するにはこちらもご覧ください。

Node-REDのセキュリティ対策

Node-REDはインストールした初期状態ではセキュリティ設定が有効になっていません。そのため、Node-REDを運用しているPCのIPアドレスが分かれば誰でもフローを編集するフローエディタにアクセスしてソフトウェアを変更したり、ユーザーインターフェースを提供するダッシュボード画面にアクセスすることができてしまいます。これは一番最初にNode-REDを使い始める時には良いのですが、実際に運用を始める場合には下記のリンクの情報を元に、必ずセキュリティ設定を行ってください。

Node-REDのセキュリティ対策