Azureからデバイスへの通信 †
- 平常時はデバイスツイン、緊急時はダイレクトメソッドを使用する
- デバイスツインは通信が繋がったらデバイスに情報が伝わる(それまでIoT Hubが保持しているだけ)
- ダイレクトメソッドは通信が繋がっていないと命令を送ることができない(エラーになる)
- デバイスツインはいつかは命令が到達するが、今届いているかは不明
- ダイレクトメソッドは直接命令を送り込むので今届く
デバイスツイン †
- デバイスおよびモジュール ツインで IoT Hub の新機能を利用できるようになりました (2019/11/20)
- より深い入れ子: ツイン ドキュメントの tags、desired、reported プロパティのセクションに格納されているオブジェクトを、最大 10 レベルの深さにすることができるようになりました (以前は 5 レベルに制限されていました)。
- ドキュメント サイズの増加: ツイン ドキュメントの desired および reported プロパティのセクションで、それぞれ最大 32 KB のサイズが許可されるようになりました。ツインの tags セクションの最大サイズは 8 KB のまま変更されません。
- プロパティのキーと値の最大長の増加: ツインのプロパティ キーの最大長を 1 KB に拡張し、ツインのプロパティ値の最大長を 4 KB に拡張しました。
概要 †
- デバイスと IoT ハブ間で状態情報を同期するには、デバイス ツイン を使用する
- デバイス ツインは、特定のデバイスに関連付けられた JSON ドキュメントであり、IoT Hub によってクラウドに格納される
- デバイス ツインに対してクエリを実行することができる
- デバイス ツインには、必要なプロパティ、報告されたプロパティ、および タグ が含まれている
- デバイスツインには、"Tags"と"Properties"が存在し、"Properties"は"Desired"と"Reported"に分かれる
- "Desired Properties"は、バックエンド アプリケーションによって設定され、デバイスから読み取られる
- "Reported Properties"は、デバイスによって設定され、バックエンド アプリケーションによって読み取られる
- "Tags"はバックエンド アプリケーションによって設定され、デバイスに送信されることはない
- "Tags"はデバイスの整理に使用する
モジュールツイン †
概要 †
- IoT Hub では、デバイス ID ごとに最大 50 のモジュール ID を作成できる
- モジュールの ID ごとに、モジュール ツインは暗黙的に生成される
- モジュール ツインは、デバイス ツインと同様、モジュールの状態に関する情報 (メタデータ、構成、状態など) を格納する JSON ドキュメント
- Azure IoT Hub は、IoT Hub に接続したモジュールごとにモジュール ツインを管理する
ダイレクトメソッド †
通信 †
通信プロトコル †
AMQP †
メッセージ送受信 †
セキュリティ †
デバイスSDK †
概要 †
- デバイス クライアントまたはモジュール クライアントを使用して、ご利用の IoT デバイス上で実行するアプリを構築できる
- これらのアプリは IoT Hub にテレメトリを送信し、必要に応じて IoT Hub からメッセージ、ジョブ、メソッド、ツインの更新を受信します。また、モジュール クライアントを使用して、Azure IoT Edge ランタイム用のモジュールを作成することもできます。
サービスSDK †
概要 †
- IoT Hub を管理するバックエンド アプリケーションを構築できる
- 必要に応じてメッセージを送信し、ジョブのスケジュールを設定し、ダイレクト メソッドを呼び出し、ご利用の IoT デバイスまたはモジュールに必要なプロパティの更新情報を送信することができる
プロビジョニングSDK †
料金 †
制限 †
下記制限を上げることはできるが、料金に関わるので慎重に
- デバイス
- 1つの IoT ハブに登録できるデバイスとモジュールの合計数は、1,000,000 に制限されている
- デバイスからクラウドへのメッセージ
- cloud-to-device のメッセージング
- 最大メッセージ サイズは 64 KB。 デバイスあたりの配信の保留中のメッセージの最大数は 50。
- ダイレクトメソッド
- ダイレクトメソッドの最大ペイロード サイズは 128 KB
- デバイスおよびモジュールの自動構成
- 有料の SKU ハブあたり 100 構成。 無料の SKU ハブあたり 20 構成。