[enebular][Node-RED][IoT][Treasure Data] Node-REDで簡単アプリケーション開発
Dreamforce開始直前で(しかも休日に)全く関係ないネタを。
弊社は最近IoT地味てまして私もしこしこMQTT Meetupなんかに参加しているわけですが、そこでMQTTの仕様を固めた中心的な存在であるIBMさんがデモをした時にNode-REDという画面がチラっと見えたんですね。
色々ググるとIBMのNick O’Leary氏がNode-REDで「モノのインターネット」をデモと今年の6月に日本語記事もあったり、なんとオープンソースだったりしたもんですから早速触ってみた訳です。
Node-REDに書いている通りIoTのデバイスにこいつを仕込んでキャプチャのようなVisual Flow的な画面でデバイスへのデータのI/Oを設定する、そんなアプリケーションなので弊社で年内にリリース予定の「enebular」という以下のような画面のIoT/M2M向けサービスに組み込んでいるところでした。
ご覧のようにIoTだけじゃなくてTwitterのストリーミングAPIから取得したデータをTreasureDataへ保存したりなんかもできます。
普通のLinuxサーバ上でソーシャルデータ収集アプリとかTwitter botくらいなら数分で構築可能です(Nodeはプラガブルに自分で作成可能なのでTreasure Dataにログ投入するNodeを独自に作っちゃいました!)
※2014/10/21 追記: 上記TreasureData Nodeをnpmに登録しました
Node-REDのTreasureData Node npmに登録しました | node-red-node-td http://t.co/WCIb3cjtZs
— Atsushi Kojo (@joeartsea) 2014, 10月 20
これをデバイス同士のI/Oに置き換えれば無数に存在するデバイス同士のデータ連携がすごく楽になる、というのがNode-REDの狙いでオープンソースたる所以かと思います。
しかし、更なる日本語記事が本家IBMから数日前に公開されました。Node-RED を使用してリアルタイムのチャット・アプリケーションを 5 分で作成するを見てNode-REDを少し触ってた私も衝撃を受けました。
正直、SocialとかStorage系のNodeしか試してなくてHttpやWebSocketのプロトコル系とかfunction系は使い方が想像できるので後回しにしていたわけですよ。
そしたらfunction系にあるTemplate Nodeに指定したURIにWebページを表示するような使い方があったなんて!
つまりNode-REDでNodeを組み合わせるだけでWebアプリケーションも作れるという内容なんです。
Node-REDはIBMのBluemixというHerokuのようなPaaSで即試せます。上記チャットアプリケーションは既にひな形があってソレをインポートすれば5分もかかりません(本家のflowsに他にも色々ひな形あります)
これは非常にポテンシャルを感じます。
先にも述べました通り弊社サービスにも組み込みましたし、当面Node-REDを追いかけて色々なソリューションへ発展できればと考えています。
では!このブログを書き終えたらDreamforceへ参加するためサンフランシスコ行ってきます!