次の方法で共有


ONVIF 用にコネクタを構成する

Azure IoT Operations では、ONVIF 用コネクタを使用して、Azure IoT Operations クラスターに接続されている ONVIF 準拠 カメラを検出して使用できます。

Azure IoT Operations の 資産 は、物理資産またはデバイスを表すために作成する論理エンティティです。 Azure IoT Operations 資産には、その動作と特性を記述するカスタム プロパティ、データ ポイント、ストリーム、およびイベントを含めることができます。 資産は、1 つ以上のデバイスに関連付けられています。 Azure IoT Operations は、資産定義を Azure Device Registry に格納します。

Azure IoT Operations の デバイス は、物理資産またはデバイスへの接続を定義する論理エンティティです。 デバイスがないと、物理デバイスまたは資産から MQTT ブローカーにデータをフローすることはできません。 デバイスと資産を構成すると、物理資産またはデバイスへの接続が確立され、データ ポイントの値、イベント、ストリームが Azure IoT Operations インスタンスに到着します。 デバイスには、1 つ以上の受信エンドポイントがあります。 Azure IoT Operations は、デバイス定義を Azure Device Registry に格納します。

コネクタは、ONVIF カメラを Azure IoT Operations インスタンスに接続し、Azure Device Registry に登録します。 その後、コネクタは自動的に次を検出します。

  • ONVIF デバイスのパン傾きズーム (PTZ) などの機能。
  • ONVIF デバイスによって公開されるメディア エンドポイント。
  • フレームレート、解像度、エンコードなどのメディア ストリームの詳細。

カメラの登録後、管理操作の例を次に示します。

  • カメラの構成を取得して更新し、出力イメージの構成を調整します。
  • カメラのパン、傾き、ズーム (PTZ) を制御する。

メディア コネクタは、これらのカメラによって公開されているメディア ソースにアクセスできます。

メディア コネクタ、ONVIF 用コネクタ、Azure IoT Operations、コンパニオン サービスを組み合わせることで、Azure IoT Operations を使用して次のようなユース ケースを実装できます。

  • 待機時間とドウェル時間追跡により、顧客が一列に並んで費やした時間を追跡します。
  • 品目と POS レシートを比較して、正しい注文が梱包されていることを追跡するための注文の精度。
  • アセンブリライン上の製品の欠陥を検出するためのカメラによる欠陥検出と品質保証。
  • 衝突検出、安全ゾーン検出、個人用安全装置検出などの安全監視。

この記事では、操作エクスペリエンス Web UI と Azure CLI を使用して次の操作を行う方法について説明します。

  • 準拠しているカメラの ONVIF エンドポイントを持つデバイスを追加します。
  • ONVIF エンドポイントで検出された資産とデバイスを表示します。
  • ONVIF カメラによって公開されるメディア エンドポイントを表すデバイスを作成します。
  • メディア エンドポイントからスナップショットをキャプチャし、MQTT ブローカーに発行する資産を作成します。

ONVIF 用コネクタでは、次の認証方法がサポートされています。

  • ユーザー名/パスワード認証
  • テスト目的での匿名アクセス

ONVIF カメラへの TLS 接続を確立するには、コネクタの証明書信頼リストを構成します。

前提条件

リソース同期規則が有効になっている Azure IoT Operations のデプロイされたインスタンス。 リソース同期規則を有効にするには、Azure IoT Operations インスタンスで次のコマンドを実行します。 このコマンドは、カスタムの場所に必要なアクセス許可も設定します。

az iot ops enable-rsync -n <my instance> -g <my resource group>

操作エクスペリエンス Web UI にサインインするには、Kubernetes - Azure Arc インスタンスを含むリソース グループに対する共同作成者以上のアクセス許可を持つ Microsoft Entra ID アカウントが必要です。 Microsoft アカウント (MSA) ではサインインできません。 詳細については、「 操作エクスペリエンス Web UI へのアクセスのトラブルシューティング」を参照してください。

Azure IoT Operations クラスターからアクセスできる ONVIF 準拠のカメラ。

ONVIF コンプライアンス

ONVIF には、検出、デバイス、メディア、イメージング、分析、イベント、パン傾斜ズーム (PTZ) サービスなど、コンプライアンスに関するいくつかのカテゴリがあります。 詳細については、「 ONVIF - プロファイル、アドオン、および仕様」を参照してください。

Azure IoT Operations の ONVIF コネクタは、次のプロファイルを実装するカメラ デバイスのサポートに重点を置いています。

コネクタを使用すると、次の機能がサポートされます。

  • デバイス情報と機能の検出。
  • デバイスからのイベントの監視。
  • デバイスによって公開されているメディア URI の検出。 ONVIF 用コネクタを使用すると、メディア コネクタでこれらの URI を使用できるようになります。
  • フィルターの適用、モーションおよび改ざんイベントの受信などのイメージング制御。
  • デバイス PTZ の操作制御。

ONVIF 用のコネクタをデプロイする

Azure IoT Operations をデプロイすると、デプロイにはさまざまなコネクタが含まれます。 操作エクスペリエンス Web UI でコネクタ (ONVIF、メディア、HTTP/REST など) を使用するには、管理者が Azure IoT Operations インスタンスにコネクタ テンプレート インスタンスを追加する必要があります。

すべてのコネクタは、キャプチャされたデータを MQTT ブローカーに発行できます。

コネクタ テンプレート インスンスをお使いの Azure IoT Operations インスタンスに追加するには:

  1. Azure portal で、Azure IoT Operations インスタンスに移動し、[コネクタ テンプレート] を選択し、[コネクタ テンプレート インスタンスの追加] を選択します。

    コネクタ テンプレート インスタンスを追加する方法を示す Azure portal のスクリーンショット。

  2. Akri コネクタ テンプレートの追加ウィザードの最初のページで、追加するコネクタ テンプレートの種類とバージョン (ONVIFMediaHTTP/RESTSSEMQTT など) を選択します。 次に、[メタデータ] を選択します。

    コネクタ テンプレート インスタンスの種類を選択する方法を示す Azure portal のスクリーンショット。

  3. [メタデータ] ページで、既定値をそのまま使用し、[デバイスの受信エンドポイントの種類] を選択します。

  4. [デバイスの受信エンドポイントの種類] ページで、既定値をそのまま使用し、[診断の構成] を選択します。

  5. [診断構成] ページで、既定値をそのまま使用し、[ランタイム構成] を選択します。

  6. [ ランタイム構成 ] ページで、既定値をそのまま使用し、[ 確認] を選択します。

  7. [レビュー] ページで、コネクタ テンプレート インスタンスの詳細をレビューし、[作成] を選択してコネクタ テンプレート インスタンスを作成します。

OT ユーザーは、操作エクスペリエンス Web UI を使用して、コネクタ エンドポイントを持つデバイスを作成できるようになりました。


ONVIF エンドポイントを使用してデバイスを作成する

準拠しているカメラの ONVIF エンドポイントを含むデバイスを追加するには:

  1. 操作エクスペリエンス Web UI で、左側のナビゲーション ウィンドウから [デバイス ] を選択します。

    操作エクスペリエンスのデバイスの一覧を示すスクリーンショット。

  2. [新規作成] を選択します。 [ デバイスの詳細 ] ページで、 my-onvif-cameraなどのデバイスの名前を入力します。 受信エンドポイントを定義するには、Microsoft.Onvif タイルで [新規] を選択します。 ONVIF カメラの詳細を次のように入力します。

    ONVIF エンドポイントをデバイスに追加する方法を示すスクリーンショット。

    [ 保存] を 選択して、エンドポイントをデバイスに追加します。 [デバイスの詳細] ページに ONVIF エンドポイントが表示されるようになりました。

  3. [ デバイスの詳細 ] ページで、[ 次へ] を選択します。

  4. [カスタム プロパティの追加] ページでは、必要に応じてデバイスのカスタム プロパティを更新または追加できます。 完了したら、[次へ] を選びます。

  5. [概要] ページには、デバイスの詳細が表示されます。 詳細を確認し、[ 作成 ] を選択してデバイスを作成します。 数分後、[ デバイス ] ページに新しいデバイスが表示されます。

    操作エクスペリエンスで作成されたデバイスを示すスクリーンショット。

ユーザー名とパスワードを使用するようにデバイスを構成する

前の例では、Anonymous 認証モードを使用しています。 このモードでは、ユーザー名やパスワードは必要ありません。

Username password 認証モードを使用するには、次の手順を実行します。

「Azure IoT Operations デプロイのシークレットを管理する」の手順に従って、Azure Key Vault にユーザー名とパスワードのシークレットを追加し、それらを Kubernetes クラスターに投影し、デバイス構成から参照します。

その他のセキュリティ オプション

ONVIF 用コネクタの信頼された証明書の一覧を管理するには、「 外部通信の証明書を管理する」を参照してください。

操作エクスペリエンスで受信エンドポイントを作成するときに、[ 詳細設定 ] タブで次のオプションを選択することもできます。

Option タイプ Description
無効なホスト名を受け入れる はい/いいえ ONVIF 接続の証明書で無効なホスト名を受け入れます。既定値は [いいえ] です
無効な証明書を受け入れる はい/いいえ ONVIF 接続の無効な証明書を受け入れます。既定値は [いいえ] です
ユーザー名トークン認証へのフォールバック はい/いいえ ONVIF 接続のダイジェスト認証が失敗した場合は UsernameToken 認証にフォールバックし、既定値は No

ヒント

Azure CLI を使用してこれらの設定を構成する方法の詳細については、 az iot ops ns device endpoint inbound add コマンド リファレンスを参照してください。

検出された資産とデバイスを表示する

ONVIF エンドポイントを使用してデバイスを作成すると、ONVIF のコネクタによって、エンドポイントで使用可能な ONVIF 資産とメディア デバイスが自動的に検出されます。 操作エクスペリエンス Web UI で検出された資産とデバイスを表示するには、左側のナビゲーション ウィンドウから [探索 ] を選択します。

操作エクスペリエンスで検出されたデバイスと資産の一覧を示すスクリーンショット。

  • [ インポート] を選択し、 検出された ONVIF 資産から資産を作成し、ONVIF 準拠カメラの機能を表す資産を作成します。 たとえば、ONVIF カメラからイベントをキャプチャするアセットを作成したり、ONVIF カメラを制御したりできます。 詳細については、「 イベント管理と制御のための ONVIF 資産の作成」セクションを参照してください。

  • 検出された ONVIF デバイスからデバイスをインポートして作成 を選択し、ONVIF 準拠カメラによって公開されるメディア エンドポイントに接続するデバイスを作成します。 メディア デバイスを作成したら、メディア エンドポイントからスナップショットまたはビデオ ストリームをキャプチャするメディア 資産を作成できます。 詳細については、「 メディア エンドポイントを使用したデバイスの作成」セクションを参照してください。

メディア エンドポイントを使用してデバイスを作成する

検出されたデバイスからメディア エンドポイントを持つデバイスを作成するには、次の手順に従います。

  1. 操作エクスペリエンス Web UI で、左側のナビゲーション ウィンドウから [探索 ] を選択します。 次に、検出されたデバイスを選択します。

  2. 検出されたメディア デバイス ( my-onvif-cameraなど) を選択します。 次に、[ デバイスのインポートと作成] を選択します。

  3. [デバイスの詳細] ページには、検出されたすべてのメディア受信エンドポイントが表示されます。 my-onvif-camera-mediaなど、デバイスの名前を入力し、各エンドポイントの認証方法を選択します。

    検出された ONVIF デバイスからメディア デバイスを作成する方法を示すスクリーンショット。

    ヒント

    不要な受信エンドポイントを削除するには、そのエンドポイントを選択し、[ 受信エンドポイントの削除] を選択します。

    次に、[次へ] を選択します。

  4. [ カスタム プロパティの追加] ページで、検出されたプロパティを確認できます。 必要に応じて、デバイスにカスタム プロパティを更新、削除、または追加できます。 完了したら、[次へ] を選びます。

  5. [ 概要 ] ページで、デバイスの詳細を確認します。 [ 作成] を選択してデバイスを作成します。 数分後、[ デバイス ] ページに新しいメディア デバイスが表示されます。

    操作エクスペリエンスで作成されたメディア デバイスを示すスクリーンショット。

スナップショットをキャプチャするメディア 資産を作成する

検出されたメディア デバイスを使用して、カメラからスナップショットをキャプチャし、MQTT ブローカーに発行する資産を作成できるようになりました。 メディア 資産を作成するには、次の手順に従います。

  1. 操作エクスペリエンス Web UI で、左側のナビゲーション ウィンドウから [資産 ] を選択します。 次に、[ 資産の作成] を選択します。

  2. [ 資産の詳細] ページで、資産の名前 ( my-onvif-camera-media-assetなど) を入力します。 次に、スナップショットのキャプチャに使用する検出されたエンドポイントを選択します。

    メディア デバイスからメディア 資産を作成する方法を示すスクリーンショット。

    メディア資産のカスタム プロパティを更新し、[ 次へ] を選択します。

  3. [ ストリーム ] ページで、[ ストリームの追加] を選択します。 MQTT ブローカーにスナップショットを発行するストリームの例を構成するには、次の設定を使用します。

    • ストリーム名: myassetvideo
    • 宛先: MQTT
    • トピック: myassetvideo
    • タスクの種類: snapshot-to-mqtt

    ヒント

    ここで選択するトピックは、ONVIF コネクタが MQTT ブローカーにスナップショットを発行するときに、 azure-iot-operations/data/<asset-name>/ の下に自動的に入れ子になります。

    その他の設定は既定値のままにします。 その後、追加を選択します。 ストリームが資産構成に追加されます。

    メディア資産にストリームを追加する方法を示すスクリーンショット。

  4. 次へ を選択して、レビュー ページに移動します。 資産の詳細を確認し、[ 作成 ] を選択して資産を作成します。 数分後、[ 資産 ] ページに新しい資産が表示されます。

    操作エクスペリエンスで作成されたメディア資産を示すスクリーンショット。

これで、ONVIF 準拠カメラからスナップショットをキャプチャし、MQTT ブローカーに発行するようにメディア資産が構成されました。

イベント管理および制御用の ONVIF 資産を作成する

ONVIF 準拠のカメラは、モーション検出などのイベントを生成し、パン、傾き、ズームなどの制御コマンドに応答できます。 検出された ONVIF デバイスから、これらのイベントをキャプチャし、カメラを制御できる ONVIF アセットを作成できます。

操作エクスペリエンスに ONVIF デバイスを追加すると、検出された ONVIF 資産が自動的に作成されます。

ONVIF デバイスから検出された ONVIF 資産を示すスクリーンショット。

イベントの管理と制御のために ONVIF 資産を作成するには:

  1. 検出された資産を選択し、[ インポートして資産を作成] を選択します。

  2. [ 資産の詳細 ] ページで、資産の名前と説明を入力します。 デバイスの受信エンドポイントは既に選択されており、カスタム プロパティは検出された資産から事前設定されています。

    ONVIF デバイスから検出された詳細な ONVIF 資産を示すスクリーンショット。

    [次へ] を選択して続行します。

  3. [ イベント グループ ] ページで、検出されたイベントを確認するイベント グループを選択します。 使用しないイベントは削除できます。

    ONVIF 資産の [イベント グループの管理] ページを示すスクリーンショット。

  4. 保持するイベントごとに、その発行先の MQTT トピックを構成します。

    イベント グループを構成する方法を示すスクリーンショット。

    [次へ] を選択して続行します。

  5. [ 管理グループ ] ページで、ONVIF カメラの制御に使用するパン、傾斜、ズームなどのアクションを構成します。

    ONVIF 資産の管理グループの管理ページを示すスクリーンショット。

    管理グループの構成の詳細については、「 カメラの管理と制御」を参照してください。

    [次へ] を選択して続行します。

  6. ONVIF 資産構成の概要を確認し、[ 作成 ] を選択して資産を作成します。 数分後、[ 資産 ] ページに新しい資産が表示されます。

カメラを管理して制御する

ONVIF カメラを操作するために、ONVIF 用コネクタがサブスクライブする MQTT メッセージを発行できます。 メッセージ形式は、 ONVIF ネットワーク インターフェイスの仕様に基づいています。

ONVIF PTZ デモ 用 Azure IoT Operations コネクタのサンプル アプリケーションでは、ONVIF 用コネクタを使用して次の操作を行う方法を示します。

  • メディア 資産定義を使用して、カメラのメディア サービスからプロファイル トークンを取得します。
  • カメラの PTZ 機能を使用して位置と向きを制御する場合は、プロファイル トークンを使用します。

サンプル アプリケーションでは、Azure IoT Operations MQTT ブローカーを使用して、ONVIF のコネクタと対話するコマンドを送信します。 詳細については、 MQTT ブローカーを使用した MQTT メッセージのパブリッシュとサブスクライブを参照してください。