稲見です。はじめまして。
今回よりブログを執筆することになりました。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から送られたデータのグラフ化やルールに沿ったアラート通知もすることができます。
Internet of Things Platformの準備
まず、センサーデータを受信するためにIoTPlatformをBluemix上に構築します。
Bluemixへログインし、ページ右上の「カタログ」をクリックしてください。
表示されたボイラープレートから「Internet of Things Platform Starter」を探してクリックしてください。
オーダー画面が表示されるので、右側の「アプリの作成」にて任意の名前を入力して「作成」ボタンをクリックしてください。
「作成」ボタンクリック後にしばらくすると「アプリは実行中です。」と記載のある画面が表示されます。表示されればIoTPlatformの構築は完了です。
次にIoTPlatformの設定を行います。ページの左下の方にある「サービス」カテゴリの「iotf-service」を押してください。
ページの左下の方にある「ダッシュボードの起動」ボタンを押してください。
ページが表示されたら左側にあるタブから「デバイス」をクリックします。
表示された画面の右上の「+デバイスの追加」をクリックしてください。
「デバイスタイプの作成」をクリックし、次ページでも「デバイスタイプの作成」をクリックてください。
任意の名前、説明を入力し右下の「次へ」をクリックしてください。
今回はなにも選択せずに「次へ」ボタンをクリックします。
情報の送信、メタデータについても今回は使用しないので未入力のまま右下の「作成」ボタンをクリックしてください。
デバイス追加画面に戻ったこと、「デバイス・タイプの選択」欄に先ほど作成したタイプ名が入力されていることを確認し、右下の「次へ」をクリックしてください。
次の画面でデバイスIDを入力し「次へ」をクリックします。
メタデータ画面は未入力のまま「次へ」をクリックし、セキュリティの設定では「トークンを指定する(オプション)」に任意のパスワードを入力し「次へ」をクリックします。
要約画面で設定内容を確認し「追加」をクリックしてください。表示された画面をそのままにしてセンサーを起動しデータをIoTPlatformへ送信してください。
先ほどの画面のセンサー情報の欄にデータが表示されることを確認してください。データが表示されることが確認できましたらデバイスの追加作業は完了です。
センサーデータの蓄積
機能概要
IoTPlatformにはCloudantというNoSQLデータベースに直接データを格納する機能が標準でついております。
この機能を使用すると他のサービスやアプリを使用せずに直接Cloudantにデータを簡単に蓄積することができ、データ活用の幅を広げることができます。
ただしCloudantへ送るデータの加工ができないので、加工したデータを蓄積させたい場合にはNode-REDなどを使ってデータの加工することが必要となります。
使い方
左側の左のタブから「EXTENSIONS」をクリックします。
「Historical Data Storage」の「Setup」ボタンをクリックします。すると下に連携するサービスが表示されるので今回作成したアプリ名の付いているCloudantサービスの「Select」ボタンをクリックします。
今回は下の画像の設定を行い「Done」ボタンをクリックします。
アクセス許可を求められる画面が表示されますがそのまま「確認」ボタンをクリックし「Authorization successful!」と表示されたらその画面は閉じてしまって問題ありません。
これでCloudantへデータを書き込む設定は完了です。
Cloudantの中身を確認を確認してみましょう。無事データが書き込まれていれば成功です。
センサーデータのグラフ表示
機能概要
IoTPlatformではセンサーからのデータなどで簡単なグラフや情報をダッシュボードとして表示させることができます。データを可視化することによってセンサー等の状態が一目でわかるようになるので作っておくととても便利ですので是非作ってみましょう。
使い方
では今回はダッシュボードを新規に作成しセンサーからの温度情報と湿度情報でグラフで表示してみようと思います。
まず左のタブから「ボード」をクリックします。
右上の「+新規ボードの作成」をクリックします。すると新規ボードの作成のページが表示されるのでボード名と説明に任意に入力しますし「次へ」ボタンをクリックします。
その後メンバー画面ではなにもせず「作成」ボタンをクリックします。ボード画面に戻り作成したボードが追加されていることを確認します。
もしここで作成したボードが表示されていない場合にはサイトの更新を行ってみてください。
作成されたボードをクリックし表示された画面中央の「カードの追加」をクリックします。
今回はリアルタイムグラフを作成しますので、「デバイス」カテゴリの「リアルタイムグラフ」をクリックします。
デバイスの選択では作成したデバイスにチェックを入れて「次へ」ボタンをクリックします。
次にデータセットの設定ではグラフ上で表示させるデータの定義を設定します。
「新規データ・セットの接続」をクリックし表示させたいデータを定義下の画像のように設定し「次へ」をクリックします。
ここではグラフの大きさを設定します。今回はMLで作成したいと思いますのでMLタブを押して「次へ」を押します。
(オプション:設定タブをクリックするとその他の設定もできますのでぜひやってみてください)
最後にグラフの名前や色を設定して完了となります。1枚のボードにいくつかグラフなどを配置することができますのでお好みのダッシュボードを作ってみてください。
ルール設定とアラート通知
機能概要
IoTPlatformには標準でルール作成機能が備わっています。センサー情報にあらかじめ条件を設定しその条件にあった処理を行わせることが出来るのでアラート通知などに活用することが可能です。
今回はこの機能を使って閾値の設定しメールでアラート通知を送信してみようと思います。
使い方
ではさっそく設定を行っていきたいと思います。
まずルール設定を行う前準備としてデバイスのスキーマとプロパティの設定を行います。
右側のタブから「デバイス」タブをクリックし「スキーマの管理」をクリックします。
「+スキーマの追加」ボタンをクリックします。
「名前」では作成したデバイスタイプを選択し「次へ」をクリックします。
「プロパティの追加」ボタンをクリックし開いた画面から「接続先から」をクリックします。
今回は温度でルールを設定したいので「d.tem」にチェックを入れ「OK」を押します。
このときセンサーからデータの受信がないとプロパティが表示されないので注意してください。
この状態ではtemの値がstringになっているのでtemプロパティをクリックしてデータ・タイプを「浮動小数点」にし「OK」ボタンを押し続けて「終了」をクリックしてください。
これでようやくルールとアラートの設定に入ります。
左のタブから「ルール」をクリックしルール管理画面を表示させます。
「+クラウド規則の作成」をクリックしてください。
名前を任意に入力し適用対象には作成したデバイスタイプを選び「次へ」をクリックします。
ここからルールを設定行います。
まず「新規条件」をクリックし設定項目を埋めていきます。
設定が完了したら「OK」を押してください。
次に「新規アクション」をクリックし「アクションの追加」を押します。
アクションの作成画面で名前に任意で入力しタイプで「Eメールの送信」を選択し「Next」をクリックします。
次の画面では何もせずに「Finish」を押して設定を完了してください。
(なにもしない場合にはログインしているBluemixのユーザIDのメールアドレスに送信されます。送信先を変える場合には「指定したユーザーのみ」にチェックを入れ宛先/CCに任意のメールアドレスを入力してください。)
「OK」を押す前に必ず作成したアクションをクリックしてアクションの背景が灰色にったことを確認してから「OK」押すようにして下さい。そのまま「OK」を押すとアクションが選択されません。
その後「保存」と「アクティブ化」をクリックしてルールおよびアラートの設定は完了です。
ではセンサーの温度を上げてみましょう。BluemixログインIDのメールアドレス宛てにアラートが送られていいれば完了になります。
まとめ
いかがでしたでしょうか。
長くなってしましたがIoTPlatformがいかに簡単かお分かり頂けたかなと思います。皆様もIoTPlatformを使ってLet’s IoTしてみてください。
最後になりますがこれからも記事を上げていこうかと思いますのでよろしくお願いいたします。