IoT プラグ アンド プレイを使用すると、ソリューション ビルダーは、手動で構成することなく、IoT デバイスをソリューションと統合できます。 IoT プラグ アンド プレイの中核となるのは、デバイスの機能を IoT プラグ アンド プレイ対応アプリケーションに説明するデバイス モデルです。 このモデルは、次の内容を定義するインターフェイスのセットとして構成されます。
- デバイスまたは他のエンティティの読み取り専用および書き込み可能な状態を表す プロパティ。 たとえば、デバイスのシリアル番号は読み取り専用プロパティであり、サーモスタットの目標温度は書き込み可能なプロパティです。
- デバイスによって出力されるデータである "テレメトリ"。このデータはセンサー読み取り値の通常のストリーム、偶発的なエラー、または情報メッセージのいずれかです。
- デバイス上で実行できる関数または操作を記述した "コマンド"。 たとえば、コマンドでは、ゲートウェイを再起動したり、リモート カメラを使用して写真を撮影したりすることが可能です。
すべてのモデルとインターフェイスには一意の ID があります。
次の図は、IoT プラグ アンド プレイ ソリューションの主要な要素を示しています。
モデル リポジトリ
モデル リポジトリ は、キュレーションされたモデルとインターフェイス定義のストアです。 モデルとインターフェイスは、Digital Twins Definition Language (DTDL)を使用して定義されます。
Web UI を使用すると、モデルとインターフェイスを検索して取得できます。
デバイス
デバイス ビルダーは、Azure IoT デバイス SDKのいずれかを使用して IoT デバイスで実行するコードを実装します。 デバイス SDK は、デバイス ビルダーが次の処理を行うのに役立ちます。
- IoT ハブに安全に接続します。
- デバイスを IoT ハブに登録し、デバイスが実装する DTDL インターフェイスのコレクションを識別するモデル ID を読み上げる。
- デバイスと IoT ハブの間で DTDL インターフェイスで定義されているプロパティを同期します。
- DTDL インターフェイスで定義されているコマンドのコマンド ハンドラーを追加します。
- IoT ハブにテレメトリを送信します。
IoT Edge ゲートウェイ
IoT Edge ゲートウェイは、IoT ハブに直接接続できない IoT プラグ アンド プレイ デバイスを接続するための仲介役として機能します。 詳細については、「IoT Edge デバイスをゲートウェイとして使用する方法」を参照してください。
IoT Edge のモジュール
IoT Edge モジュール を使用すると、エッジにビジネス ロジックをデプロイして管理できます。 Azure IoT Edge モジュールは、IoT Edge によって管理される計算の最小単位であり、Azure Stream Analytics などの Azure サービスまたは独自ソリューション固有のコードを含めることができます。
IoT Edge ハブ は、Azure IoT Edge ランタイムを構成するモジュールの 1 つです。 Edge ハブは、IoT Hub と同じプロトコル エンドポイントを公開することで IoT Hub のためのローカル プロキシとして動作します。 この整合性により、クライアント (デバイスまたはモジュール) は、IoT Hub と同じように IoT Edge ランタイムに接続できます。
デバイス SDK は、モジュール ビルダーが次の処理を行うのに役立ちます。
- IoT Edge ハブを使用して、IoT ハブに安全に接続します。
- モジュールを IoT ハブに登録し、デバイスが実装する DTDL インターフェイスのコレクションを識別するモデル ID を読み上げます。
- デバイスと IoT ハブの間で DTDL インターフェイスで定義されているプロパティを同期します。
- DTDL インターフェイスで定義されているコマンドのコマンド ハンドラーを追加します。
- IoT ハブにテレメトリを送信します。
IoT Hub
IoT Hub は、IoT ソリューションとそれが管理するデバイス間の双方向通信のための中央メッセージ ハブとして機能するクラウドホスト型サービスです。
IoT ハブ:
- デバイスによって実装されたモデル ID をバックエンド ソリューションで使用できるようにします。
- ハブに接続されている各 IoT プラグ アンド プレイ デバイスに関連付けられているデジタル ツインを維持します。
- 処理またはストレージのために、テレメトリ ストリームを他のサービスに転送します。
- デジタル ツイン変更イベントを他のサービスにルーティングして、デバイスの監視を有効にします。
バックエンド ソリューション
バックエンド ソリューションは、IoT ハブ内のデジタル ツインと対話することで、接続されているデバイスを監視および制御します。 バックエンド ソリューションを実装するには、Azure IoT サービス SDK のいずれかを使用します。 接続されているデバイスの機能を理解するために、ソリューション バックエンドは次の手順を実行します。
- IoT ハブに登録されているデバイスのモデル ID を取得します。
- モデル ID を使用して、任意のモデル リポジトリからインターフェイス定義を取得します。
- モデル パーサーを使用して、インターフェイス定義から情報を抽出します。
バックエンド ソリューションでは、インターフェイス定義の情報を使用して、次のことができます。
- デバイスによって報告されるプロパティ値を読み取ります。
- デバイスの書き込み可能なプロパティを更新します。
- デバイスによって実装されたコマンドを呼び出します。
- デバイスによって送信されるテレメトリの形式について説明します。
次のステップ
IoT プラグ アンド プレイ ソリューションのアーキテクチャの概要を確認したら、次の手順で詳細を確認します。
- ソリューション でモデルを使用する
- IoT プラグ アンド プレイ向けの開発