前回から複数回に分けて、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に関する記事をどんどんご紹介していきたいと思います。
お楽しみに!