「IoTデバイスのデータを受信してデータベースに保存する」アプリケーション(続き)
アプリケーション本体の作成(続き)
④ output >「debug」ノード
デフォルトのままでOKです(画面11はデフォルト値)。
-
Output: message property
msg.payload - to: debug tab
⑤ storage >「cloudant」ノード
cloudantノードには2種類ありますが、ここは端子が1つだけのものを使います。
- Service: 自動で割り振り(「作成したアプリケーション名-cloudantNOSQLDB」という形式)
- Database: 任意の名前。必須(画面7では「codezinedemodb2」)
- Operation: insert
- 「Only store msg.payload object?」にチェック
- Name: 任意(画面7では「cloudantDB」)
Database欄には、本来であればBluemixのサービスとして提供されているCloudantのデータベースを作成して、その名前を指定しますが、ここで指定することで後ほど(Deploy実行時)アプリケーション用のデータベースが新規に作成されます。
ここまで入力・確認できたら、フローエディター画面右上の「Deploy」ボタンを押すと、アプリケーションがビルドされてサーバー上にデプロイされます。現時点では、UIがないのでサーバー上でバックエンド処理を行うアプリケーションということになります。
「Deploy」ボタンを押してしばらく待つと、デプロイ成功のメッセージが表示されます(画面13)。
動作確認
デプロイが成功したら、動作確認を行います。debugノードの右側にあるタブのようなスイッチでデバッグ出力のON/OFFを切り替えることができます。デバッグ出力をONにして、フローエディター右側の「debug」タブを選択すると、デバッグメッセージが表示されます(画面14)。
IoTセンサーシミュレーターのウィンドウで気温・湿度・機器温度を変更すると、デバッグ出力されている値も変更されていることが確認できると思います。ただし、このアプリケーションではセンサーデータを1分ごとに受け取るようにしている(delayノードの処理)ことに注意してください。
デバッグメッセージの確認が終わったら、デバッグ出力をOFFにしておきましょう。また、「debug」タブのゴミ箱アイコンをクリックすると「debug」タブをクリアすることができます(画面15)。
センサーデータをアプリケーションが受け取っていることが確認できたので、次はデータベースへ保存されていることを確認します。
Bluemixのコンソール画面を開き、上部のメニューから「ダッシュボード」をクリックし、現在作成したアプリケーションを選択すると次の画面に移るので「Cloudant NoSQL DB」をクリックします(画面16)。
Cloudantインスタンスの画面が表示されるので、今回作成したアプリケーション名が表示されていることを確認して、右側の「LAUNCH」ボタンをクリックします(画面17)。
別ウィンドウでCloudant Dashboard画面が開きます。先ほどフローエディターで設定した名前のデータベース(ここではcodezinedemodb2)があるので、それをクリックします(画面18)。
開いた画面で、Cloudantの各データベースに格納されているデータやインデックスを確認できます。画面右側には、格納されているデータが一覧で表示されています。各データの右端にある「Edit document」とツールチップ表示されるペンのアイコンをクリックすると、各データの内容を確認できます(画面19)。
画面20のように各データの内容が表示されます。Debugタブに出力されていたのと同様、name、timestamp、temp、humidity、objectTempが含まれていればOKです。
ここまでで、第1段階の「IoTデバイスのデータを受信してデータベースに保存する」アプリケーションは終了です。
IoT成功のカギを握る:データ管理・分析クラウドサービスのご紹介
現象をデータ化するセンサーやデバイスに注目が集まりがちなIoTですが、価値を生むのはデータ化したその後の処理です。
「多数のセンサー、デバイスからインターネット経由で送信されてくるJSONデータを効率よく保管する」
「保管した大量のデータから未知のパターンを割り出し、ビジネスを成長させる知見を提供する」
こうしたIoTが価値を生むためのサービス・製品がIBMにあります。ぜひ、下記の資料をご覧ください。(編集部)