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

什么是 IoT 中心的设备更新?

Device Update for Azure IoT Hub 是一项服务,可用于为 IoT 设备部署无线更新。

随着物联网 (IoT) 解决方案的采用率不断提高,生成这些解决方案的设备就必须易于大规模连接和管理。 Device Update for IoT Hub 是一个端到端平台,客户可以使用它来发布、分发和管理从微型传感器到网关级设备的所有内容的无线更新。

为了实现 IoT 支持的数字化转型的全部优势,客户需要能够大规模操作、维护和更新设备。 Device Update for IoT Hub 解锁如下功能:

  • 快速响应安全威胁
  • 部署新功能以获取业务目标
  • 在生成自己的更新平台时不会产生额外的开发和维护成本。

支持各种 IoT 设备

Device Update for IoT Hub 通过与 Azure IoT 中心集成,提供优化的更新部署和简化的操作。 通过这种集成,可以轻松地在任何现有解决方案中采用 Device Update。 它提供了可用于连接几乎任何设备的云托管解决方案。 设备更新支持范围广泛的 IoT 操作系统 - 包括 Linux 和 Eclipse ThreadX(实时操作系统),并且可通过开放源代码进行扩展。 我们正在与半导体合作伙伴(包括 STMicroelectronics、NXP、Renesas 和 Microchip)共同开发 Device Update for IoT Hub 产品/服务。 请参阅主要半导体评估版块的示例(包括入门指南),了解如何配置、生成无线更新以及如何将无限更新部署到 MCU 类设备。

同时提供了 Device Update 代理模拟器二进制文件和 Raspberry Pi 引用 Yocto 映像。 为 Ubuntu Server 18.04、Ubuntu Server 20.04 和 Debian 10 生成和提供 Device Update 代理。 如果你运行的不是上述平台之一,Device Update for IoT Hub 还会提供开放源代码。 你可以将代理移植到你正在运行的发行版。

Device Update for IoT Hub 还支持更新 Azure IoT Edge 设备。

Device Update 适用于 IoT 即插即用,可以管理支持所需 IoT 即插即用接口的任何设备。 有关详细信息,请参阅 Device Update for IoT Hub 与 IoT 即插即用

支持各种更新项目

Device Update for IoT Hub 支持两种形式的更新:基于包的更新和基于映像的更新。

基于包的更新是有针对性的更新,只改变设备上的特定组件或应用程序。 此更新类型会降低带宽的消耗,并有助于减少下载和安装更新的时间。 包更新通常可以在应用更新时减少设备的停机时间,并避免创建图像的开销。

基于映像的更新在设备的最终状态中提供更高级别的置信度。 通常可以更轻松地在预生产环境和生产环境之间复制映像更新的结果,因为它不会带来与包及其依赖项相同的挑战。 由于映像更新的原子性质,还可以轻松采用 A/B 故障转移模型。

没有一个正确答案,你可以根据具体的用例做出不同的选择。 Device Update for IoT Hub 支持映像和包形式的更新,使你可以为设备环境选择正确的更新模型。

用于更新设备的灵活功能

Device Update for IoT Hub 提供了强大且灵活的功能,其中包括:

  • 管理和报告工具。

    • 与 Azure IoT 中心集成的更新管理体验。
    • 用于实现自动化和自定义门户体验的编程 API。
    • 通过 Azure 门户提供基于订阅和基于角色的访问控制。
    • 异质设备群中一目了然的更新合规性和状态视图。
    • Azure CLI 支持从命令行创建和管理 Device Update 资源、组和部署。
  • 对更新部署过程的详细控制。

    • 通过设备分组和更新计划控件逐步推出更新。
    • 支持弹性设备更新 (A/B),可提供无缝回滚。
    • 对于满足回滚条件的受管理设备,会自动回滚到定义的回退版本。
    • 借助 Delta 更新(公共预览版),可以生成更小的更新,该更新仅表示当前映像和目标映像之间的更改,这可以减少将更新下载到设备的带宽。
  • 故障排除功能有助于诊断和修复设备,包括代理检查和设备同步。

  • 支持本地内容缓存和嵌套边缘,以便能够更新云端离线设备。

  • 根据设备的兼容性属性和设备孪生标记自动对设备进行分组。

借助 Device Update for IoT Hub 管理和部署控件,用户可以最大程度地提高工作效率并节省宝贵的时间。 使用 Device Update for IoT Hub,可以对设备分组,并指定应将更新部署到的设备。 用户还可以查看部署的状态,并确保每个设备都能成功应用更新。

发生更新失败时,Device Update for IoT Hub 能帮助用户确定无法应用更新的设备,并查看相关的失败详细信息。 有了确定哪些设备无法更新的功能,不必再花费大量时间来尝试手动查明原因。

全球范围内的最佳安全级别

Microsoft Azure 支持全球超过 10 亿台 IoT 设备,这个数字每天都在快速增长。 Device Update for IoT Hub 建立在这一体验和 Windows 更新平台证明的可靠性基础上,因此设备可以在全球范围内无缝更新。

Device Update for IoT Hub 使用为 Microsoft Azure 开发的全面的云到边缘安全,因此客户无需花费时间来确定如何从头开始生成它。 有关详细信息,请参阅 Device Update 安全模型

Device Update 工作流

Device Update 功能可分为三个部分:代理集成、导入和管理。

设备更新代理

当设备收到更新命令时,Device Update 代理将执行请求的更新阶段(下载、安装和应用)。 每个阶段,代理都会通过 IoT 中心将部署状态返回到 Device Update,便于你查看部署的当前状态。 如果没有正在进行的更新,则返回“空闲”状态。 可以随时取消部署。

Device Update 代理工作流的关系图。

有关详细信息,请参阅 Device Update for IoT Hub 代理概述

导入

导入是将更新引入到 Device Update 中的方式,目的是将其部署到设备。 Device Update 支持为每个设备推出一个更新。 这种支持使其非常适合于更新整个 OS 分区或 APT 清单(描述你要在设备上更新的各个包)的完整映像更新。

若要将更新导入到 Device Update 中,请先创建一个描述更新的导入清单,然后将更新文件和导入清单上传到 Azure 存储容器。 之后,你可以使用 Azure 门户或设备更新 REST API 启动更新导入的异步过程。 Device Update 上传文件、处理文件,并使它们可分发到 IoT 设备。

对于敏感内容,请使用共享访问签名 (SAS)(如 Azure Blob 存储的临时 SAS)来保护下载内容。 有关详细信息,请参阅使用 SAS 授予对 Azure 存储资源的有限访问权限

Device Update for IoT Hub 导入工作流关系图。

有关详细信息,请参阅将更新导入 Device Update for IoT Hub

分组和部署

导入更新后,你可以查看设备和设备类的兼容更新。

Device Update 通过 IoT 中心中的标记支持组的概念。 首先将更新部署到测试组是降低生产推出期间问题风险的好方法。

在 Device Update 中,部署是将正确内容连接到一组特定的兼容设备的方法。 Device Update 会协调将命令发送到每台设备的过程,指示它们下载和安装更新并获取返回的状态。

Device Update for IoT Hub 分组和部署工作流关系图。

有关部署概念的详细信息,请参阅 Device Update 合规性

有关 Device Update 组的详细信息,请参阅设备组

后续步骤

通过尝试示例开始使用 Device Update:

教程:使用模拟器代理的 Device Update