fbpx

Node-RED in BlueMixを探る

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

今回は Node-RED に触れます。

Node-RED とはサイトにも "A visual tool for wiring the Internet of Things" とありますが、 IoT に特化したツールというよりも、各種サービスの I/O 連携を視覚的に構成可能な汎用ツールにも思えます。

まずはローカル環境にインストールしてみます。node.js のバージョン 0.10.x にて npm でインストール可能です(0.11.x 以上のバージョンはサポートしていません)。また npm install 時にパーミッションの警告が出る場合は --unsafe-perm オプションで回避可能です。

インストール後 nord-red コマンドでローカルのポート1880で起動します。

$ node-red

Welcome to Node-RED
===================

25 Mar 15:24:15 - [info] Node-RED version: v0.10.4
25 Mar 15:24:15 - [info] Node.js version: v0.10.38
25 Mar 15:24:15 - [info] Loading palette nodes
25 Mar 15:24:16 - [warn] ------------------------------------------
25 Mar 15:24:16 - [warn] Failed to register 4 node types
25 Mar 15:24:16 - [warn] Run with -v for details
25 Mar 15:24:16 - [warn] ------------------------------------------
25 Mar 15:24:16 - [info] User Directory : /Users/urasoko/.node-red
25 Mar 15:24:16 - [info] Flows file : /Users/urasoko/.node-red/flows_mba.local.json
25 Mar 15:24:16 - [info] Server now running at http://127.0.0.1:1880/
25 Mar 15:24:16 - [info] Starting flows
25 Mar 15:24:16 - [info] Started flows

http://127.0.0.1:1880/ にアクセスするとNode-REDのフロー編集画面が出ます。
Screen Shot 2015-03-25 at 17.56.25
左側に並んでいるのが Node と呼ばれるフロー上の要素となります(名前がややこしいですね)
Input から Output またその間に経由する Function などが並びます。種類ごとにイメージを貼ってみます。
Screen Shot 2015-03-25 at 16.44.33 Screen Shot 2015-03-25 at 16.47.48 Screen Shot 2015-03-25 at 16.45.38 Screen Shot 2015-03-25 at 16.45.49 Screen Shot 2015-03-25 at 16.46.02 Screen Shot 2015-03-25 at 16.46.11 Screen Shot 2015-03-25 at 16.46.44
種類によってはちょっと少ないと思いませんか?実は拡張用の Node とサンプルの Flow は Node-RED Library に公開されてます。

こんな Node を見つけたので拡張してみます。ページには npm コマンドしか記されていませんが、正式には Node-RED のデータディレクトリ(デフォルトでは $HOME/.node-red)以下にインストールする必要があります。

$ cd ~/.node-red/
$ sudo npm install node-red-contrib-neo4j
node-red-contrib-neo4j@0.0.3 ../node_modules/node-red-contrib-neo4j
└── node-neo4j@2.0.0-RC6 (step@0.0.5, superagent@0.16.0)

さてアプリケーションを再起動して Node を見てみましょう。
Screen Shot 2015-03-25 at 17.39.00
はい、増えました。
公開されているNodeから自身で活用できそうなものを拡張して用いることで、多様な用途が見いだせそうです。

では Bliuemix のボイラープレート Node-RED Starter で起動される Node-RED in BlueMix の Node を見てみましょう(ややこしいですね)
Screen Shot 2015-03-25 at 17.59.16 Screen Shot 2015-03-25 at 17.59.42 Screen Shot 2015-03-25 at 18.01.07 Screen Shot 2015-03-25 at 18.01.34
もうお分かりですね。 Node-RED Starter では Bluemix 上の各種サービスと連携するための Node が、予め Dependency に定義されています。もちろん Library に公開されているものは、ローカルで取り込むことも可能です。

そして右には Watson API も見えますね。そうです、「なぜ突然 IoT ?」と思われたかもしれませんが、 Node-RED を用いると様々なインプットデータをコグニティブサービスを始め多様に連携させるフローが容易に定義出来そうで、幅広い可能性を感じさせてくれます。

新規CTA