このチュートリアルはNode-REDエディタを紹介し、 Inject、DebugおよびFunctionノードを使ったフローを作成します。
Node-REDを起動してから、ウェブブラウザでエディタを開きます。
Node-REDを実行している同じコンピュータでブラウザを使っているならば、 以下のURLでアクセスすることができます: http://localhost:1880
他のコンピュータを使っている場合、
Node-REDを実行しているコンピュータのIPアドレスを使う必要があります: http://<ip-address>:1880
.
Injectノードはノード上のボタンをクリック、またはInject間隔を設定することにより、 フローにメッセージを流すことができます。
パレットから ワークスペース上にInjectノードをドラッグします。
新規に追加したInjectノードを選択して情報サイドバーペインで そのプロパティ情報および何ができるかを確認します。
Debugノードは
サイドバーのデバッグタブにメッセージを表示させるノードです。
デフォルトではmsg.payload
を表示し、
設定次第ではmsg
(メッセージオブジェクト全体)を表示させることもできます。
Inject/Debugノード双方のポートをドラッグして ワイヤーでつなぐことで2つのノードを接続します。
この時点ではノードやフローはエディタ上にしか存在しないので サーバにデプロイする必要があります。
デプロイボタンをクリックするとサーバにデプロイできます。
サイドバーのデバッグタブを選択した状態でInjectボタン(Injectノードの横の小さな四角のボタン)をクリックします。 サイドバーに数字が表示されるはずです。 デフォルトでは、Injectノードは1970年1月1日からのミリ秒数(タイムスタンプ)をペイロードとして利用します。
Functionノードは実際にJavaScriptを書くことができます。
今存在しているノードを一度削除します。(ワイヤを選択し、キーボードのDeleteキーを押下します。)
InjectノードとDebugノードの間にFunctionノードを配置します。
配置したFunctionノードをダブルクリックすると設定ダイアログが開きます。 Functionノードのフィールドに次のコードをコピーして貼り付けます。
完了ボタンをクリックして設定ダイアログを閉じ、デプロイボタンをクリックしてデプロイします。
Injectボタンをクリックするとサイドバーのデバッグタブに、 書式化されたタイムスタンプが表示されるでしょう。
このフローはフロー作成の基本的なコンセプトを説明しています。 どのようにInjectノードを手動でフローを始動させるために使うのか、 どのようにDebugノードがサイドバーに表示するのかを示しています。 また、どのようにFunctionノードをメッセージに対して動作するカスタムJavaScriptコードを書くために使うのかを示しています。
このチュートリアルで作成したフローは以下のJSONで示されます。 これをエディタにインポートするため、クリップボードにコピーし、読み込みダイアログにペーストします。
[{"id":"58ffae9d.a7005","type":"debug","name":"","active":true,"complete":false,"x":640,"y":200,"wires":[]},{"id":"17626462.e89d9c","type":"inject","name":"","topic":"","payload":"","repeat":"","once":false,"x":240,"y":200,"wires":[["2921667d.d6de9a"]]},{"id":"2921667d.d6de9a","type":"function","name":"Format timestamp","func":"// Create a Date object from the payload\nvar date = new Date(msg.payload);\n// Change the payload to be a formatted Date string\nmsg.payload = date.toString();\n// Return the message so it can be sent on\nreturn msg;","outputs":1,"x":440,"y":200,"wires":[["58ffae9d.a7005"]]}]
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy