Comments
Transcript
Internet of Things アプリを Boilerplateで 作成する
5 Internet of Things アプリを Boilerplateで 作成する 1 © 2014 IBM Corporation ハンズオン手順 Boilerplate でアプリケーションを作成する Node-RED で IoT アプリを作成する デプロイされたアプリケーションを確認する 2 © 2014 IBM Corporation Boilerplate でアプリケーションを作成する (1) Bluemix には予め Runtime や Service を組み合わせた Boilerplate (Starter) というテンプレートが⽤意されています。これを利⽤することで、簡単に Bluemix アプリケーションを開発することができます。 Bluemix の CATALOG メニューにある Boilerplate (Starter) を確認してください。 各 Boilerplate をクリックすると、それがどのRuntime、Serviceを組み合わせたものか 説明されています。 3 © 2014 IBM Corporation Boilerplate でアプリケーションを作成する (2) Internet of Things をクリックします。この Boilerplate は、以下のコンポーネントから構 成されていることが分かります。 - SDK for Node.js - Cloudant NoSQL DB 次のように⼊⼒し、 「CREATE」ボタンをクリックします。 Name: iotsample+末尾に任意の⽂字列 Host: 上記の名前がコピーされる 4 © 2014 IBM Corporation Boilerplate でアプリケーションを作成する (3) DASHBOARD に iotsample アプリケーションと Cloudant NoSQL DB のサービスが 追加されることを確認します。 iotsample アプリケーションの状態が⻘信号になるのを待ち、右下のリンク・アイコンをクリ ックします。 5 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (1) Node-RED のページが表示されます。「Go to your Node-RED flow editor」ボタン をクリックし、Node-REDフロー・エディターを起動します。 IoT (Internet of Things) は家電、⾃動⾞、ウェラブル・デバイスなどあらゆる「モノ」を インターネットに接続し、お互いに情報をやりとりすることで新しい価値を⽣み出す概念 です。Node-RED は、IoT のフローを構築するためのビジュアル・ツールで、開発したシ ステムを簡単に Bluemix にデプロイすることが可能になっています。ここでは、温度セン サーにより取得したデータによって処理を変えるような IoT システムを作成していきます 。 6 クリック © 2014 IBM Corporation Node-RED で IoT アプリを作成する (2) Webブラウザーを起動し、ブックマークから次のWebサイトに接続します。 http://quickstart.internetofthings.ibmcloud.com/iotsensor/ IoT Sensorは、IoT Cloud に接続するデバイスをエミュレートし、気温、湿度、 物体温度の情報を発信 (publish) することができます。 右上に当デバイスの MAC アドレスが表示されるので、メモしておきます。 7 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (3) 先ず、初期画面に表示されるフローをすべて削除します。 各ノードをクリックし、削除キーにてすべて削除してください。 8 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (4) Node-REDフロー・エディターによって、IoT アプリの処理フローを定義します。 先ず、温度データの⼊⼒元である IoT Sensor のノードを定義します。左のパレットの input: ibmiot を中央のキャンバスにドラッグドロップし、ダブルクリックします。 Edit ibmiot in node のダイアログ・ボックスで以下のように⼊⼒します。 Authentication: Quickstart を選択 Name: IoT Sensor Device Id: xxxxxxxxxx (ここで、xxxxxxxxxxxは IoT Sensor の MAC アドレスをすべて小文字に してコロンを削除した⽂字列) 「Ok」ボタンをクリックします。 9 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (5) 次に、IoT Sensor のデータから温度データを取り出す function ノードを定義します。 パレットの functions:function をキャンバスにドラッグドロップし、ダブルクリックします。 Edit function node のダイアログ・ボックスで以下のように⼊⼒します。 Name: temp Function: return {payload:msg.payload.d.temp}; 「Ok」ボタンをクリックします。 IoT Sensor と temp をリンクします。 10 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (6) 次に、温度データの条件分岐を指定する switch ノードを定義します。 パレットの functions:switch を中央のキャンバスにドラッグドロップし、ダブルクリックします。 Edit switch node のダイアログ・ボックスで以下のように⼊⼒します。 Name: temp thresh 分岐条件に以下のようになるように追加: if msg.payload <= 40 > 40 「Ok」ボタンをクリックします。 temp と temp thresh をリンクします。 11 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (7) 次に、条件ごとの処理を指定する template ノードを定義します。 パレットの functions:template を2つ、キャンバスにドラッグドロップします。 1つ目のEdit template node のダイアログ・ボックスで以下のように⼊⼒します。 Name: safe Template: Temperature ({{payload}}) within safe limits 「Ok」ボタンをクリックします。 2つ目のEdit template node のダイアログ・ボックスで以下のように⼊⼒します。 Name: danger Template: Temperature ({{payload}}) critical 「Ok」ボタンをクリックします。 右図のようにリンクします。 12 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (8) 最後に、処理結果を出⼒するための debug ノードを定義します。 パレットの outputs:debug をキャンバスにドラッグドロップし、ダブルクリックします。 Edit debug node のダイアログ・ボックスで以下のように⼊⼒します。 Output: payload only to: debug tab Name: cpu status 「Ok」ボタンをクリックします。 template と cpu status を右図のようにリンクします。 13 © 2014 IBM Corporation Node-RED で IoT アプリを作成する (9) これまでのステップで下図のようなフローができあがります。右上の「Deploy」ボタンをクリッ クし、アプリケーションをデプロイします。上部に “Successfully deployed” と表示され れば、Bluemix へのデプロイは成功です。 右側のサイドバーを debug タブに切り替えます。 14 © 2014 IBM Corporation デプロイしたアプリケーションを確認する IoT Sensor の⽮印ボタンをクリックし、温度を変更します。 IoT Sensor の温度が debug タブに出⼒され、40度以下のときは、”Temperature (xx) within safe limits” と出⼒されることを確認します。 IoT Sensor の温度を上げて、40度を超えると “Temperature (xx) critical” と出⼒さ れることを確認します。 15 Node-RED を使いビジュアルにインターネット上のデバイスをワイヤリングし、Bluemix の node.js 上にデプロイする手順を確認しました。お疲れ様でした! © 2014 IBM Corporation