#author("2020-09-17T23:59:51+00:00","default:admin","admin") #author("2020-09-18T00:09:11+00:00","default:admin","admin") -[[Microsoft Azure IoT ご紹介:https://swest.toppers.jp/SWEST21/program/pdfs/s4b_public2.pdf]] -[[Azure IoT Hub のドキュメント:https://docs.microsoft.com/ja-jp/azure/iot-hub/]] -[[Azure IoT Hub SDK の概要と使用方法:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-sdks]] -[[Azure Certified for IoT デバイス カタログ:https://catalog.azureiotsolutions.com/alldevices]] -[[IoT デバイスを Azure に接続する: IoT Hub と Event Hubs:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-compare-event-hubs]] --比較表あり --IoTデバイスとの通信目的ならば、IoT Hubを使うべし -[[AzureでIoT系のサービスをサラッと(?)使ってみよう:https://qiita.com/mstakaha1113/items/1c9b8f61452147a87640]] -[[「Azure IoT Edge で Custom Vision」のハンズオン資料を公開しました:https://yseosoft.wordpress.com/tag/iot-hub/]] -[[Microsoft Azure IoTに関するまとめや違いなど:https://qiita.com/motoriderse/items/6382df977e8844b8e344]] -[[Smart storeを実現するAzureサービス IoT編 - SlideShare:https://www.slideshare.net/MicrosoftAzure_Japan/smart-storeazureiot]] -[[Azure IoT Hubのツール:https://matsujirushi.hatenablog.jp/entry/2019/07/07/110759]] -[[SQL Edge で IoT Edge モジュールを開発してストリーム処理を実施する際に参考とした情報:https://blog.engineer-memo.com/2020/05/29/sql-edge-%E3%81%A7iotedge%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%82%92%E9%96%8B%E7%99%BA%E3%81%97%E3%81%A6%E3%82%B9%E3%83%88%E3%83%AA%E3%83%BC%E3%83%A0%E5%87%A6/]] -[[Azure IoT Hub - Microsoft系技術情報Wiki:https://techinfoofmicrosofttech.osscons.jp/index.php?Azure%20IoT%20Hub]] -[[くらう道 オフライン道場 番外編「IoTHub」「IoTEdge」:https://www.slideshare.net/TakashiMatsuoka2/iothubiotedge]] -[[【Azure基礎用語解説】「Azure IoT Hub」:https://licensecounter.jp/azure/blog/word/20160302.html]] -[[「Azure IoT Hub」「Azure IoT Edge」「Azure IoT Central」の違いとは?:https://techtarget.itmedia.co.jp/tt/news/1907/16/news07.html]] -[[Azure IoT Hubを使ってみた:https://qiita.com/linyixian/items/e319c5f63f9e57459ac0]] -[[「Azure × IoTプラットフォーム」 事始め④:https://www.softbanktech.co.jp/special/blog/cloud_blog/2016/0005/]] -[[SORACOM と Azure で IoT:https://www.slideshare.net/kekekekenta/soracom-azure-iot]] -[[インダストリー4.0 と Azure IoT:https://www.cloudou.net/azure-iot-suite/iot005/]] -[[Azure IoT Hub連携方法:https://www.senseway.net/service/network-service/network-manual/manual-with-azure-iot-hub/]] -[[マイクロソフト「Azure IoT」の強みはやはり「Windows 10 IoT」にあり:https://monoist.atmarkit.co.jp/mn/articles/1705/31/news038.html]] -[[IoT Gateway Firmware 2.x:https://www.plathome.co.jp/product/openblocks-iot/software-fw2-x/]] -[[パナソニックのIoTサービスを支えるクラウドプラットフォームの開発:https://www.panasonic.com/jp/corporate/technology-design/ptj/pdf/v6401/p0103.pdf]] -[[Azure IoT Hubとの連携設定:https://sakura.io/docs/pages/guide/tutorial/service/azure-iot-hub.html]] -[[LoRa通信によるIoT機器活用 TTN×Microsoft Azure IoT Hub/Centralによる可視化(その3):https://wohl-yz.net/archives/934]] -[[Seeed ReButtonを動かしてみる:https://matsujirushi.hatenablog.jp/entry/2019/01/23/171257]] *Azureからデバイスへの通信 [#a912eb8c] -平常時はデバイスツイン、緊急時はダイレクトメソッドを使用する -デバイスツインは通信が繋がったらデバイスに情報が伝わる(それまでIoT Hubが保持しているだけ) -ダイレクトメソッドは通信が繋がっていないと命令を送ることができない(エラーになる) -デバイスツインはいつかは命令が到達するが、今届いているかは不明 -ダイレクトメソッドは直接命令を送り込むので今届く **デバイスツイン [#c1bd347d] -[[IoT Hub のデバイス ツインの理解と使用:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-device-twins]] -[[デバイス ツインの使用 (Node.js):https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-node-node-twin-getstarted]] -[[チュートリアル:バックエンド サービスからデバイスを構成する:https://docs.microsoft.com/ja-jp/azure/iot-hub/tutorial-device-twins]] -[[チュートリアル:デバイス ファームウェアの更新プロセスを実装する:https://docs.microsoft.com/ja-jp/azure/iot-hub/tutorial-firmware-update]] -[[デバイスおよびモジュール ツインで IoT Hub の新機能を利用できるようになりました (2019/11/20):https://azure.microsoft.com/ja-jp/updates/iot-hub-new-features-now-available-for-device-and-module-twins/]] --より深い入れ子: ツイン ドキュメントの tags、desired、reported プロパティのセクションに格納されているオブジェクトを、最大 10 レベルの深さにすることができるようになりました (以前は 5 レベルに制限されていました)。 --ドキュメント サイズの増加: ツイン ドキュメントの desired および reported プロパティのセクションで、それぞれ最大 32 KB のサイズが許可されるようになりました。ツインの tags セクションの最大サイズは 8 KB のまま変更されません。 --プロパティのキーと値の最大長の増加: ツインのプロパティ キーの最大長を 1 KB に拡張し、ツインのプロパティ値の最大長を 4 KB に拡張しました。 -[[Azure CLI を使用した IoT デバイス/モジュールの自動管理:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-automatic-device-management-cli]] ***概要 [#x7ef5379] -デバイスと IoT ハブ間で状態情報を同期するには、デバイス ツイン を使用する -デバイス ツインは、特定のデバイスに関連付けられた JSON ドキュメントであり、IoT Hub によってクラウドに格納される -デバイス ツインに対してクエリを実行することができる -デバイス ツインには、必要なプロパティ、報告されたプロパティ、および タグ が含まれている -デバイスツインには、"Tags"と"Properties"が存在し、"Properties"は"Desired"と"Reported"に分かれる -"Desired Properties"は、バックエンド アプリケーションによって設定され、デバイスから読み取られる -"Reported Properties"は、デバイスによって設定され、バックエンド アプリケーションによって読み取られる -"Tags"はバックエンド アプリケーションによって設定され、デバイスに送信されることはない -"Tags"はデバイスの整理に使用する **モジュールツイン [#h585178b] -[[IoT Hub のモジュール ツインの理解と使用:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-module-twins]] -[[IoT Hub モジュール ID とモジュール ツイン (Node.js) の概要:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-node-node-module-twin-getstarted]] ***概要 [#tb56b080] -IoT Hub では、デバイス ID ごとに最大 50 のモジュール ID を作成できる -モジュールの ID ごとに、モジュール ツインは暗黙的に生成される -モジュール ツインは、デバイス ツインと同様、モジュールの状態に関する情報 (メタデータ、構成、状態など) を格納する JSON ドキュメント -Azure IoT Hub は、IoT Hub に接続したモジュールごとにモジュール ツインを管理する **ダイレクトメソッド [#z3750d1a] -[[IoT Hub からのダイレクト メソッドの呼び出しについて:https://github.com/MicrosoftDocs/azure-docs.ja-jp/blob/master/articles/iot-hub/iot-hub-devguide-direct-methods.md]] -[[Azure IoT Hubのススメ ~デバイス管理編~ - Speaker Deck:https://speakerdeck.com/motoriderse/azure-iot-hubfalsesusume-debaisuguan-li-bian]] *通信 [#e33a0a0d] -[[IoT Hub デバイス ストリーム (プレビュー):https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-device-streams-overview]] -[[cloud-to-device 通信に関するガイダンス:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-c2d-guidance]] *通信プロトコル [#r823cbb1] -[[通信プロトコルの選択:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-protocols]] **AMQP [#ad965e27] -[[AMQP プロトコルを使用した IoT Hub との通信:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-amqp-support]] -[[Amqp.Net Lite:http://azure.github.io/amqpnetlite/]] -[[MQTTとAMQPと.NET - SlideShare:https://www.slideshare.net/terurou/mqttamqpnet]] ***AMQP over WebSocket [#f30b56da] -[[Amqp and WebSocket support in Azure IoTHub:https://developers.de/blogs/damir_dobric/archive/2016/02/23/amqp-and-websocket-support-in-azure-iothub.aspx]] *メッセージ送受信 [#da3c4118] -[[IoT ハブから cloud-to-device メッセージを送信する:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-messages-c2d]] -[[デバイスに IoT Hub でクラウドからメッセージを送信する (.NET):https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-csharp-csharp-c2d]] -[[Azure FunctionsとIoT Hubを使って下り方向制御(C2D)を実現するとき注意すること:https://qiita.com/piyonakajima/items/f7a815f8a3c51e323e4d]] -[[IoT Hub : connection and device endpoints:https://azure.github.io/amqpnetlite/articles/device_to_iothub.html]] --[[サンプルコード:https://github.com/ppatierno/codesamples/tree/master/IoTHubAmqp]] *セキュリティ [#ud960778] -[[IoT Hub へのアクセスの制御:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-security]] -[[IoT Hubへ接続するときの認証やキーなど:https://matsujirushi.hatenablog.jp/entry/2019/12/31/113519]] --[[Azure IoT HubのSASトークンについて:https://matsujirushi.hatenablog.jp/entry/2017/12/23/233924]] *JavaScript [#kc38159e] -[[Azure IoT Node.js SDK:https://github.com/Azure/azure-iot-sdk-node]] -[[Azure IoT HubをNode.jsで始めてみる:https://qiita.com/n0bisuke/items/60a1d409406162350ade]] *デバイスSDK [#l992a39f] -[[Azure IoT Hub SDK の概要と使用方法:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-sdks]] -[[Azure IoT device SDK プラットフォームのサポート:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-device-sdk-platform-support]] -[[Azure Certified for IoT デバイス カタログ:https://catalog.azureiotsolutions.com/alldevices]] -[[【備忘録】Linux上でAzure IoT HubのPython用SDKをセットアップした話:https://qiita.com/samunohito/items/57374c20f48549335abf]] **概要 [#e0da6b47] -デバイス クライアントまたはモジュール クライアントを使用して、ご利用の IoT デバイス上で実行するアプリを構築できる -これらのアプリは IoT Hub にテレメトリを送信し、必要に応じて IoT Hub からメッセージ、ジョブ、メソッド、ツインの更新を受信します。また、モジュール クライアントを使用して、Azure IoT Edge ランタイム用のモジュールを作成することもできます。 **[[C 用 Azure IoT device SDK:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-device-sdk-c-intro]] [#m2666955] -あるけど、Microsoftから以下のお達しが出ている C 用 Azure IoT サービス SDK は、アクティブな開発ではなくなりました クラッシュ、データの破損、セキュリティの脆弱性などの重大なバグは、引き続き修正します。ただし、新しい機能を追加したり、重要ではないバグを修正したりすることはありません。 -[[C-SDK Resource Information:https://github.com/Azure/azure-iot-sdk-c/blob/master/doc/c_sdk_resource_information.md]] -[[Azure IoT C SDK を使用した制約のあるデバイス向けの開発:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-develop-for-constrained-devices]] -[[Azure IoT device SDK for Cのサンプルを動かす。:http://www.kurigohan.com/article/20180405_azure_iot_device_sdk_for_c_samples.html]] *サービスSDK [#t959ab0f] **概要 [#p4cfecea] -IoT Hub を管理するバックエンド アプリケーションを構築できる -必要に応じてメッセージを送信し、ジョブのスケジュールを設定し、ダイレクト メソッドを呼び出し、ご利用の IoT デバイスまたはモジュールに必要なプロパティの更新情報を送信することができる *プロビジョニングSDK [#bcebc24d] -[[Azure IoT Hub Device Provisioning Service を使用したデバイスのプロビジョニング:https://docs.microsoft.com/ja-jp/azure/iot-dps/about-iot-dps]] *[[IoT Hub REST:https://docs.microsoft.com/ja-jp/rest/api/iothub/]] [#rd9b8e43] *料金 [#f5a0f24f] -[[Azure IoT Hub の価格:https://azure.microsoft.com/ja-jp/pricing/details/iot-hub/]] -[[Azure IoT Hub の価格情報:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-pricing]] -[[ソリューションに適した IoT Hub のレベルを選択する:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-scaling]] -[[参照 - IoT Hub のクォータと調整:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-quotas-throttling]] *制限 [#df1ed662] -[[参照 - IoT Hub のクォータと調整:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-devguide-quotas-throttling]] 下記制限を上げることはできるが、料金に関わるので慎重に -同時に接続されているデバイス ストリームの最大数 --50 -デバイス --1つの IoT ハブに登録できるデバイスとモジュールの合計数は、1,000,000 に制限されている -デバイスからクラウドへのメッセージ --最大メッセージ サイズは 256 KB -cloud-to-device のメッセージング --最大メッセージ サイズは 64 KB。 デバイスあたりの配信の保留中のメッセージの最大数は 50。 -ダイレクトメソッド --ダイレクトメソッドの最大ペイロード サイズは 128 KB -デバイスおよびモジュールの自動構成 --有料の SKU ハブあたり 100 構成。 無料の SKU ハブあたり 20 構成。 *SSL証明書 [#f4f636bd] -[[Azure IoT Edge での証明書の使用方法について理解する:https://docs.microsoft.com/ja-jp/azure/iot-edge/iot-edge-certs]] -[[Azure IoT Hub での X.509 セキュリティの設定:https://docs.microsoft.com/ja-jp/azure/iot-hub/iot-hub-security-x509-get-started]] -[[グローバルサインのIoTデバイスセキュリティサービス:https://jp.globalsign.com/internet-of-things/]] -[[Azure IoT Hub に openssl で作成した X.509 証明書をつかって mosquitto で接続する:https://qiita.com/n_mikuni/items/403f17fd323b003bdf0f]] -[[GMOグローバルサイン社がインフィニオン社と連携し、 マイクロソフト「Azure(アジュール) IoT Hub」へのIoTデバイス登録ソリューションを提供開始:https://jp.globalsign.com/info/detail.php?no=1585795484]] -[[SSL/TLS ACMEによるIoTの自動化:https://www.ssl.com/ja/%E8%A8%98%E4%BA%8B/Acme%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9FIoT%E3%81%AEssl-tls%E8%87%AA%E5%8B%95%E5%8C%96/]] -[[SSLサーバ証明書の有効期間を短縮するという決定に関する続報:https://jp.globalsign.com/blog/articles/cabrowserforum_200707.html]] -[[azure_iot_utilities.cのルートCA証明書:https://matsujirushi.hatenablog.jp/entry/2018/11/29/190119]]