前回、Azure IoT Hubへの接続の手順、および、Stream Analytics jobを経由したPower BIへのデータの受け渡し手順について、解説しました。
今回は、IoT Hubではなく、Event Hubへ接続する方法について簡単に説明します。
なお、全体の流れは前回の作業に沿って行ったものですので、WebUIでのデバイスの登録や、Stream Analytics、PowerBIの設定についての詳細な説明は行いません。
OBDN技術ブログによる動作検証は、該当するデバイスやソフトウェアの動作について、保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。
<検証環境>
ゲートウェイ
OpenBlocks IoT BX1 Debian wheezy 7.8 / kernel 3.10.17-poky-edison
IIJmio 高速モバイル/D SIM
センサー
FWM8BLZ02A-109047 温度/3軸加速度センサービーコン (BLE)
クラウド
Microsoft Azure
2.Microsoft Azure Event Hubのデプロイと設定
Azureアカウントにサインインし、新規メニューより、Event Hubを検索します。

Event Hubを選択し、作成を押しすと、旧ポータルへ飛ばされますので、今回はそのまま旧ポータルで作業を行います。
IoTハブ名など、この先でリソース名として受け渡す可能性のあるものには"-"をつけないことをお勧めします。
例えば、Stream Analytics jobのクエリの記述パネルでは"-"は使用できません。
今回の設定例は以下の通り。
イベントハブ名
obsevhub
リージョン
東日本
obsevhub
リージョン
東日本
名前空間は自動で入力されます。 obsevhubというハブ名の場合は、obsevhub-nsとなります。

作成が終わって以下の画面から、作成したEvent Hub名をクリックします。

共有アクセスポリシーを作成します。
今回はtestという名前とし、権限を設定し、画面下部の「保存」を押します。

共有アクセスキー生成コンポーネントにある、ポリシー名、プライマリーキーを、次の項目で説明する、WebUIのSASキーの項目へ入力します。

Event Hubでの定作業は以上で終了です。
3.OpenBlocks IoT 基本ソフトウェアのWebUI設定
設定の全体の流れは前回の記事を参照してください。
作業として異なるのは、Azure IoT Hubへの送信が、Azure Event Hubへの送信となることです。
・Azure Event Hubへの送信設定
以下のドキュメントに従って設定を進めていきます。
OpenBlocks IoT Family向け データ収集ガイド
先に、送信先設定を行います。
MS Azure IoT Hubを「使用する」にチェックし、各項目を設定してください。
インターバル
収集したデータを送信する間隔です。
この例ではデータの送信確認のために5秒としています。
(実際には5分~1時間以上に設定されることが多いと思います)
有効時間
データ送信できない場合において、保持する時間を設定します。
0を指定した場合、データ送信が完了するまで保持し続けます。
ドメイン名
送信するIoT Hubのホスト名を設定します。
デフォルトでは、servicebus.windows.net が入力されています。
名前空間
上記の管理ポータルで作成された名前空間を使用してください。
ポート番号
送信先のポート番号を設定します。5670となっていますが、5671としてください。
デバイス一括設定
ビーコン及びデバイスの送信対象設定が”送信する”となっている各対象の
送信先設定を一括で有効/無効を選択できます。
収集したデータを送信する間隔です。
この例ではデータの送信確認のために5秒としています。
(実際には5分~1時間以上に設定されることが多いと思います)
有効時間
データ送信できない場合において、保持する時間を設定します。
0を指定した場合、データ送信が完了するまで保持し続けます。
ドメイン名
送信するIoT Hubのホスト名を設定します。
デフォルトでは、servicebus.windows.net が入力されています。
名前空間
上記の管理ポータルで作成された名前空間を使用してください。
ポート番号
送信先のポート番号を設定します。5670となっていますが、5671としてください。
デバイス一括設定
ビーコン及びデバイスの送信対象設定が”送信する”となっている各対象の
送信先設定を一括で有効/無効を選択できます。

デバイス情報送信設定を行います。
送信対象を、「送信する」にチェックし、各項目を設定してください。
センサー信号強度[dbm]
センサーに信号強度を設定できる機種の場合、設定したい信号強度を入力します。
設定した信号強度が無い場合、近似値またはデフォルト値が設定されます。
取得時間間隔[ms]
センサーからデータを取得する時間間隔を数字で設定します。単位はmsecです。送信先設定
送信先をチェックします。同時に2か所までの送信が可能です。
Event Hubにチェックします。
Event Hub名
Event Hub名を設定します。今回はobsevhubとなっています。
SASポリシー
管理ポータルで作成した共有アクセスポリシーの名前を入力します。
SASキー
管理ポータルで作成された共有アクセス生成キーコンポーネントよりプライマリーキーを
コピーし、入力します。
センサーに信号強度を設定できる機種の場合、設定したい信号強度を入力します。
設定した信号強度が無い場合、近似値またはデフォルト値が設定されます。
取得時間間隔[ms]
センサーからデータを取得する時間間隔を数字で設定します。単位はmsecです。送信先設定
送信先をチェックします。同時に2か所までの送信が可能です。
Event Hubにチェックします。
Event Hub名
Event Hub名を設定します。今回はobsevhubとなっています。
SASポリシー
管理ポータルで作成した共有アクセスポリシーの名前を入力します。
SASキー
管理ポータルで作成された共有アクセス生成キーコンポーネントよりプライマリーキーを
コピーし、入力します。

保存を押し、収集ログタブにて、Event Hubへデータが送信されていることを確認してください。

4.Stream Analytics jobの設定について
前回との変更点として、入力がIoT HubからEvent Hubになり、リソース名も変わります。
また、サービス名を変更した場合は、クエリのFROMの記述も変更します。
5.Power BIでのデータの確認と表示
Power BIにサインインすると、データセットに設定したデータセット名が表示されています。
以下の画面では、Stream Analyticsでデータセット名を変えていますので、前回と違うデータセットが表示されています。

上記の画面が確認できれば、今回のチュートリアルは終了です。
6.さいごに
今回は、Event Hubへ変更した部分だけを説明しました。
WebUIでのポート番号だけは5671であることをご確認ください。