特集:IoTがもたらす製造業の革新〜進化する製品、サービス、工場のかたち〜
連載
» 2018年01月31日 10時00分 公開

IoT観測所(41):「Node-RED」がつなげるWeb系エンジニアとIoT (1/3)

IoTソリューションの開発に用いられているフローベースの開発環境「Node-RED」。IBMによって生み出された後、2016年10月にLinux Foundationに移管されてから、一気に普及が進んでいる。

[大原雄介,MONOist]

 今回は久々に開発環境の話を。取り上げるのは「Node-RED」である。Node-REDはもともと、IBMの社内コンテストで開発されたフローベースの開発ツールだ。2014年にIBMがクラウドの「Bluemix」をリリースする際に、標準搭載のOSS(オープンソースソフトウェア)として提供されるようになった。

 このままだと単にBluemix専用のソフトウェアということになってしまうのだが、2016年10月にこれはLinux Foundationの傘下に移動した。もっと正確に言えば、Node-RED自身はJavaScriptで構築されているのだが、IBM以外にも多くの企業がJavaScriptベースでさまざまなソフトウェア(Appium、Interledger.js、JerryScript、Mocha、Moment.js、webpackなど)を開発、それぞれ普及に努めていた。こうしたさまざまなJavaScriptベースのソフトウェアを一括でまとめ、より普及を進めるという目的のために、2016年にLinux Foundationの傘下にJS Foundationが設立された。この設立に当たりIBMは、Node-REDを同Foundationに寄贈した形だ。現在JS Foundationでは28のプロジェクトが進行中であり、Node-REDもその1つである。

Node.jsが動く環境ならどこでも動く

 さて、Node-REDはどんなものか? というと、上にも書いたがGUIを利用したフローベースの開発ツールである。フローベース、というのは「制御の流れ」を記述するという意味であり、Node-REDの場合、用意された機能や、自分で開発した機能(これをNodeと呼ぶ)同士をつなぐ(あるNodeの出力を、別のNodeの入力につなげる)ことで、最終的に欲しい仕組みを作り上げるというものだ。こうして接続された状態をFlow(フロー)と呼ぶ。Node及びFlowはそれぞれ保存し、ライブラリの形で登録したり、これらを取り込んだりすることもできる。こうした一連の開発作業を、専用のIDEではなくWebブラウザでできるという点もNode-REDの売りの1つである。

 実際の操作は文字で説明するより、IBMの提供している5分ほどのQuick Introductionの映像を見ていただいたほうが早いと思う。

 左ペインに置かれたNode一覧から欲しいものを探して、中央のFlow画面にドラッグ&ドロップ、入出力をつないだ後で、必要ならそれぞれのNodeのプロパティを右ペインで変更したり、コードを入力したりといった形でアプリケーションを開発できるというものだ。

 Node-REDの便利な点は、基本的にNode.jsが動く環境ならどこでも動くということだ。このため、開発は手元のPC(Windows、MacOS、Linuxのどれでも可)、あるいは「Docker」を利用したローカル環境で行って、実行はそのままPC/Dockerを使っても良いし、クラウドサービス(Bluemix改めIBM Cloudの他、SenseTecnic FRED、AWS、Azureが利用可能。また直接サポートされているわけではないが、Adafruit IOとNode-REDの組み合わせもしばしば利用される)を使うこともできるし、別のターゲットデバイスを利用しても良い。ターゲットデバイスもNode.jsが動けば「基本的には」何でもいい事になる。ちなみにターゲットデバイスとしては、「Raspberry Pi」「BeagleBone Black」「Arduino」「Android」が現在サポートされている。

関連キーワード

IoT | IBM | 開発環境 | Node.js | Webサービス | Linux Foundation


       1|2|3 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.