Node-REDについて

17th October 2021 at 8:44pm

Node-REDは、ハードウェアデバイス/API/オンラインサービスなどを相互に接続するために、IBMによって開発されたビジュアルプログラミング開発ツールです。

2013年9月にオープンソース化されています。

オープンソースになってからも、"IBM Cloud"の スターターキットプリケーションの1つとしてNode-REDを活用しています。またIBMに限らず、NEC/富士通/日立/東芝などのIoTプラットホームでも活用されています。

"Raspberry Pi"にも標準でインストールされています。

IoTサービスであるenebularにおいてNode-REDが使われていますが、「Node-REDの概要について」の動画を作ってくれています。とても分かりやすい動画です。

また、もう少し詳しく知りたい方は、Node-RED User Group Japanの「概要」も参考になります。

その中で、

各ノードは何らかのデータを与えられ、そのデータで何かを実行し、 そのデータを渡すといった明確に定義された目的を持ちます。 ネットワークはノード間のデータの流れを示します。

とありますが、Node-REDを知る上でとても大事な内容だと思います。

色々なところで使われているNode-REDですが、特徴としては、

  • Node.js上に構築されています。
    • Node-REDやそのパッケージも、npm install ・・・で簡単にインストールすることができます。
    • インストール方法は、こちらをご覧ください。
  • フローベースドプログラミングツールです。
    • ノードを並べて接続していく感じです。
  • WEBブラウザ上で開発を行います。
    • 特別な開発環境をインストールする必要はありません。ちなみに、上の図は"Google Chrome"でのGUIです。

自分が実現したい機能が驚くほど簡単に出来る場合が多いです。プロトタイプやPOC(概念実証)などを最小限の負荷でできます。処理速度や処理量が見合えば、本番で使っても良いのではないかと思います。

また、バージョン2.0以降、リンティングツールやデバッガーのプラグインが追加できるので、デバッグがかなりしやすくなりました。

とは言え、フローが複雑になるのであれば、他の言語(C#、Pythonなど)で実現した方がデバッグや保守が楽になるかもしれない、とも感じました。

最後に私がお世話になっているサイトを下にあげます。


HomeへNode-REDの記事Topへ