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

IoT 解决方案中的设备配置的最佳做法

Azure IoT 中心中的自动设备管理可自动执行许多重复且复杂的任务,以在整个生命周期内管理大型设备群。 本文定义了开发和运行 IoT 解决方案过程中涉及的各种角色的许多最佳实践。

  • IoT 硬件制造商/集成商: IoT 硬件制造商、组装来自各种制造商的硬件的集成商,或为由其他供应商制造或集成的 IoT 部署提供硬件的供应商。 参与固件、嵌入式作系统和嵌入式软件的开发与集成。

  • IoT 解决方案开发人员: IoT 解决方案的开发通常由解决方案开发人员完成。 此开发人员可能是内部团队或专门参与此活动的系统集成商的一部分。 IoT 解决方案开发人员可以从头开始开发 IoT 解决方案的各种组件,集成各种标准组件或开源组件。

  • IoT 解决方案操作员: 部署 IoT 解决方案后,需要长期作、监视、升级和维护。 多个团队(例如由信息技术专家、硬件运营和维护团队以及监视整个 IoT 基础结构的正确行为)的域专家组成的内部团队可以执行这些任务。

了解用于大规模配置 IoT 设备的自动设备管理

自动设备管理包括 设备孪生模块孪生 的许多优势,用于在云和设备之间同步所需状态和报告状态。 自动设备配置可自动更新大量孪生体,并汇总进度和合规性。 以下高级步骤介绍了如何开发和使用自动设备管理:

  • IoT 硬件制造商/集成商使用设备孪生在嵌入式应用程序中实现设备管理功能。 这些功能可能包括固件更新、软件安装和更新以及设置管理。

  • IoT 解决方案开发人员使用设备孪生自动设备配置实现设备管理操作的管理层。 该解决方案应包括定义操作员接口来执行设备管理任务。

  • IoT 解决方案操作员使用 IoT 解决方案来执行设备管理任务,尤其是将设备组合在一起、启动配置更改(如固件更新、监视进度和排查出现的问题)。

IoT 硬件制造商/集成商

下面是用于处理嵌入式软件开发的硬件制造商和集成商的最佳做法:

  • 实现 设备孪生 设备孪生支持从云同步所需配置,并报告当前配置和设备属性。 在嵌入式应用程序中实现设备孪生的最佳方法是通过 Azure IoT SDK。 设备孪生非常适合用于配置,因为它们:

    • 支持双向通信。
    • 允许设备在连接和断开状态下操作。
    • 遵循最终一致性原则。
    • 在云中完全可查询。
  • 为设备管理构建设备孪生: 应构建设备孪生,以便将设备管理属性逻辑分组到各节中。 这样做可以隔离配置更改,而不会影响孪生体的其他部分。 例如,在所需属性中为固件创建一个分区、另一个用于软件的部分,以及用于网络设置的第三部分。

  • 报告对设备管理有用的设备属性: 物理设备制造和模型、固件、作系统、序列号和其他标识符等属性可用于报告和作为目标配置更改的参数。

  • 定义报告状态和进度的主要状态: 应枚举顶级状态,以便将其报告给操作员。 例如,固件更新将报告状态为“当前”、“正在下载”、“正在应用”、“正在进行”和“错误”。 定义更多字段,了解有关每个状态的详细信息。

IoT 解决方案开发人员

以下是在 Azure 中构建基于系统的 IoT 解决方案开发人员的最佳做法:

  • 实现 设备孪生 设备孪生支持从云同步所需配置,并报告当前配置和设备属性。 在云解决方案应用程序中实现设备孪生的最佳方法是通过 Azure IoT SDK。 设备孪生非常适合用于配置,因为它们:

    • 支持双向通信。
    • 支持设备的连接和断开状态。
    • 遵循最终一致性原则。
    • 在云中完全可查询。
  • 使用设备孪生标记组织设备: 解决方案应允许操作员根据各种部署策略(如 Canary)定义质量环或其他设备集。 可以使用设备孪生标记和 查询在解决方案中实现设备组织。 为了安全、准确地进行配置部署,需要对设备进行有序管理。

  • 实现 自动设备配置 自动设备配置通过设备孪生部署和监视对大型 IoT 设备的配置更改。

    自动设备配置通过 目标条件 针对设备孪生集合进行设定,该条件是基于设备孪生标记或报告属性的查询。 目标内容是在目标设备孪生中设置的所需属性集。 目标内容应与 IoT 硬件制造商/集成商定义的设备孪生结构保持一致。 指标是设备孪生报告属性的查询,还应与 IoT 硬件制造商/集成商定义的设备孪生结构保持一致。

    创建配置后不久,自动设备配置将首次运行,然后按五分钟间隔运行。 它们还受益于 IoT 中心以超出设备孪生读取和更新限制阈值的速度执行设备孪生操作。

  • 使用 设备预配服务 解决方案开发人员应使用设备预配服务将设备孪生标记分配给新设备,以便由以具有该标记的孪生体为目标的 自动设备配置 自动配置设备。

IoT 解决方案操作员

下面是使用基于 Azure 构建的 IoT 解决方案的 IoT 解决方案操作员的最佳做法:

  • 组织设备进行管理: IoT 解决方案应根据各种部署策略(如 Canary)定义或允许创建质量环或其他设备集。 设备集用于实施配置更改,并执行其他大规模设备管理操作。

  • 使用分阶段推出执行配置更改: 分阶段推出是一个整体过程,操作员将更改部署到一组扩大的 IoT 设备。 目标是逐步进行更改,以减少进行大规模中断性变更的风险。  操作员应使用解决方案的接口创建自动设备配置,并且目标条件应面向初始设备组(例如金丝雀组)。 然后,操作员应验证初始设备集中的配置更改。

    验证完成后,操作员会更新自动设备配置,以包含一组更大的设备。 操作员还应将配置优先级设置为高于当前面向这些设备的其他配置。 可以使用自动设备配置所提供的指标来监视部署过程。

  • 在出现错误或配置错误时执行回滚: 可以通过更改 目标条件 来回滚导致错误或配置错误的自动设备配置,以便设备不再满足目标条件。 确保其他优先级较低的自动设备配置仍然适用于这些设备。 通过查看度量标准验证回滚是否成功:回滚配置不应再显示未被定向设备的状态,而第二个配置的度量标准现在应包括仍然作为目标的设备的计数。

后续步骤