© Hitachi, Ltd. 2021. All rights reserved.
日立製作所 OSSソリューションセンタ
2021/5/18
横井 一仁
Node-RED v1.3新機能紹介
1
© Hitachi, Ltd. 2021. All rights reserved.
Node-REDとは
IoTおよびWebアプリケーション向けのローコードプログラミングツール
• ブラウザベースの開発環境
• 3000個を超える追加モジュール
• 産業用IoTプロトコル
• データの視覚化
• 画像認識 など
• チップからクラウドまでリアルタイム
につなげたシステムを構築可能
• OpenJS Foundation管理下のOSS エッジ
デバイス
ローカル
PC
クラウド
Node-REDのフローエディタの画面
2
© Hitachi, Ltd. 2021. All rights reserved.
Node-REDの開発ロードマップ
Node-RED v1.x以降、1年周期のメジャーリリースを行う計画
• 2019年9月: v1.0リリース
• 2021年4月: v1.3リリース、以降1年間メンテナンスサポート
• 2021年5月: v2.0ベータ版リリース
Node-REDのリリース計画
https://nodered.org/blog/2020/07/01/release-plans
現在
3
© Hitachi, Ltd. 2021. All rights reserved.
主にnpmモジュールを介して、手軽にNode-REDを拡張できる機能を多く実現
[注目機能]
• プラグインフレームワーク
• サブフローのカスタムノード化
• functionノードでの
外部npmモジュールのインストール
• change/switchノードでの値の参照法
[フローエディタ側の機能]
• execノードの拡張
• フローエディタの機能追加
-> 以降、赤色の機能を説明
4月8日に、Node-RED v1.3がリリースされました
[ランタイム側の機能]
• 新しいノードの許可/拒否設定法
• 複数Middlewareの設定
https://nodered.jp/blog/2021/04/08/version-1-3-released
4
© Hitachi, Ltd. 2021. All rights reserved.
プラグインフレームワーク
ブラウザのアドオンの様にランタイムや
フローエディタを拡張できる機能
https://www.npmjs.com/package/node-red-contrib-plugin-notify https://www.npmjs.com/package/node-red-contrib-plugin-header
カスタム通知ダイアログ
カスタムヘッダーボタン
[プラグインの例]
プラグインを
インストール
プラグインが
有効化
5
© Hitachi, Ltd. 2021. All rights reserved.
ダークモードや、コーポレートカラーに応じたエディタテーマを設定可能
エディタテーマプラグイン
https://github.com/node-red-contrib-themes/theme-collection
6
© Hitachi, Ltd. 2021. All rights reserved.
サブフローのオリジナルノード化
サブフローを用いて、ノンコーディングでノード開発ができる様になった。
(1) サブフローを開発 (2) サブフローの設定
(3) サブフローをノードとしてパッケージング
(4) フローライブラリへ公開 (5) ノードとしてインストール
(6) 通常のノードとして利用
https://nodered.jp/docs/creating-nodes/subflow-modules
7
© Hitachi, Ltd. 2021. All rights reserved.
functionノードでの外部npmモジュールのインストール
functionノード内のJavaScriptコードで呼び出すnpmモジュールを
プロパティUI上でインストールできる機能 (settings.jsのオプション変更が必要)
モジュールをインストール
functionノードの「コード」タブ
functionノードの「設定」タブ
モジュール名
を指定
モジュール
呼び出し可能
8
© Hitachi, Ltd. 2021. All rights reserved.
execノードの拡張: コマンドの引数にメッセージの変数名を指定
引数に使う値をmsg.payloadに
代入するため、changeノードが必要
※ Node-RED v1.2以前のフロー
execノードのコマンド引数に変数名を指定可能になり、代入処理が不要になった。
[保存したファイルをコマンドで処理するフロー]
msg.payload以外の
変数名を指定可能
9
© Hitachi, Ltd. 2021. All rights reserved.
フローエディタの機能追加: 書き出しダイアログのプレビュー機能
クリップボードやファイルとして、JSON形式のフローを書き出すダイアログに、
書き出し対象のノードを視覚的に分かりやすくするプレビュー機能が追加された。
JSON形式の表示(従来と同じ) プレビュー表示
素のJSONデータより
書き出し対象を
認識しやすい
10
© Hitachi, Ltd. 2021. All rights reserved.
Shiftキーを用いて、フロー内のノードを一括で選択する方法が拡張された。
• Shiftキー + ノードをクリック: フロー内の全ノードを選択
• Shiftキー + ノードの左側をクリック: フローの前側の全ノードを選択
• Shiftキー + ノードの右側をクリック: フローの後ろ側の全ノードを選択
フローエディタの機能追加: フロー内のノード選択の拡張
11
© Hitachi, Ltd. 2021. All rights reserved.
ワークスペース内を移動するためのショートカットキーが追加された。
フローエディタの機能追加: ワークスペース内のナビゲート
選択するノードを矢印キーで切り替え
Ctrl + [ や Ctrl + ] でタブを切り替え
© Hitachi, Ltd. 2021. All rights reserved. 12
END
Node-RED v1.3新機能紹介
2021/5/18
日立製作所 OSSソリューションセンタ
横井 一仁
13
© Hitachi, Ltd. 2021. All rights reserved.
• Node-REDは、OpenJS Foundationの登録商標です。
• npmは、npm, Inc社の登録商標です。
• その他記載の会社名、製品名などは、
それぞれの会社の商標もしくは登録商標です。
商標について

Node-RED v1.3新機能紹介

  • 1.
    © Hitachi, Ltd.2021. All rights reserved. 日立製作所 OSSソリューションセンタ 2021/5/18 横井 一仁 Node-RED v1.3新機能紹介
  • 2.
    1 © Hitachi, Ltd.2021. All rights reserved. Node-REDとは IoTおよびWebアプリケーション向けのローコードプログラミングツール • ブラウザベースの開発環境 • 3000個を超える追加モジュール • 産業用IoTプロトコル • データの視覚化 • 画像認識 など • チップからクラウドまでリアルタイム につなげたシステムを構築可能 • OpenJS Foundation管理下のOSS エッジ デバイス ローカル PC クラウド Node-REDのフローエディタの画面
  • 3.
    2 © Hitachi, Ltd.2021. All rights reserved. Node-REDの開発ロードマップ Node-RED v1.x以降、1年周期のメジャーリリースを行う計画 • 2019年9月: v1.0リリース • 2021年4月: v1.3リリース、以降1年間メンテナンスサポート • 2021年5月: v2.0ベータ版リリース Node-REDのリリース計画 https://nodered.org/blog/2020/07/01/release-plans 現在
  • 4.
    3 © Hitachi, Ltd.2021. All rights reserved. 主にnpmモジュールを介して、手軽にNode-REDを拡張できる機能を多く実現 [注目機能] • プラグインフレームワーク • サブフローのカスタムノード化 • functionノードでの 外部npmモジュールのインストール • change/switchノードでの値の参照法 [フローエディタ側の機能] • execノードの拡張 • フローエディタの機能追加 -> 以降、赤色の機能を説明 4月8日に、Node-RED v1.3がリリースされました [ランタイム側の機能] • 新しいノードの許可/拒否設定法 • 複数Middlewareの設定 https://nodered.jp/blog/2021/04/08/version-1-3-released
  • 5.
    4 © Hitachi, Ltd.2021. All rights reserved. プラグインフレームワーク ブラウザのアドオンの様にランタイムや フローエディタを拡張できる機能 https://www.npmjs.com/package/node-red-contrib-plugin-notify https://www.npmjs.com/package/node-red-contrib-plugin-header カスタム通知ダイアログ カスタムヘッダーボタン [プラグインの例] プラグインを インストール プラグインが 有効化
  • 6.
    5 © Hitachi, Ltd.2021. All rights reserved. ダークモードや、コーポレートカラーに応じたエディタテーマを設定可能 エディタテーマプラグイン https://github.com/node-red-contrib-themes/theme-collection
  • 7.
    6 © Hitachi, Ltd.2021. All rights reserved. サブフローのオリジナルノード化 サブフローを用いて、ノンコーディングでノード開発ができる様になった。 (1) サブフローを開発 (2) サブフローの設定 (3) サブフローをノードとしてパッケージング (4) フローライブラリへ公開 (5) ノードとしてインストール (6) 通常のノードとして利用 https://nodered.jp/docs/creating-nodes/subflow-modules
  • 8.
    7 © Hitachi, Ltd.2021. All rights reserved. functionノードでの外部npmモジュールのインストール functionノード内のJavaScriptコードで呼び出すnpmモジュールを プロパティUI上でインストールできる機能 (settings.jsのオプション変更が必要) モジュールをインストール functionノードの「コード」タブ functionノードの「設定」タブ モジュール名 を指定 モジュール 呼び出し可能
  • 9.
    8 © Hitachi, Ltd.2021. All rights reserved. execノードの拡張: コマンドの引数にメッセージの変数名を指定 引数に使う値をmsg.payloadに 代入するため、changeノードが必要 ※ Node-RED v1.2以前のフロー execノードのコマンド引数に変数名を指定可能になり、代入処理が不要になった。 [保存したファイルをコマンドで処理するフロー] msg.payload以外の 変数名を指定可能
  • 10.
    9 © Hitachi, Ltd.2021. All rights reserved. フローエディタの機能追加: 書き出しダイアログのプレビュー機能 クリップボードやファイルとして、JSON形式のフローを書き出すダイアログに、 書き出し対象のノードを視覚的に分かりやすくするプレビュー機能が追加された。 JSON形式の表示(従来と同じ) プレビュー表示 素のJSONデータより 書き出し対象を 認識しやすい
  • 11.
    10 © Hitachi, Ltd.2021. All rights reserved. Shiftキーを用いて、フロー内のノードを一括で選択する方法が拡張された。 • Shiftキー + ノードをクリック: フロー内の全ノードを選択 • Shiftキー + ノードの左側をクリック: フローの前側の全ノードを選択 • Shiftキー + ノードの右側をクリック: フローの後ろ側の全ノードを選択 フローエディタの機能追加: フロー内のノード選択の拡張
  • 12.
    11 © Hitachi, Ltd.2021. All rights reserved. ワークスペース内を移動するためのショートカットキーが追加された。 フローエディタの機能追加: ワークスペース内のナビゲート 選択するノードを矢印キーで切り替え Ctrl + [ や Ctrl + ] でタブを切り替え
  • 13.
    © Hitachi, Ltd.2021. All rights reserved. 12 END Node-RED v1.3新機能紹介 2021/5/18 日立製作所 OSSソリューションセンタ 横井 一仁
  • 14.
    13 © Hitachi, Ltd.2021. All rights reserved. • Node-REDは、OpenJS Foundationの登録商標です。 • npmは、npm, Inc社の登録商標です。 • その他記載の会社名、製品名などは、 それぞれの会社の商標もしくは登録商標です。 商標について