Azure IoT Hubを触ってみた② SDK編

前回から複数回に分けて、Azure IoT Suiteの1つ「IoT Hub」についてご紹介しています。
第二回はAzure公式から提供されているSDKツールを使ってIoT Hubへの通信を行います。

第一回の記事はこちらです。
AZURE IOT HUBを触ってみた① 作成編

IoT Hubと通信するには

前回はAzureポータルからIoT Hubの設定を行いましたが、ここからの作業はポータルではなくC#等のプログラム、CLIを利用する必要があります。

また、実際にデバイスからIoT Hubへ通信を行うためには、予めIoT Hub側の「デバイスIDレジストリ」にデバイスを登録する必要があります。

そこで、簡単に通信ができるようにとAzure公式ホームページからガイダンスプログラムやオープンソースSDKが提供されております。
https://azure.microsoft.com/ja-jp/develop/iot/

今回はGitHubで公開されているツールを利用します。
Visual Studioが必要ですが、IoT Hubへの通信を行うための情報をGUIベースで簡単に作成することができます。

また、後ほどIoT Hubの共有アクセスポリシーの接続文字列を入力するので予め控えておいてください。

オープンソースSDKツールの起動

GitHubの下記ページからダウンロードができます。
https://github.com/Azure/azure-iot-sdks

ダウンロードしましたら「azure-iot-sdks-master」→「tools」→「DeviceExplorer」の順に開き、「DeviceExplorer.sln」をVisual Studioで開きます。

Visual Studioでファイルを開いたら「開始」アイコンをクリックします。

しばらくするとツールが立ち上がります。

SDKツールの操作

SDKツールではSASトークン作成やデバイスID管理の他にデータのモニタリング、IoT Hubからデバイスへのメッセージ送信ができます。

今回は、SASトークンとデバイスIDを作成し、データの受信確認を行います。
まず、Configurationタブの「IoT Hub Connection String」の欄に、先ほど控えておいた共有アクセスポリシーの接続文字列を入力し、Updateをクリックします。
※Protocol Gateway HostNameは今回入力不要です。

Updateが完了したら「Shared Access Signature」エリアに共有アクセスポリシーの情報が入力されます。
TTLを設定した後、「Generate SAS」をクリックするとIoT Hubに接続するためのSASが作成されます。

続いて、デバイスIDの登録を行います。
Managementタブを開き、「Create」をクリックします。

この画面でデバイスIDとアクセスキーの命名を行います。
なお、自動生成させることも出来ます。

デバイスIDの登録が完了すると一覧で表示されます。
以上で準備は完了です。

動作テスト

以前、Event Hubの弊社記事の際にも利用した簡易APIテストツールでIoT Hubへの通信を行います。

AZURE EVENT HUBSを触ってみた④ REST API送信編

注意点としては、URIの中で先ほど登録したデバイスIDを指定する必要があります。

REST APIの通信が成功すると、SDKツールの「Data」タブで中身を確認することができます。

いかがでしたでしょうか。
IoT Hubを便利に利用できるSDKツールをご紹介しました。
今後もIoT Hubに関する記事をどんどんご紹介していきたいと思います。

お楽しみに!

この記事を書いた人

azure-recipe-user