IBM BluemixでIoTから取得した情報をデータベースに格納する方法

2015年6月11日にコワーキングスペース茅場町で開催された「IBM Bluemix:IoTって何? IoTプログラミング体験」の関連記事です。

【動画あり】デバイスやビッグデータと設備機器がBluemixとKNX/DALIでつながる可能性を感じた! | 日本ピー・アイ株式会社

今回はハンズオンで取り組んだエアコンからのデータをBluemixで取得しデータベースに収納するまでの作業です。エアコンからのデータの取得は前の記事で説明していますので、こちらの記事もどうぞ。

IBM BluemixでエアコンのデータをJSONで受け取り条件分岐の処理をつくってみた | 日本ピー・アイ株式会社

IBM Bluemixでデータベースを追加する

IBM Bluemixでデータベースを利用するには、コンソールのサービスから「サービスまたはAPIの追加」の部分をクリックします。

ダッシュボード IBM Bluemix

データ管理に表示される「SQL Database」をクリックします。

カタログ IBM Bluemix

ちなみに、「SQL Database」と表示されるデータベースはIBMのDB2になります。

プランの選択。とりあえずFree。選んだら「作成」をクリック

SQL Database IBM Bluemix

環境が変わったので、再ステージングをします。

ダッシュボード IBM Bluemix

サービスに表示される「SQL Database」をクリック

ダッシュボード IBM Bluemix

右上にある「LAUNCH」ボタンを押します。

ダッシュボード IBM Bluemix

この画面になるので、真ん中の「Work with Tables」をクリック。

IBM SQL Database Getting Started

DB2でテーブルを作成します。左上の「+」を押しTableを追加。右側にSQL文を書いてTableの構造を決めます。

IBM SQL Database Work with Tables

これで、Tableが出来上がりました。

IBM SQL Database Work with Tables

以上でエアコンからのデータを格納するデータベースの準備ができました。

IoT(エアコン)から取得したデータをDB2に格納する

次に、エアコンから取得したデータをNode-RED flow editorを使ってデータベースに格納する処理をつくります。

functionノードをドラッグして追加。

Node RED naka 20150610 001 mybluemix net

functionノードをクリックしてJavaScriptで処理を書きます。

また、時間のデータはIoTノードからは出力されていないので、Data()を使います。

Node RED naka 20150610 001 mybluemix net

sqldbノードを追加します。

sqldbノードは2種類あります。ノードが左右にあるものと、左側1箇所のもの。今回は左側にあるものを利用します。

Node RED naka 20150610 001 mybluemix net

sqldbノードをクリックして、テーブルを指定します。(MYTABLE)

Node RED naka 20150610 001 mybluemix net

以上で完成なので、Deployを押します。

コンソール画面で、テーブルを選択。タブでBrowse Dataをクリックすると、このテーブルに格納されたデータを確認することが出来ます。

IBM SQL Database Work with Tables

以上で、エアコンから出力されているデータをデータベースに格納することができました。