你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
在 Azure IoT 操作中,ONVIF 的连接器使你能够发现和使用连接到 Azure IoT 操作集群的 ONVIF 兼容相机。
Azure IoT 操作中的资产是用于表示物理资产或设备的逻辑实体。 Azure IoT 操作资产可以具有描述其行为和特征的自定义属性、数据点、流和事件。 资产与一个或多个设备相关联。 Azure IoT 操作将资产定义存储在 Azure 设备注册表中。
Azure IoT 操作中的设备是一个逻辑实体,用于定义与物理资产或设备的连接。 如果没有设备,数据无法从物理设备或资产流向 MQTT 中转站。 配置设备和资产时,将建立与物理资产或设备的连接,而数据点值、事件和流将到达 Azure IoT 操作实例。 设备具有一个或多个入站终结点。 Azure IoT 操作将设备定义存储在 Azure 设备注册表中。
适用于 Azure IoT 操作的 ONVIF 连接器将 符合 ONVIF 标准的 相机连接到 Azure IoT 操作实例,并在 Azure 设备注册表中注册它们。 然后,连接器会自动发现:
- ONVIF 设备的功能,例如平移/倾斜/变焦 (PTZ)。
- ONVIF 设备提供的媒体终结点。
- 媒体流的详细信息,例如帧速率、分辨率和编码。
注册相机后,管理操作的示例包括:
- 检索和更新相机的配置以调整输出图像配置。
- 控制相机平移、倾斜和缩放(PTZ)。
媒体连接器可以访问这些相机公开的媒体源。
媒体连接器、ONVIF 连接器、Azure IoT 操作连接器和配套服务,使您能够使用 Azure IoT 操作来实施用例,例如:
- 排队和停留时间的跟踪,用于记录客户排队所花费的时间。
- 订单准确性,通过将物品与 POS 收据进行比较来跟踪正确的订单。
- 相机检测缺陷和质量保证,以检测装配线上产品中的任何缺陷。
- 安全监测,如碰撞检测、安全区域检测和个人安全设备检测。
本文介绍如何使用操作体验 Web UI 和 Azure CLI 执行以下操作:
- 为合规相机添加具有 ONVIF 终结点的设备。
- 查看 ONVIF 终结点上发现的资产和设备。
- 创建表示 ONVIF 相机公开的媒体终结点的设备。
- 创建一个资产,用于从媒体终结点捕获快照并将其发布到 MQTT 中转站。
ONVIF 的连接器支持以下身份验证方法:
- 用户名/密码身份验证
- 用于测试目的的匿名访问
若要建立与 ONVIF 相机的 TLS 连接,可以为连接器配置证书信任列表。
Prerequisites
启用了资源同步规则的 Azure IoT 操作的已部署实例。 若要启用资源同步规则,请在 Azure IoT作实例上运行以下命令。 此命令还会设置自定义位置所需的权限:
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 操作群集访问的 ONVIF 兼容相机。
ONVIF 符合性
ONVIF 具有多种合规性类别,例如发现、设备、媒体、图像处理、分析、事件和平移/倾斜/变焦 (PTZ) 服务。 若要了解详细信息,请参阅 ONVIF - 配置文件、加载项和规范。
Azure IoT Operations 中 ONVIF 的连接器侧重于对实现以下配置文件的相机设备的支持:
连接器支持以下功能:
- 发现设备信息和功能。
- 监控来自设备的事件。
- 发现设备公开的媒体 URI。 ONVIF 的连接器使这些 URI 可供媒体连接器使用。
- 图像控制,例如滤镜以及接收运动和篡改事件。
- 控制设备 PTZ。
为 ONVIF 部署连接器
部署 Azure IoT 运营时,安装包包含各种连接器。 在可以在操作体验 Web UI 中使用连接器(例如 ONVIF、媒体和 HTTP/REST)之前,管理员必须将连接器模板实例添加到您的 Azure IoT 操作实例中。
所有连接器都可以将捕获的数据发布到 MQTT 中转站。
若要将连接器模板实例添加到 Azure IoT 操作实例,请执行以下操作:
在 Azure 门户中,转到 Azure IoT 操作实例,选择“连接器模板”,然后选择“添加连接器模板实例”:
在 “添加 Akri 连接器模板 向导”的第一页上,选择要添加的连接器模板的类型和版本,例如 ONVIF、 媒体、 HTTP/REST、 SSE 或 MQTT。 然后选择“元数据”。
在“元数据”页上,接受默认值,然后选择“设备入站终结点类型”。
在“设备入站终结点类型”页上,接受默认值,然后选择“诊断配置”。
在“诊断配置”页上,接受默认值,然后选择“运行时配置”。
在 “运行时配置 ”页上,接受默认值,然后选择“ 审阅”。
在“审阅”页上,查看连接器模板实例的详细信息,然后选择“创建”以创建连接器模板实例。
OT 用户现在可以使用操作体验 Web UI 来创建具有连接器终结点的设备。
使用 ONVIF 终结点创建设备
要添加包含 ONVIF 端点的合规摄像机设备,请执行以下步骤:
在操作体验 Web UI 中,从左侧导航窗格中选择“设备”:
选择“新建”。 在“设备详细信息”页上,输入设备的名称,例如
my-onvif-camera。 若要定义入站终结点,请在 Microsoft.Onvif 磁贴上选择“新建”。 输入 ONVIF 相机的详细信息,例如:选择 “保存 ”,将终结点添加到设备。 “设备详细信息”页现在显示 ONVIF 终结点。
在“设备详细信息”页上,选择“下一步”。
在“添加自定义属性”页上,可以选择更新或向设备添加自定义属性。 完成后选择“下一步”。
“摘要”页显示设备的详细信息。 查看详细信息,然后选择“创建”以创建设备。 几分钟后,“设备”页会显示新设备。
将设备配置为使用用户名和密码
上述示例使用了 Anonymous 身份验证模式。 此模式不需要用户名或密码。
若要使用 Username password 身份验证模式,请完成以下步骤:
按照 “管理 Azure IoT作部署的机密 ”中的步骤,在 Azure Key Vault 中添加用户名和密码的机密,将其投影到 Kubernetes 群集中,并从设备配置中引用它们。
其他安全选项
若要管理 ONVIF 连接器的受信任证书列表,请参阅 管理用于外部通信的证书。
在作体验中创建入站终结点时,还可以在 “高级 ”选项卡上选择以下选项:
| 选项 | 类型 | Description |
|---|---|---|
| 接受无效主机名 | Yes/No | 接受 ONVIF 连接的证书中的无效主机名,默认值为 “否” |
| 接受无效证书 | Yes/No | 接受 ONVIF 连接的无效证书,默认为 “否” |
| 回退到用户名令牌身份验证 | Yes/No | 如果 ONVIF 连接摘要式身份验证失败,则回退到 UsernameToken 身份验证,默认值为 “否” |
小窍门
有关如何使用 Azure CLI 配置这些设置的详细信息,请参阅 az iot ops ns device endpoint inbound add 命令参考。
查看发现的资产和设备
使用 ONVIF 终结点创建设备后,ONVIF 的连接器会自动发现终结点上可用的 ONVIF 资产和媒体设备。 若要查看操作体验 Web UI 中发现的资产和设备,请从左侧导航窗格中选择“发现”:
从发现的 ONVIF 资产中选择 “导入和创建资产 ”,以创建表示 ONVIF 兼容相机功能的资产。 例如,可以创建一个资产,用于从 ONVIF 相机捕获事件,或者允许你控制 ONVIF 相机。 有关详细信息,请参阅“ 为事件管理和控制创建 ONVIF 资产”部分。
选择从发现的 ONVIF 设备“导入并创建设备”,以创建一个设备,用于连接由符合 ONVIF 标准的摄像机公开的媒体终结点。 创建媒体设备后,可以创建从媒体终结点捕获快照或视频流的媒体资产。 有关详细信息,请参阅“ 使用媒体终结点创建设备”部分。
使用媒体终结点创建设备
若要从发现的设备创建具有媒体终结点的设备,请执行以下步骤:
在作体验 Web UI 中,从左侧导航窗格中选择“发现”。 然后选择“发现的设备”。
选择发现的媒体设备,例如
my-onvif-camera。 然后选择“导入并创建设备”。“ 设备详细信息 ”页显示所有发现的媒体入站终结点。 输入设备的名称,例如
my-onvif-camera-media,为每个终结点选择身份验证方法:小窍门
可以通过选择该终结点并选择 “删除入站终结点”来删除不需要的入站终结点。
然后选择下一步。
在 “添加自定义属性 ”页上,可以看到发现的属性。 可以选择性地更新、删除或向设备添加自定义属性。 完成后选择“下一步”。
在“摘要”页上,查看设备的详细信息。 选择“创建”以创建设备。 几分钟后, “设备” 页会显示新的媒体设备。
创建媒体资产以捕获快照
现在可以使用发现的媒体设备创建一个资产,用于从相机捕获快照并将其发布到 MQTT 中转站。 若要创建媒体资产,请执行以下步骤:
在操作体验 Web UI 中,从左侧导航窗格中选择“资产”。 然后选择“ 创建资产”。
在“资产详细信息”页上,输入资产的名称,例如
my-onvif-camera-media-asset。 然后选择要用于捕获快照的已发现终结点。更新媒体资产的任何自定义属性,然后选择“下一步”。
在“流”页,选择“添加流”。 使用以下设置配置将快照发布到 MQTT 中转站的示例流:
-
流名称:
myassetvideo -
目标:
MQTT -
主题:
myassetvideo -
任务类型:
snapshot-to-mqtt
小窍门
当用于 ONVIF 的连接器将快照发布到 MQTT 代理服务器时,您在此选择的主题会自动嵌套在
azure-iot-operations/data/<asset-name>/之下。将其他设置保留为默认值。 然后选择“添加”。 流将添加到资产配置:
-
流名称:
选择 “下一步 ”转到“ 审阅 ”页。 查看资产的详细信息,然后选择“创建”以创建资产。 几分钟后,“资产”页将显示新资产。
媒体资产现在配置为从符合 ONVIF 的相机捕获快照,并将其发布到 MQTT 代理。
为事件管理和控制创建 ONVIF 资产
ONVIF 兼容的相机可以生成诸如运动检测和响应控制命令(如平移、倾斜和缩放)的事件。 可以从已发现的 ONVIF 设备创建 ONVIF 资产,用于捕获这些事件,并使你能够控制相机。
在操作体验中添加 ONVIF 设备后,会自动创建发现的 ONVIF 资产:
若要为事件管理和控制创建 ONVIF 资产,请执行以下操作:
选择发现的资产,然后选择“导入并创建资产”。
在“资产详细信息”页上,输入资产的名称和说明。 已经为你选择了设备入站端点,并已从已发现的资产中预填充自定义属性:
选择“下一步”继续操作。
在 “事件组 ”页上,选择事件组以查看发现的事件。 可以删除不想使用的任何事件:
对于保留的每个事件,请配置要将其发布到的 MQTT 主题:
选择“下一步”继续操作。
在管理组页上,配置用于控制 ONVIF 相机的操作,例如平移、倾斜和缩放。
有关配置管理组的详细信息,请参阅 管理和控制相机。
选择“下一步”继续操作。
查看 ONVIF 资产配置的摘要,然后选择“创建”以创建资产。 几分钟后,“资产”页将显示新资产。
管理和控制相机
若要与 ONVIF 相机交互,可以发布 ONVIF 连接器订阅的 MQTT 消息。 消息格式基于 ONVIF 网络接口规范。
Azure IoT 操作连接器用于 ONVIF PTZ 演示的示例应用程序显示如何使用 ONVIF 的连接器执行以下操作:
- 使用媒体资产定义从相机的媒体服务中检索一个配置文件令牌。
- 使用相机的 PTZ 功能控制其位置和方向时,请使用配置文件令牌。
示例应用程序使用 Azure IoT Operations MQTT 中转站发送命令,以便与 ONVIF 的连接器交互。 若要了解详细信息,请参阅 使用 MQTT 代理发布和订阅 MQTT 消息。