Device Update 代理包括两个概念层:
- 接口层基于 Azure IoT 即插即用,允许消息传送在设备更新代理和设备更新服务之间流动。
- 平台层负责下载、安装和应用(可能是特定于平台或设备)的高级更新作。
接口层
这些接口依赖于需要向设备更新服务报告的设备特定值的配置文件。 有关详细信息,请参阅 Device Update 配置文件。
Device Update 核心接口
Device Update 核心接口是设备更新代理和服务之间的主要信道。 有关详细信息,请参阅 设备更新核心接口。
设备信息接口
设备信息接口用于实现Azure IoT PnP DeviceInformation
接口。 有关详细信息,请参阅 设备信息接口。
平台层
Linux 平台层 集成了用于下载的 交付优化,用于我们的 Raspberry Pi 参考映像以及运行在 Linux 系统上的所有客户端。
可以在 Linux 平台层实现中找到 src/platform_layers/linux_platform_layer
,它与 传递优化客户端 集成以供下载。
此层可以与不同的更新处理程序集成以实现安装程序。 例如, SWUpdate
更新处理程序、 Apt
更新处理程序和 Script
更新处理程序。
如果您选择使用自己的下载程序来替代交付优化,请查看大型文件下载的要求。
更新处理程序
更新处理程序用于调用安装程序或命令以执行无线更新。 可以使用 现有的更新内容处理程序 或 实现自定义内容处理程序 ,该处理程序可以调用任何安装程序并执行用例所需的无线更新。
更新到最新的设备更新代理程序
我们在最新的公共预览版刷新代理(版本 0.8.0)中向设备更新代理添加了许多新功能。 有关详细信息,请参阅 新功能列表。
如果使用设备更新代理版本 0.6.0 或 0.7.0,请迁移到最新的代理版本 0.8.0。 有关详细信息,请参阅 将设备和组迁移到更新公共预览版。
可以在 IoT 设备孪生的设备属性部分中检查设备更新代理的已安装版本和传递优化代理。 有关详细信息,请参阅 设备更新核心接口的设备属性。
后续步骤
可以使用以下教程来简单演示 IoT 中心的设备更新: