Node-REDの簡易説明

Node-REDはデフォルトで1880番ポートを用いてブラウザアクセス行います。

そのため、WLAN対応のOpenBlocksシリーズでのデフォルトIPでのWLAN経由でのNode-REDへのアクセスする為のURLは以下となります。OpenBlocks IX9等でのEthernet経由でのアクセス等については、適宜IPアドレスを変更してください。

アクセスした場合、以下のような画面が初期状態では表示されます。(ログイン認証設定をしていない場合)

easy1

また、本製品向けにデフォルトで用意している入力・出力・処理等のノードは以下となります。

easy2

Node-RED画面構成

Node-REDの画面は以下のように構成されています。

disp1

#

項目

説明

1

フローシート

処理フローを記述するワークスペースです。

2

デプロイ

デプロイボタンをクリックすることでシートに記述した処理フローを有効化します。

3

フロー

ノードを配置し結線することでデータの流れ(処理フロー)を定義します。

4

ノードパレット

処理フローの構成に用いられるノードの一覧です。

5

表示切替

ノード情報・デバック情報の表示を切り替えます。

6

ノード情報

ノード情報、又はデバック情報が表示されます。

ノード種類

Node-REDでは大きく分けて以下のようなコネクタ配置のノードがあります。

コネクタが右

コネクタが左右

コネクタが左

tnode1

tnode2

tnode3

・イベント起動

起動条件を満たした時、データを右のノードへ送信します。

・データ処理

左からデータを受信し、処理を行います。また、処理後のデータを右のノードで送信します。

・イベント終了

左からデータを受信し、該当処理を行い終了します。

データは左から右へと処理が行われます。

共通ノード

cnode01

手動もしくは一定間隔でメッセージをフローに注入します。

cnode02

「デバッグ」タブに、選択したメッセージプロパティの値を表示します。

cnode03

他のノードにおけるメッセージ処理の完了を受けてフローを開始します。

cnode04

同じタブ内のノードが送出したエラーをキャッチします。

cnode05

同じタブ内のノードのステータスメッセージを取得します。

cnode06

フロー間に仮想的なリンクを作成します。タブ上に存在するlink outノード に接続できます。

cnode07

フロー間に仮想的なリンクを作成します。タブ上に存在するlink inノードに 接続できます。

cnode08

フローにコメントを記述するために利用します。

機能ノード

fnode01

受信メッセージに対して処理を行うJavaScriptコード(関数の本体)を定義し ます。

fnode02

プロパティの値によってメッセージの振り分けを行います。

fnode03

メッセージ、フローコンテキスト、グローバルコンテキストのプロパティを 変更、削除、移動します。

fnode04

数値を異なる範囲の値に変換します。

fnode05

テンプレートに基づいてプロパティを設定します。

fnode06

ノードを通過するメッセージを遅延もしくは流量を制限します。

fnode07

メッセージを受信すると、別のメッセージの送信を行います。延長もしく は初期化が指定されていない場合には、2つ目のメッセージを送信することも できます。

fnode08

システムのコマンドを実行し出力を返します。

fnode09

入力されたメッセージをToami for Docomo向けのメッセージへ変換します。

fnode10

AWSIoTのThingShadowを制御します。

fnode11

例外データのノード - ペイロードの値が変化した場合だけデータを送信しま す。

ネットワークノード

nnode01

MQTTブローカに接続し、指定したトピックのメッセージをサブスクライブし ます。

nnode02

MQTTブローカに接続し、メッセージをパブリッシュします。

nnode03

HTTPエンドポイントを作成し、Webサービスを構成します。

nnode04

HTTP Inノードで受け付けたリクエストに対するレスポンスを送り返します。

nnode05

HTTPリクエストを送信し、レスポンスを返します。

nnode06

WebSocketにより受信したデータはmsg.payloadに格納し出力します。

nnode07

入力されたmsg.payloadデータをWebSocket経由で送信します。

nnode08

TCPからの入力を行います。リモートTCPポートに接続するか、外部からのコ ネクションを受け付けます。

nnode09

TCPへの出力を行います。リモートTCPポートへ接続、外部からのコネクショ ンの受け付け、もしくは、TCP Inノードで受け付けたメッセージへのリプラ イを行います。

nnode10

シンプルなTCPリクエストノード。msg.payloadをサーバのTCPポートに送信 し、レスポンスを待ちます。

nnode11

UDP入力ノード。msg.payloadにバッファ、文字列、もしくは、Base64エンコ ーディング文字列を生成します。

nnode12

入力されたmsg.payloadを指定したUDPのホストとポートに送信します。

入力ノード

innode01

Unix Domain Socketから受信したメッセージをmsg.payloadに送信します。

innode02

AWSIoTに接続し、指定されたトピックにサブスクライブします。 トピック にはMQTTワイルドカードが含まれる場合があります。

innode03

IBM Watson Internet of Things Platformからデバイスコマンドを受信しま す。

出力ノード

outnode01

msg.payloadをUnix Domain Socketに格納し出力します。

outnode02

AWSIoTに接続し、msg.topicまたは編集ウィンドウで指定されたトピックのい ずれかにmsg.payloadを送信します。

outnode03

デバイスイベントをIBM Watson Internet of Things Platformに送信しま す。

シーケンスノード

seqnode01

メッセージをメッセージ列に分割します。

seqnode02

メッセージ列を結合して一つのメッセージにします。

seqnode03

メッセージ列もしくは配列型のペイロードをソートします。

seqnode04

指定したルールによりメッセージ列を生成します。

パーサノード

parse_node01

CSV形式の文字列とそのJavaScriptオブジェクト表現の間で双方向の変換を行 います。

parse_node02

msg.payloadに格納したHTMLドキュメントからCSSセレクタを使用して要素を 取り出します。

parse_node03

JSON文字列とJavaScriptオブジェクトとの間で相互変換を行います。

parse_node04

XML文字列とJavaScriptオブジェクトとの間で相互変換を行います。

parse_node05

YAML文字列とJavaScriptオブジェクトとの間で相互変換を行います。

ストレージノード

str_node01

msg.payloadをファイルに書き出します。書き出しは、ファイルの最後に追 記もしくは既存の内容の置き換えを選択できます。

str_node02

ファイルの内容を文字列もしくはバイナリバッファとして読み出します。

str_node03

ディレクトリもしくはファイルの変化を検知します。

str_node04

設定したファイルの末尾を出力(追加されたデータを監視)します。

ソーシャルノード

soc_node01

Google+ APIを操作して、人、活動、コメントに関する情報を取得します。

soc_node02

Google Places APIを利用して、地元の施設を見つけて詳細を調べます。

soc_node03

Googleカレンダーの各イベントを返します。

cloudノード

cloud_node01

msg.payloadをAzure IoT Hubに送信するノードです。

cloud_node02

デバイスをAzure IoT Hubに登録するノードです。

cloud_node03

Azure Events Hubエンドポイントを介してデバイスからクラウドへのメッセ ージを受信するためのノードです。

cloud_node04

Azure IoT Hub Device Twinを取得するためのノードです。

GetwayKitノード

gw_node01

入力データをダッシュボードアプリケーションへ出力します。

locationノード

loc_node01

入力データをWEB上にプロットします。(インターネット接続が必要です。)

loc_node02

Worldmapの出力Webページからイベントを受信します。

loc_node03

指定した数の前の場所に基づいてトラックを作成します。

loc_node04

Google geocordingを用いて入力データをジオコーディング(住所情報と地 理的座標の相互変換)し、出力します。

loc_node05

Google directionsを用いて入力された出発地点と目的地点の経路を出力し ます。

dashboardノード

dash_node01

ユーザーインターフェースにボタンを追加します。

dash_node02

ユーザーインターフェースにドロップダウン選択ボックスを追加します。

dash_node03

ユーザーインターフェースにスイッチを追加します。

dash_node04

ユーザーインターフェースにスライダーウィジェットを追加します。

dash_node05

ユーザーインターフェースに数値入力ウィジェットを追加します。

dash_node06

ユーザーインターフェースにテキスト入力ウィジェットを追加します。

dash_node07

ユーザーインターフェースに日付選択ウィジェットを追加します。

dash_node08

ユーザーインターフェースに色選択ウィジェットを追加します。

dash_node09

ユーザーインターフェースにフォームを追加します。

dash_node10

ユーザーインターフェースに編集不可能なテキストフィールドを表示しま す。

dash_node11

ユーザーインターフェースにゲージタイプのウィジェットを追加します。

dash_node12

ユーザーインターフェースに入力値をグラフにプロットします。

dash_node13

ダッシュボードの音声またはテキストを音声で再生します。

dash_node14

msg.payloadをポップアップ通知またはOK / Cancelダイアログメッセージと してユーザーインターフェイスに表示します。

dash_node15

ダッシュボードを動的に制御できます。

dash_node16

テンプレートウィジェットには、任意の有効なhtmlおよび角度/角度 - 材料 指示を含めることができます。

dash_node17

ダッシュボードのマップに「もの」をプロットします。

Googleノード

go_node01

Googleカレンダーでイベントが発生するたびにメッセージを送信します。

go_node02

Googleカレンダーにエントリを作成します。