【Azure】【MESH】【IoT Hub】MESH SDKからREST APIでIoT Hubに温度を送信してみる その1
以前のBlogでConnected Field Serviceを紹介したんですが、
せっかくなのでちゃんとIoT Hubらしく使いたいと思って、MESHタグを買っていました。
知らない方は、こちらからどうぞ。
このMESHなんですが、標準でもいろいろ遊べるんですけど、SDKを利用するとJavascriptを使った拡張が行えるようになっていて、しかもajaxを使ってWEB APIに接続できるように仕込むこととかできるんですね!
なので、IoT HubのRESTエンドポイントを利用して、MESHで取得した温度をIoT Hubに流してみようというのが、今回の趣旨になります。
なお、デバイス登録はIoT Hub上でやってしまいます。デバイス登録もMESHからできるようにすれば、いいっちゃいいんですが、そんなにMESHが無いので、、、。
IoT Hubの作成
なにはともあれ、まずはIoT Hubの作成です。
今回はあまりIoT Hubに関して詳しい説明をしません。というか自分がまだまだIoT Hubの知識が薄いですので、また今度。
とりあえず Azure でIoT Hubを新しく作ります。
各プロパティについては、もうちょっと別立てで整理したいので、今回は既定値でそのまま作っちゃいます。
IoT Hubを構成したら、デバイスの登録を行います。
「Device Explorer」→「新規」をクリックし、「Device ID」としてデバイスの一意名称を指定して、保存をクリックします。
このデバイスIDは後ほどMESHからREST APIを使ってリクエストを投げる際に使用します。
あとは、IoT hubに接続する際にSASが必要になるので、そのもとになる接続文字列を取得しておきます。
本来なら、デバイス用とかに分けるのですが、今回はDevice ExplorerでMESHから登録されたデータの監視もしたいので、権限が強いiothubownerを使います。
「共通アクセスポリシー」→「iothubowner」を選択して、「接続文字列-プライマリキー」を控えておきます。
以上でIoT Hub側の準備は完了です。
SASの作成
続いてSASの作成を行います。
SASの作成やデバイスの接続状況をモニタリングするのに便利なツールがMSから提供されているので、そちらを使いましょう。
以下のGit Hubからダウンロードできます。
「tools\DeviceExplorer」にVisual Stuido ソリューションファイルがありますので、それを立ち上げてビルド・デバッグしてDevice Explorerを立ち上げます。
ConfigurationタブのConnection Infomationに先程取得した接続文字列を貼り付けて、Generate SASをクリックすると、SASが生成されます。
これをMESHで使用します。
今回はとりあえずここまで。
次回MESH SDKの登録から実際の動作確認を行います。