次の方法で共有


IoT デバイス開発

この概要では、一般的なAzure IoT ソリューションに接続するデバイスの開発に関する主要な概念について説明します。 各セクションには、追加の詳細とガイダンスを提供するコンテンツへのリンクが含まれています。

クラウドに接続されたソリューションでは、デバイスは IoT Hub などのクラウドに接続されたサービスに直接接続し、エッジに接続されたソリューション では、Azure IoT Operationsなどの環境内のエッジ接続サービスに接続します。

次の図は、一般的な エッジ接続 IoT ソリューションのコンポーネントの概要を示しています。 この記事では、図に示されているデバイス、資産、コネクタに焦点を当てます。

デバイスの接続領域を強調表示した、IoT ソリューション アーキテクチャの概要を示す図。

通常、アセットには標準プロトコルを実装するファームウェアが組み込まれています。 たとえば、ロボット アームが OPC UA クライアントである場合や、セキュリティ ビデオ カメラが ONVIF を実装している場合があります。 Azure IoT Operationsには、これらのプロトコルを使用して資産と通信し、資産から MQTT メッセージにメッセージを変換できるさまざまなコネクタが含まれています。 一部のアセットは、ユーザーがそれに対して次のような操作を実行できるメッセージを受信できます。

  • セキュリティ カメラをパンしたり傾けたりします。
  • ロボット アームでのログ レベルを変更します。
  • ファームウェアの更新を開始します。

独自のカスタム コネクタを作成して、Azure IoT Operationsでネイティブにサポートされていないプロトコルを使用する資産に接続できます。

デバイスの種類

IoT ソリューションには、多くの種類のアセットデバイスを含めることができます。

エッジ接続ソリューションのアセットの例を次に示します。

  • ロボットアーム、コンベヤベルト、エレベーター。
  • 産業用 CNC 機械、旋盤、のこぎり、ドリル。
  • 医療診断用イメージングマシン。
  • セキュリティ ビデオ カメラ。
  • プログラマブル ロジック コントローラー。

通常、これらのアセットには標準プロトコルを実装するファームウェアが組み込まれています。 たとえば、ロボット アームが OPC UA クライアントである場合や、セキュリティ ビデオ カメラが ONVIF プロトコルを実装している場合があります。 エッジ接続ソリューションでは、特殊なコネクタを使用してこれらの資産に接続し、それらの資産から共通の形式にメッセージを変換します。

アセットの場合、デバイス開発者ロールに直接相当するものはありません。 代わりに、オペレーターがアセットに接続するようにコネクタを構成できます。 ただし、エッジ接続ソリューションでネイティブにサポートされていないプロトコルを使用する資産に接続するには、カスタム コネクタの開発が必要になる場合があります。

モデリングとスキーマ

デバイスとアセットのモデルでは、デバイスとアセットがクラウドと交換するデータを定義します。 モデルによって、デバイスとアセットを IoT ソリューションと統合するための、ロー コードまたはノー コードのさまざまなシナリオが可能になります。

エッジ接続ソリューションでは、オペレーターが資産に接続するようにコネクタを構成します。 この構成には、アセットのデータとクラウドのスキーマの間のマッピングが含まれます。 たとえば、OPC UA コネクタを使用すると、オペレーターは OPC UA ノード ID を MQTT ブローカーと交換された JSON メッセージ内のデータ ポイントとイベントにマップできます。 次のスクリーンショットは、このような 2 つのマッピングを定義するデジタル操作エクスペリエンス Web UI の例を示しています。

アセットの定義の例を示すスクリーンショット。

ソリューションの他の場所では、オペレーターは OPC UA ノード ID の詳細を知らなくても 、Temperature タグと Tag 10 タグを直接参照できます。

コンテナー詰め

コンテナ化は、軽量の分離された環境にコードをパッケージ化して実行する方法です。 コンテナーは移植可能であり、コンテナー ランタイムをサポートする任意のプラットフォームで実行できます。 コンテナーは、コードに一貫したランタイム環境を提供するので、コードをパッケージ化してデプロイするのによい方法です。 ランタイム環境には、通常、コードの実行に必要なサービス、ライブラリ、パッケージが含まれます。

Azure IoT Operationsは、エッジで実行されるすべてのコネクタ、ブローカー、およびその他のコンポーネントをコンテナー化します。 Azure IoT Operationsコンテナー オーケストレーション プラットフォームである Kubernetes クラスターにデプロイされます。 ユーザーが作成したカスタム コネクタまたは他のコンポーネントを、Kubernetes クラスターにデプロイします。

Azure IoT Edgeをエッジ接続ゲートウェイとして使用するソリューションは、エッジ接続ソリューションとクラウド接続ソリューションの両方の要素を組み合わせたハイブリッドソリューションとして評価できます。

デバイス開発ツール

次の表で示すのは、使用可能な IoT デバイス開発ツールの一部です。

ツール 説明
Azure IoT Hub (VS Code 拡張機能) この VS Code 拡張機能を使用すると、VS Code 内からIoT Hubリソースとデバイスを管理できます。
Azure IoT エクスプローラー このクロスプラットフォーム ツールを使用すると、デスクトップ アプリケーションからIoT Hubリソースとデバイスを管理できます。
Azure CLI の Azure IoT拡張機能 この CLI 拡張機能には、デバイスとの対話をテストするのに役立つ az iot device simulateaz iot device c2d-messageaz iot hub monitor-events などのコマンドが含まれています。