IoT Edge パターンを使用して IoT アプリケーションを実装する
ソリューションの設計を検証するには、Azure IoT Central アプリケーションと、Azure IoT Edge デバイス用のデバイス テンプレートが必要です。
あなたは、Azure IoT Central を使用する店舗用の環境監視ソリューションを評価する予定です。 データを収集してローカル センサーを管理するため、各店舗に IoT Edge デバイスをインストールする予定です。 IoT Edge デバイスは、Azure IoT Central アプリケーションに接続して、センサーから収集されたテレメトリを送信し、アプリケーションから送信されたコマンドに応答します。
ここでは、Azure IoT Central と IoT Edge に関するいくつかの主要な概念を確認し、Azure IoT Central で IoT Edge デバイス用のデバイス テンプレートを作成する方法について学習します。
Azure IoT Central とは
Azure IoT Central は、IoT ソリューションの開発、管理、および保守の負担とコストを削減する IoT アプリケーションのサービスとしてのプラットフォーム (aPaaS) です。 Azure IoT Central を使うと、IoT シナリオをすばやく評価し、それがビジネスにもたらす可能性がある機会を評価できます。 Azure IoT Central を使うと次のことができます。
- IoT デバイスに接続して制御する。
- 接続されたデバイスからテレメトリを収集して分析する。
- 接続されたデバイスから他のアプリケーションまたはサービスにデータを送信し、さらに処理または保存する。
Azure IoT Central アプリケーションを作成するには 2 つの方法があります。
- Azure portal を使用する。
- Azure CLI を使用する。
このモジュールでは、Azure CLI を使って Azure サンドボックス内でアプリケーションを作成します。
どのオプションでも、デプロイする国や地域、アプリケーション名、支払いプラン、アプリケーション テンプレートなどの情報を指定する必要があります。
IoT Edge とは
Azure IoT Edge は、企業がデータの管理に手間取ることなくビジネス インサイトに専念できるよう、これまでクラウドで行っていた分析とカスタム ビジネス ロジックをデバイス側で実行できるようにするものです。 ビジネス ロジックを標準コンテナーにパッケージ化すると、IoT ソリューションをスケールアウトできます。 その後、それらのコンテナーを任意のデバイスに展開し、Azure IoT Central などのクラウドベースの環境からそのすべてを監視できます。
分析は、IoT ソリューションのビジネス上の価値を決める重要な要素ですが、すべての分析をクラウドで行う必要はありません。 緊急事態に可能な限り速やかに対応することが要求される場合には、異常検出ワークロードをエッジで実行できます。 帯域幅コストを削減し、テラバイト規模の生データの転送を回避したい場合は、ローカル環境でデータのクリーニングと集約を行い、分析に必要な分析情報のみをクラウドに送信できます。
Azure IoT Edge は、次の 3 つのコンポーネントで構成されます。
- IoT Edge モジュールは、Azure サービス、Microsoft 以外のサービス、または独自のコードを実行するコンテナーです。 IoT Edge モジュールは、IoT Edge デバイスに展開され、そのデバイス上でローカルに実行されます。 このモジュールではさまざまな IoT Edge モジュールを使用し、それには、シミュレートされた環境テレメトリを生成するものや、Azure 関数を実行してそのテレメトリをフィルター処理するものが含まれます。 ''配置マニフェスト'' を使用して、IoT Edge デバイスにデプロイするモジュールを指定します。 Azure IoT Central を使って、ソリューション内の配置マニフェストを管理できます。
- IoT Edge ランタイム: 個々の IoT Edge デバイス上で動作し、各デバイスにデプロイされたモジュールを管理します。 IoT Edge デバイスが Azure IoT Central アプリケーションに接続すると、IoT Edge ランタイムによって配置マニフェストがダウンロードされ、デバイスにインストールして実行する必要のあるモジュールが決定されます。
- クラウドベースのインターフェイスを使うと、IoT Edge デバイスをリモートで監視および管理できます。 このモジュールでは、Azure IoT Central をクラウドベースのインターフェイスとして使います。
デバイス テンプレートとは
Azure IoT Central のデバイス テンプレートでは、アプリケーションに接続するデバイスの機能を指定します。 たとえば、デバイス テンプレートでは以下のことを指定できます。
- デバイスが Azure IoT Central に送信するテレメトリの種類 (温度など)。
- デバイスが Azure IoT Central に報告するプロパティ (ファームウェアのバージョンなど)。
- Azure IoT Central がデバイスで設定するプロパティ (目標温度など)。
- Azure IoT Central がデバイスに送信するコマンド (再起動など)。
デバイス テンプレートの機能は、インターフェイスにグループ化されています。 インターフェイスを使うと、関連する機能のグループをテンプレート間で共有できます。 たとえば、共通の "デバイス情報" インターフェイスで、製造元、モデル、ソフトウェア バージョンなどのデバイスのプロパティを定義します。
デバイス テンプレートの作成と管理は、Azure IoT Central Web UI または REST API を使って行います。 Azure IoT Central Web UI では、次のことができます。
- デバイス テンプレートを最初から作成します。
- Azure IoT のデバイス カタログを参照し、認定デバイス用のデバイス テンプレートをインポートします。
- デバイス機能モデルとインターフェイス定義が含まれる JSON ファイルをインポートします。
表示
Azure IoT Central デバイス テンプレートには、ビューの定義も含まれます。 これらのビューを使用してデバイス用のカスタム UI を定義でき、テレメトリ用の視覚化、デバイスのプロパティを管理するためのフォーム、オペレーターがデバイスでコマンドを呼び出すことができるフォームが含まれます。
デバイス テンプレートが IoT Edge デバイス用の場合は、接続されたデバイスで実行されている IoT Edge モジュールを監視できるビューがあります。
デバイス テンプレートを発行する
実際のデバイスを Azure IoT Central アプリケーションに接続できるようにするには、先に Azure IoT Central アプリケーション内でデバイス テンプレートを発行する必要があります。
デバイス テンプレートに基づいてデバイスを追加する
IoT Edge デバイスを Azure IoT Central アプリケーションに接続する前に、[デバイス] ページでデバイスを追加します。 [デバイス] ページで、使用する配置マニフェスト、使用するオプションのデバイス テンプレート、一意のデバイス ID、デバイスのフレンドリ名を選びます。 Azure CLI を使用して、デバイスをアプリケーションに追加することもできます。