你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IoT 资产和设备开发

此概述介绍有关开发连接到典型 Azure IoT 解决方案的资产与设备的关键概念。 每个部分都包含指向提供进一步详细信息和指导的内容的链接。 通常,设备直接连接到基于云的服务(例如 IoT 中心),而资产则连接到环境中基于边缘的服务,例如 Azure IoT 操作。 本文包含有关资产和设备的信息。

下图显示了典型基于边缘的 IoT 解决方案中组件的高级别视图。 本文重点介绍关系图中显示的资产和连接器:

关系图显示了高级别 IoT 解决方案体系结构,其中突出显示了资产连接区域。

资产通常具有实现标准协议的内置固件。 例如,机器人臂可能是 OPC UA 客户端,安全视频摄像头可能实现 ONVIF。 Azure IoT 操作包括各种连接器,这些连接器可以使用这些协议与资产通信,并将来自资产的消息转换为 MQTT 消息。 一些资产可以接收支持你对其执行操作的消息,例如:

  • 平移或倾斜安全摄像头。
  • 更改机器人臂上的日志记录级别。
  • 启动固件更新。

可以创建自己的自定义连接器,以连接到使用 Azure IoT 操作本机不支持的协议的资产。

资产和设备类型

IoT 解决方案可以包含许多类型的资产设备。 你通常会在基于云的解决方案找到设备,并在基于边缘的解决方案中找到资产。 也有可能存在同时包含设备和资产的混合解决方案。

基于边缘的解决方案中的示例资产包括:

  • 机器人臂、传送带和电梯。
  • 工业 CNC 机器、车床、锯子和钻头。
  • 医疗诊断成像机。
  • 安保视频摄像机。
  • 软件或软件组件
  • 可编程逻辑控制器。

这些资产通常具有实现标准协议的内置固件。 例如,机器人臂可能是 OPC UA 客户端,安全摄像机可能实现 ONVIF 协议。 在基于边缘的解决方案中,可使用专用连接器连接到这些资产,并将来自它的的消息转换为通用格式。

对于资产,不存在直接等效于设备开发人员角色的角色。 相反,操作员可以将连接器配置为连接到资产。 但你可能需要开发自定义连接器,以连接到使用基于边缘的解决方案本机不支持的协议的资产。

建模和架构

设备和资产模型定义了设备和资产与云交换的数据。 模型支持一系列低代码或无代码方案,以便将设备和资产与 IoT 解决方案集成。

在基于边缘的解决方案中,操作员可将连接器配置为连接到资产。 此配置包括资产数据和云架构之间的映射。 例如,使用 OPC UA 连接器,操作员可将 OPC UA 节点 ID 映射到与 MQTT 代理交换的 JSON 消息中的标记和事件。 以下屏幕截图显示了数字操作体验 Web UI 中的一个示例,它定义了资产的两个此类映射:

屏幕截图显示了一个示例资产定义。

在解决方案的其他位置,操作员可以直接引用“温度”和“标记 10” 标记,而无需知道 OPC UA 节点 ID 的详细信息。

容器化

容器化是在轻型隔离环境中打包和运行代码的方法。 容器是可移植的,并且可在支持容器运行时的任何平台上运行。 容器是打包和部署代码的良好方法,因为它们为代码提供了一致的运行时环境。 运行时环境通常包括代码运行所需的服务、库和包。

Azure IoT 操作会容器化其在边缘上运行的所有连接器、代理和其他组件。 Azure IoT 操可部署到 Kubernetes 群集,它是容器业务流程平台。 将创建的任何自定义连接器或其他组件部署到 Kubernetes 群集。

如果解决方案使用 Azure IoT Edge 作为 IoT 中心的基于边缘的网关,则可将其视为一种混含解决方案,其中同时包含了基于边缘和基于云的解决方案的元素。

设备开发工具

下表列出了一些可用的 IoT 设备开发工具:

工具 说明
Azure IoT 中心(VS Code 扩展) 使用此 VS Code 扩展,可以从 VS Code 中管理 IoT 中心资源和设备。
Azure IoT 资源管理器 借助此跨平台工具,可以从桌面应用程序管理 IoT 中心资源和设备。
适用于 Azure CLI 的 Azure IoT 扩展 此 CLI 扩展包括 az iot device simulateaz iot device c2d-messageaz iot hub monitor-events 等命令,可帮助你测试与设备的交互。