稲見です。はじめまして。
今回よりブログを執筆することになりました。Bluemixでやってみたことなどを書いていきたいと思いますのでよろしくお願い致します。

さっそく今回のテーマですが、Bluemixのサービスの一つであるInternet of Things Platformの使い方を簡単にご紹介していきたいと思います。今回ご紹介する機能は主にデータの蓄積、グラフ化、ルール設定の3機能です。
センサーにはRaspberry Pi(node.js)と温湿センサー(DHT11)を使っています。Raspberry Pi側につきましては事前に設定をお願いします。

Internet of Things Platformとは

Internet of Things Platform(以下IoTPlatform)はBluemixでセンサーデータから送信されるデータを受け取るためのMQTTブローカーです。
データの受取り以外にはデバイスの登録・管理、アプリケーションとの連携、そしてIoTから送られたデータのグラフ化やルールに沿ったアラート通知もすることができます。

iotp%e3%81%a8%e3%81%af

Internet of Things Platformの準備

まず、センサーデータを受信するためにIoTPlatformをBluemix上に構築します。
Bluemixへログインし、ページ右上の「カタログ」をクリックしてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_1

表示されたボイラープレートから「Internet of Things Platform Starter」を探してクリックしてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_2_1

オーダー画面が表示されるので、右側の「アプリの作成」にて任意の名前を入力して「作成」ボタンをクリックしてください。
「作成」ボタンクリック後にしばらくすると「アプリは実行中です。」と記載のある画面が表示されます。表示されればIoTPlatformの構築は完了です。
次にIoTPlatformの設定を行います。ページの左下の方にある「サービス」カテゴリの「iotf-service」を押してください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_2_5

ページの左下の方にある「ダッシュボードの起動」ボタンを押してください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_3

ページが表示されたら左側にあるタブから「デバイス」をクリックします。

iotp%e3%81%ae%e6%ba%96%e5%82%99_4

表示された画面の右上の「+デバイスの追加」をクリックしてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_5

「デバイスタイプの作成」をクリックし、次ページでも「デバイスタイプの作成」をクリックてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_6

任意の名前、説明を入力し右下の「次へ」をクリックしてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_7

今回はなにも選択せずに「次へ」ボタンをクリックします。
情報の送信、メタデータについても今回は使用しないので未入力のまま右下の「作成」ボタンをクリックしてください。
デバイス追加画面に戻ったこと、「デバイス・タイプの選択」欄に先ほど作成したタイプ名が入力されていることを確認し、右下の「次へ」をクリックしてください。

iotp%e3%81%ae%e6%ba%96%e5%82%99_8

次の画面でデバイスIDを入力し「次へ」をクリックします。
メタデータ画面は未入力のまま「次へ」をクリックし、セキュリティの設定では「トークンを指定する(オプション)」に任意のパスワードを入力し「次へ」をクリックします。

iotp%e3%81%ae%e6%ba%96%e5%82%99_9

要約画面で設定内容を確認し「追加」をクリックしてください。表示された画面をそのままにしてセンサーを起動しデータをIoTPlatformへ送信してください。
先ほどの画面のセンサー情報の欄にデータが表示されることを確認してください。データが表示されることが確認できましたらデバイスの追加作業は完了です。

iotp%e3%81%ae%e6%ba%96%e5%82%99_11

センサーデータの蓄積

機能概要

IoTPlatformにはCloudantというNoSQLデータベースに直接データを格納する機能が標準でついております。
この機能を使用すると他のサービスやアプリを使用せずに直接Cloudantにデータを簡単に蓄積することができ、データ活用の幅を広げることができます。
ただしCloudantへ送るデータの加工ができないので、加工したデータを蓄積させたい場合にはNode-REDなどを使ってデータの加工することが必要となります。

使い方

左側の左のタブから「EXTENSIONS」をクリックします。

%e8%93%84%e7%a9%8d_1

「Historical Data Storage」の「Setup」ボタンをクリックします。すると下に連携するサービスが表示されるので今回作成したアプリ名の付いているCloudantサービスの「Select」ボタンをクリックします。
今回は下の画像の設定を行い「Done」ボタンをクリックします。

%e8%93%84%e7%a9%8d_2

アクセス許可を求められる画面が表示されますがそのまま「確認」ボタンをクリックし「Authorization successful!」と表示されたらその画面は閉じてしまって問題ありません。

%e8%93%84%e7%a9%8d_3

これでCloudantへデータを書き込む設定は完了です。
Cloudantの中身を確認を確認してみましょう。無事データが書き込まれていれば成功です。

%e8%93%84%e7%a9%8d_4

センサーデータのグラフ表示

機能概要

IoTPlatformではセンサーからのデータなどで簡単なグラフや情報をダッシュボードとして表示させることができます。データを可視化することによってセンサー等の状態が一目でわかるようになるので作っておくととても便利ですので是非作ってみましょう。

使い方

では今回はダッシュボードを新規に作成しセンサーからの温度情報と湿度情報でグラフで表示してみようと思います。
まず左のタブから「ボード」をクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_1

右上の「+新規ボードの作成」をクリックします。すると新規ボードの作成のページが表示されるのでボード名と説明に任意に入力しますし「次へ」ボタンをクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_2

その後メンバー画面ではなにもせず「作成」ボタンをクリックします。ボード画面に戻り作成したボードが追加されていることを確認します。
もしここで作成したボードが表示されていない場合にはサイトの更新を行ってみてください。
作成されたボードをクリックし表示された画面中央の「カードの追加」をクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_3

今回はリアルタイムグラフを作成しますので、「デバイス」カテゴリの「リアルタイムグラフ」をクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_4

デバイスの選択では作成したデバイスにチェックを入れて「次へ」ボタンをクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_5

次にデータセットの設定ではグラフ上で表示させるデータの定義を設定します。
「新規データ・セットの接続」をクリックし表示させたいデータを定義下の画像のように設定し「次へ」をクリックします。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_6

ここではグラフの大きさを設定します。今回はMLで作成したいと思いますのでMLタブを押して「次へ」を押します。
(オプション:設定タブをクリックするとその他の設定もできますのでぜひやってみてください)

最後にグラフの名前や色を設定して完了となります。1枚のボードにいくつかグラフなどを配置することができますのでお好みのダッシュボードを作ってみてください。

%e3%82%b0%e3%83%a9%e3%83%95%e8%a1%a8%e7%a4%ba_7

ルール設定とアラート通知

機能概要

IoTPlatformには標準でルール作成機能が備わっています。センサー情報にあらかじめ条件を設定しその条件にあった処理を行わせることが出来るのでアラート通知などに活用することが可能です。
今回はこの機能を使って閾値の設定しメールでアラート通知を送信してみようと思います。

使い方

ではさっそく設定を行っていきたいと思います。
まずルール設定を行う前準備としてデバイスのスキーマとプロパティの設定を行います。

右側のタブから「デバイス」タブをクリックし「スキーマの管理」をクリックします。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_1

「+スキーマの追加」ボタンをクリックします。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_2

「名前」では作成したデバイスタイプを選択し「次へ」をクリックします。

「プロパティの追加」ボタンをクリックし開いた画面から「接続先から」をクリックします。
今回は温度でルールを設定したいので「d.tem」にチェックを入れ「OK」を押します。
このときセンサーからデータの受信がないとプロパティが表示されないので注意してください。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_3

この状態ではtemの値がstringになっているのでtemプロパティをクリックしてデータ・タイプを「浮動小数点」にし「OK」ボタンを押し続けて「終了」をクリックしてください。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_4

これでようやくルールとアラートの設定に入ります。
左のタブから「ルール」をクリックしルール管理画面を表示させます。
「+クラウド規則の作成」をクリックしてください。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_5

名前を任意に入力し適用対象には作成したデバイスタイプを選び「次へ」をクリックします。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_6

ここからルールを設定行います。
まず「新規条件」をクリックし設定項目を埋めていきます。
設定が完了したら「OK」を押してください。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_7

次に「新規アクション」をクリックし「アクションの追加」を押します。
アクションの作成画面で名前に任意で入力しタイプで「Eメールの送信」を選択し「Next」をクリックします。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_8

次の画面では何もせずに「Finish」を押して設定を完了してください。
(なにもしない場合にはログインしているBluemixのユーザIDのメールアドレスに送信されます。送信先を変える場合には「指定したユーザーのみ」にチェックを入れ宛先/CCに任意のメールアドレスを入力してください。)

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_12

「OK」を押す前に必ず作成したアクションをクリックしてアクションの背景が灰色にったことを確認してから「OK」押すようにして下さい。そのまま「OK」を押すとアクションが選択されません。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_9

その後「保存」と「アクティブ化」をクリックしてルールおよびアラートの設定は完了です。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_10

ではセンサーの温度を上げてみましょう。BluemixログインIDのメールアドレス宛てにアラートが送られていいれば完了になります。

%e3%82%a2%e3%83%a9%e3%83%bc%e3%83%88_11

まとめ

いかがでしたでしょうか。
長くなってしましたがIoTPlatformがいかに簡単かお分かり頂けたかなと思います。皆様もIoTPlatformを使ってLet’s IoTしてみてください。
最後になりますがこれからも記事を上げていこうかと思いますのでよろしくお願いいたします。