7
0

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.

React Node-REDダッシュボードを使ってみる

Last updated at Posted at 2022-12-21

Node-REDで、ボタンや時系列グラフなどのユーザインターフェイスを作れるNode-REDダッシュボード、便利ですよね。サードパーティノードも開発できるようになったことで、Node-REDのエコシステム拡大に大きく貢献してきました。ただ、現在は内部で使用するAngularのバージョンがEOLになり、OSSの利用ポリシーが厳しいNode-REDのサービスでは採用が難しくなっています。そのため、代替としてReact Material UIを用いてNode-REDダッシュボード相当のノードを作ってみました。

インポート方法

現在のところフローとして公開しているため、下記フローライブラリにアクセスして、フローのJSONデータをNode-REDフローエディタに読み込みます。

本フローの実装にはサブフローの新機能を用いているため、Node-RED v3.0.0以上のバージョンを用いる必要があります。

フローを読み込むと以下の様なフローと、パレットのuikitカテゴリのノードが登場します。今回はシンプルなフローの作成方法を解説するため、一旦ワークスペースにあるフローは全て削除します。
Screenshot 2022-12-21 at 23.03.33.png

フローを作成

sliderノードとchartノードをワイヤーで繋ぎ、フローを作成します。sliderノードは、マウスでドラッグして値を変化させることができるUI部品です。chartノードは、時系列グラフを表示するUI部品です。

Screenshot 2022-12-21 at 23.12.09.png

本フローでは、sliderノードのUIが送出した値が、ワイヤーを通してchartノードに送られ、時系列グラフにプロットされます。

ダッシュボード画面を表示

ダッシュボードの画面を表示するには「http://<Node-REDのIPアドレス>:1880/uikit」にアクセスします。下のスライドバーをドラッグして値を変化させると、上の時系列グラフに値がリアルタイムに反映されるダッシュボード画面を開発できました。

Screenshot 2022-12-21 at 23.08.26.png

従来のフローとダッシュボード画面

元のNode-REDダッシュボードで、作成した場合のフローとダッシュボードの画面は以下の様なものです。

・フロー
Screenshot 2022-12-21 at 23.17.46.png

・ダッシュボード画面
Screenshot 2022-12-21 at 23.16.03.png

React Node-REDダッシュボードとオリジナルのNode-REDダッシュボードは、ほぼ同じ様な見た目であることが分かって頂けるかと思います。

React Node-REDダッシュボードの今後

半年ほど機能拡充をしてきたReact Node-REDダッシュボードは、従来のダッシュボードと同じ操作感で使えるようになってきました。今後の開発については現在のところ、下記のアイデアがあります。

  • カスタムノード化してノードとしてフローライブラリに登録
  • タブやグループを用いたダッシュボードレイアウト機能
  • テーブルノードやカメラノードなどのUI部品の拡充

今後も拡張してゆきますので、ご期待ください。

7
0
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
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?