この記事の内容
この記事では、以下について解説します。
- Node-REDの概要
- Node-REDの環境構築
- Node-REDの要素
- Node-REDの簡単な使い方
この記事をみて、Node-REDを使いたいと思っていただけると幸いです。
Node-REDの概要
NodeREDはNode.js上で動作する、アプリケーションです。
OSSで公開されており、アプリケーションでブロック(ノード)をブラウザ上でつなぎ合わせたり、プロパティを設定することにより、プログラミングを行うことができます。
これにより、ローコードで作成することができます。Scratchと似てます。
Node-REDの環境構築
Node-REDの環境構築方法は簡単で、Node.jsをインストールし、npmでNode-REDをインストールするのが基本的な形になります。
Docker上で動作させたり、ラズパイで動作させたりできます。
詳しくは以下の公式ページを見れば構築できるかと思います。
Node-REDの要素
ここでは、Node-REDの重要な要素を解説します。
ノード
ノードは後述するフローに配置できる、ブロック要素です。
ノードは基本的に1つの入力ポートと、ノードに応じて複数の出力ポートを持ちます。
例えば、injectノードは手動もしくは一定間隔でメッセージをフローに流すことができたり、debugノードでは受け取ったメッセージをデバッグタブに表示することができます。
各ノードはワイヤーでつなぎ、どのノードからどのノードへメッセージを流すのかを指定します。
また、Node-REDのノードは、JavaScriptで自作ノードを作成することもできます。
フロー
フローは、ノードをつなげた一つの単位を言います。
フロータブには複数のフローを配置することができます。
メッセージ
メッセージはノード間で受け渡されるデータです。 メッセージはJavaScriptオブジェクトで、任意のプロパティセットを保持することができます。 msgで参照することができ、もっともよく使うのは、msg.payloadです。
Node-REDの簡単な使い方
ここでは、デバッグタブにHello Worldを出力する単純なフローを作成して、実行する方法を紹介します。
まず、以下の様にノード配置し、ワイヤーで配線します。
※ 白のノードは、コメントで配置するノードの種類を記載してます(配置しなくても大丈夫です)
templateノードをダブルクリックして、以下の様にメッセージを設定し、完了ボタンを押下します。
画面右上の、デプロイボタンを押下して、Node-REDサーバにデプロイします。
これで、準備は整いましたので、injectノードの左端のボタンを押すと、手動実行することができます。
出力した結果が、デバッグタブに表示されます。
ここでは、templateノードに設定した、メッセージがデバッグタブに表示されていることがわかります。
基本的な使い方は以上です。
さいごに
Node-REDを使うことで、ローコード、コーディングレスでプログラムを作成することができます。
TCPの通信や、HTTPのエンドポイントの作成などもできますので、テスト用のプログラムを作ったりできます。
また、ラズパイでGPIOを制御することもできるため、LEDの制御やサーボの制御などもNode-REDを使ってできます。
また、GUIを作成することもできるので、IoTの見える化に使うなど、用途は様々です。
今後、Node-REDについての記事を追加していきます。
コメント