10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Node-RED3.0の新機能

Posted at

株式会社日立製作所
サービスコンピューティング研究部
西山博泰

はじめに

Node-REDはノードと呼ばれる機能ブロックを画面上でつなぎ合わせることでフローと呼ばれるプログラムを簡単に作成できるOSSのプログラミングツールです。Raspberry PiのOSに標準搭載されるなどIoT分野で幅広く活用されるとともに、Web APIの呼び出しやデータベースアクセス、データ処理を行うノード、ダッシュボードによるGUI作成機能などを備えており、幅広い分野で活用が進んでいます。部品として利用可能なノードもOSSとして多数公開(この記事の執筆時点で約3900ノード)されています。
node-red-editor-00.png
Node-REDプロジェクトでは毎年4月にメジャーバージョンをリリース、一年を通して3ヶ月毎にマイナーリリースを出すリリースプランを想定しています。
予定されていたスケジュールより少し遅れる形となりましたが、2022年7月にNode-REDの最新版であるバージョン3.0がリリースされました。Node-RED 3.0では、フローの編集機能などさまざまな新機能が実装されています。この記事でNode-RED 3.0の新機能を紹介します。

ノード間ワイヤの合流点: ジャンクション

ノード間の結線(ワイヤ)はノードの出力と入力を接続します。この経路はNode-REDエディタが自動的に描画するため、ノードの配置によっては線の繋がりが分かりにくくなることがありました。

そこで、ジャンクション(Junction; 結節点)という要素をワイヤに導入し、複数のワイヤの合流点を一箇所でまとめる機能が追加されました。ジャンクションは小さな丸で表現されたワイヤの合流点で、マウスを上に置くと左右にワイヤ接続用のポートが表示されます。ワイヤ接続用のジャンクションを適宜挿入することにより、ノード間のワイヤの配置を細かく制御することができます。

シフトキーとALTキー(Macの場合optionキー)を押しながら、ジャンクションで   纏めたいワイヤ上をマウス左クリックでドラッグすることで複数のワイヤをまとめたジャンクションを挿入することができます。
Junction.gif
これまで複数のノードの出力がノードの入力へ接続されている場合、その入力を別のノードにも送るように変更しようとすると、ワイヤの接続を何度もやり直す必要がありました。ジャンクションを用いることでノードの接続を容易化することができます。

ジャンクションは内部的には入力メッセージをそのまま出力する1入力、1出力の特殊なノードとして実装されています。

ノード間接続の分割容易化

アプリケーションを構成するノードが多くなるとノード間の接続が複雑化します。このような場合、Linkノードを使うことでノード間のワイヤを明治的に表示することなくデータのやりとりを行うアプリケーションを構成できます。

Node-RED 3.0では、ワイヤを選択してAltキーとlキーを押し、続いてlキーを単独で押すことでワイヤをLinkノードによる接続に変換できるようになりました。
wire-to-link.gif

右クリックメニュー

ワークスペース上のマウス右クリックで次のようなメニューが表示されるようになりました。よく利用する操作を簡単に呼び出すことが可能になります。
right-click-menu.png

デフォルトエディタの変更

厳密には新機能ではありませんが、FunctionノードのJavaScriptコードや、Templateノードのデータを編集するために利用するテキストエディタがACEからMonacoに変更されました。Monacoエディタは2.0から設定を変更することで利用可能でしたが、デフォルトで利用するエディタになりました。
editors.png

デフォルトノード名

DebugノードやFunctionノードをワークスペースに配置した際、デフォルトで「debug 1」、「function 3」といった名前が自動的に設定されるようになりました。これにより、デバッグサイドバーの出力や検索の際にノードを識別することが容易になります。

その他の主要新機能

  • Linkノードをサブルーチンのように呼び出すLink Callノードの呼び出し先を入力メッセージ(msg.target)で指定できるようになりました。

  • デバッグサイドバーの出力ログからデータを出力したノードを識別することが容易になりました。

注意点

Node-RED 3.0ではサポートするNode.jsのバージョンが14以上となりました。推奨バージョンは16.Xです。

おわりに

この記事ではNode-RED 3.0で導入された新機能を紹介しました。Junctionによるフローの整理など便利な新機能が追加されていますので、ぜひ使ってみてください。

参考

Node-RED: Node-REDは,OpenJS Foundationの米国およびその他の国における登録商標または商標である。

JavaScript: JavaScriptは、Oracleの米国およびその他の国における登録商標または商標である。

10
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?