你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
设备管理和控制
此概述介绍了有关管理和控制典型 Azure IoT 解决方案中设备的关键概念。 每个部分都包含指向提供进一步详细信息和指导的内容的链接。
IoT Central 应用程序在内部使用 IoT 中心 和设备预配服务 (DPS) 服务。 因此,无论是使用 IoT Central 浏览 IoT 方案还是使用 IoT 中心 和 DPS 生成解决方案,本文中的概念都会适用。
下图显示了典型 IoT 解决方案中组件的高级别视图。 本文重点介绍了 IoT 解决方案的设备管理和控制组件。
在 Azure IoT 中,设备管理指预配和更新设备等过程。 设备管理包括以下任务:
- 设备注册
- Device Provisioning
- 设备部署
- 设备更新
- 设备密钥管理和轮换
- 设备监视
- 启用和禁用设备
在 Azure IoT 中,命令和控制是指允许向设备发送命令并接收来自设备的响应的过程。 例如,可以将命令发送到设备,以:
- 设置目标温度。
- 请求过去两个小时的最高和最低温度值。
- 将遥测间隔设置为 10 秒。
基元
Azure IoT 解决方案可使用以下基元进行设备管理以及命令和控制:
- 设备孪生,用于与云共享和同步状态数据。 例如,设备可以使用设备孪生来将它控制的阀门的当前状态报告给云,并从云中接收所需的目标温度。
- 用于表示数字世界中设备的数字孪生体。 例如,数字孪生体可以表示设备的物理位置、功能及其与其他设备的关系。 要详细了解设备孪生和数字孪生体之间的差异,请参阅了解 IoT 即插即用数字孪生体。
- 直接方法,用于从云接收命令。 直接方法可以具有参数并返回响应。 例如,云可以调用直接方法来请求设备在 30 秒内重启。
- 用于从云接收单向通知的云到设备消息。 例如,更新已就绪,可以下载的通知。
要了解详细信息,请参阅云到设备通信指导。
设备注册
必须先注册设备才能连接到 IoT 中心。 设备注册是在云中创建设备标识的过程。 每个 IoT 中心都有自己的内部设备注册表。 设备标识用于在设备连接到 Azure IoT 时对设备进行身份验证。 设备注册条目包括以下属性:
- 唯一的设备 ID。
- 身份验证信息,例如对称密钥或 X.509 证书。
- 设备类型。 是否是 IoT Edge 设备?
如果认为某个设备被盗用或无法正常工作,则可以在设备注册表中禁用它,以防止它连接到云。 要允许设备在问题解决后重新连接到云,可以在设备注册表中重新启用它。 还可以从设备注册表中永久移除设备,以完全阻止设备连接到云。
有关详细信息,请参阅了解 IoT 中心中的标识注册表。
IoT Central 提供了一个 UI,可用于管理基础 IoT 中心内的设备注册表。 有关详细信息,请参阅添加设备 (IoT Central)。
Device Provisioning
必须为解决方案中的每个设备配置它应连接到的 IoT 中心的详细信息。 可以在解决方案中手动配置每台设备,但此方法可能不适用于存在大量设备的情况。 要解决此问题,可以使用设备预配服务 (DPS) 自动向 IoT 中心注册每台设备,然后使用所需的连接信息预配每台设备。 如果 IoT 解决方案使用多个 IoT 中心,则可以使用 DPS 根据哪个中心距离设备最近的条件将设备预配到中心。 可以在以物理方式在现场部署设备之前,使用注册和预配设备的规则来配置 DPS。
如果 IoT 解决方案使用 IoT 中心,则使用 DPS 是可选的。 如果使用的是 IoT Central,则解决方案会自动使用 IoT Central 管理的 DPS 实例。
要了解详细信息,请参阅设备预配服务概述。
设备部署
在 Azure IoT 中,设备部署通常是指在 IoT Edg 设备上安装软件的过程。 当 IoT Edge 设备连接到 IoT 中心时,它会收到一份部署清单,其中包含要在该设备上运行的模块的详细信息。 部署清单还包含模块的配置信息。 IoT Edge 设备可以使用许多标准模块。 用户还可以创建自己的自定义模块。
要了解详细信息,请参阅什么是 Azure IoT Edge?
如果使用的是 IoT Central,则可以使用 IoT Central UI 管理部署清单。
设备更新
通常,IoT 解决方案必须包含更新设备软件的方法。 对于 IoT Edge 设备,可以通过更新部署清单来更新在设备上运行的模块。
对于非 IoT Edge 设备,则需要具有更新设备固件的方法。 此更新过程可以使用云到设备消息来通知设备固件更新可用。 然后,设备会运行自定义代码来下载并安装更新。
Device Update for IoT Hub 服务提供了用于更新设备的托管解决方案。 它支持将固件更新上传到云,然后将其分发到设备。 它还允许监视更新过程,并在更新失败时回滚到以前的版本。
设备密钥管理和轮换
在 IoT 解决方案的生命周期内,可能需要滚动更新用于对设备进行身份验证的密钥。 例如,如果怀疑密钥被盗用或证书过期,则可能需要滚动更新密钥:
设备监视
可能需要监视设备的健康状况,这是整体解决方案监视的一部分。 例如,可能需要监视设备的健康状况,或者检测设备何时不再连接到云。 监视设备的选项包括:
- 设备使用设备孪生向云报告其当前状态。 例如,设备可以报告其当前内部温度或当前电池电量。
- 设备可以通过将遥测消息发送到云来引发警报。
- 当设备连接到云或与云断开连接时,IoT 中心可以引发事件。
- 在满足指定条件时,IoT Central 可以使用规则来运行操作。
- 使用机器学习工具分析设备遥测流,以识别指示设备出现问题的异常。
要了解详细信息,请参阅监视设备连接状态(IoT 中心)。
设备迁移
如果需要将设备从 IoT Central 迁移到 IoT 中心,可以使用设备迁移工具。 要了解详细信息,请参阅将设备从 IoT Central 迁移到 IoT 中心。
命令和控制
要向设备发送命令以控制其行为,请使用:
直接方法,适用于需要立即确认结果的通信。 直接方法通常用于以交互方式控制设备,例如打开风扇。
设备孪生所需属性,适用于旨在将设备置于某个所需状态的长期运行命令。 例如,将遥测发送间隔设置为 30 分钟。
云到设备消息,用于向设备提供单向通知。
要了解详细信息,请参阅云到设备通信指导。
在一些方案中,可以根据反馈循环自动执行设备控制。 例如,如果设备温度过高,则在云中运行的逻辑可以发送打开风扇的命令。 然后,云进程可以发送命令,以在温度恢复正常时关闭风扇。
还可以在本地运行这种自动化。 例如,如果使用 IoT Edge 来实现网关设备,则可以在 IoT Edge 模块中运行控制设备的逻辑。 在边缘运行这种逻辑可以降低延迟,并在发生网络中断时提供复原能力。
作业
可以使用直接方法、所需属性和云到设备消息将命令发送到单个设备。 如果需要将命令发送到多个设备,则可以使用作业。 使用作业可以计划并同时向多台设备发送命令和所需属性更新。 还可以使用作业来监视命令的进度,并在命令失败时回滚到以前的状态。
若要了解更多信息,请参阅以下文章:
后续步骤
了解 Azure IoT 解决方案中的设备管理和控制概述后,接下来可以执行一些建议的后续步骤: