internet of things アプリを boilerplate で 作成する...

15
5 Internet of Things アプリを Boilerplate作成する

Upload: hoangcong

Post on 05-Aug-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

© 2014 IBM Corporation1

5Internet of Things

アプリをBoilerplateで

作成する

© 2014 IBM Corporation2

ハンズオン手順� Boilerplate でアプリケーションを作成する� Node-RED で IoT アプリを作成する� デプロイされたアプリケーションを確認する

© 2014 IBM Corporation3

Boilerplate でアプリケーションを作成する (1)� Bluemix には予め Runtime や Service を組み合わせた Boilerplate (Starter)というテンプレートが⽤意されています。これを利⽤することで、簡単に Bluemixアプリケーションを開発することができます。

� Bluemix の CATALOG メニューにある Boilerplate (Starter) を確認してください。各 Boilerplate をクリックすると、それがどのRuntime、Serviceを組み合わせたものか説明されています。

© 2014 IBM Corporation4

Boilerplate でアプリケーションを作成する (2)� Internet of Things をクリックします。この Boilerplate は、以下のコンポーネントから構成されていることが分かります。- SDK for Node.js

- Cloudant NoSQL DB

� 次のように⼊⼒し、 「CREATE」ボタンをクリックします。Name: iotsample+末尾に任意の⽂字列Host: 上記の名前がコピーされる

© 2014 IBM Corporation5

Boilerplate でアプリケーションを作成する (3)� DASHBOARD に iotsample アプリケーションと Cloudant NoSQL DB のサービスが追加されることを確認します。

� iotsample アプリケーションの状態が⻘信号になるのを待ち、右下のリンク・アイコンをクリックします。

© 2014 IBM Corporation6

Node-RED で IoT アプリを作成する (1)� Node-RED のページが表示されます。「Go to your Node-RED flow editor」ボタンをクリックし、Node-REDフロー・エディターを起動します。

� IoT (Internet of Things) は家電、⾃動⾞、ウェラブル・デバイスなどあらゆる「モノ」をインターネットに接続し、お互いに情報をやりとりすることで新しい価値を⽣み出す概念です。Node-RED は、IoT のフローを構築するためのビジュアル・ツールで、開発したシステムを簡単に Bluemix にデプロイすることが可能になっています。ここでは、温度センサーにより取得したデータによって処理を変えるような IoT システムを作成していきます。

クリック

© 2014 IBM Corporation7

Node-RED で IoT アプリを作成する (2)� Webブラウザーを起動し、ブックマークから次のWebサイトに接続します。http://quickstart.internetofthings.ibmcloud.com/iotsensor/

IoT Sensorは、IoT Cloud に接続するデバイスをエミュレートし、気温、湿度、物体温度の情報を発信 (publish) することができます。

� 右上に当デバイスの MAC アドレスが表示されるので、メモしておきます。

© 2014 IBM Corporation8

Node-RED で IoT アプリを作成する (3)� 先ず、初期画面に表示されるフローをすべて削除します。各ノードをクリックし、削除キーにてすべて削除してください。

© 2014 IBM Corporation9

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」ボタンをクリックします。

© 2014 IBM Corporation10

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 をリンクします。

© 2014 IBM Corporation11

Node-RED で IoT アプリを作成する (6)� 次に、温度データの条件分岐を指定する switch ノードを定義します。� パレットの functions:switch を中央のキャンバスにドラッグドロップし、ダブルクリックします。� Edit switch node のダイアログ・ボックスで以下のように⼊⼒します。Name: temp thresh

分岐条件に以下のようになるように追加:if msg.payload

<= 40

> 40

「Ok」ボタンをクリックします。� temp と temp thresh をリンクします。

© 2014 IBM Corporation12

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」ボタンをクリックします。� 右図のようにリンクします。

© 2014 IBM Corporation13

Node-RED で IoT アプリを作成する (8)� 最後に、処理結果を出⼒するための debug ノードを定義します。� パレットの outputs:debug をキャンバスにドラッグドロップし、ダブルクリックします。� Edit debug node のダイアログ・ボックスで以下のように⼊⼒します。Output: payload only

to: debug tab

Name: cpu status

「Ok」ボタンをクリックします。� template と cpu status を右図のようにリンクします。

© 2014 IBM Corporation14

Node-RED で IoT アプリを作成する (9)� これまでのステップで下図のようなフローができあがります。右上の「Deploy」ボタンをクリックし、アプリケーションをデプロイします。上部に “Successfully deployed” と表示されれば、Bluemix へのデプロイは成功です。

� 右側のサイドバーを debug タブに切り替えます。

© 2014 IBM Corporation15

デプロイしたアプリケーションを確認する� IoT Sensor の⽮印ボタンをクリックし、温度を変更します。� IoT Sensor の温度が debug タブに出⼒され、40度以下のときは、”Temperature (xx) within safe limits” と出⼒されることを確認します。

� IoT Sensor の温度を上げて、40度を超えると “Temperature (xx) critical” と出⼒されることを確認します。

Node-RED を使いビジュアルにインターネット上のデバイスをワイヤリングし、Bluemix のnode.js上にデプロイする手順を確認しました。お疲れ様でした!