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

Device Update 代理预配

Device Update 模块代理可以与其他系统进程,以及连接到 IoT 中心作为同一逻辑设备的一部分的 IoT Edge 模块一起运行。 本部分介绍如何将 Device Update 代理预配为模块标识。

正式发布时对 Device Update 代理的更改

如果你使用的是 Device Update 代理版本,请迁移到最新的代理版本 1.0.0(GA 版)。 请参阅 GA 代理,了解更改和升级方式

你可在 IoT 设备孪生的“设备属性”部分中查看 Device Update 代理和传递优化代理的安装版本。 详细了解 ADU Core 接口下的设备属性

模块标识与设备标识

在 IoT 中心的每个设备标识下,最多可以创建 50 个模块标识。 每个模块标识隐式生成模块孪生。 在设备端,可以使用 IoT 中心设备 SDK 创建模块,其中每个模块与 IoT 中心建立独立连接。 模块标识和模块孪生提供的功能与设备标识和设备孪生相似,但前者的粒度更细。 详细了解 IoT 中心中的模块标识

如果要从设备级别代理迁移到将代理添加为设备上的模块标识,请删除通过设备孪生通信的较旧代理。 将 Device Update 代理预配为模块标识时,设备和 Device Update 服务之间的所有通信都通过模块孪生进行。因此,请记住:在创建时标记设备的模块孪生;所有通信都必须通过模块孪生进行。

对 Device Update 的支持

目前设备更新支持以下 IoT 设备无线更新类型:

先决条件

如果要为基于包的更新设置 IoT 设备/IoT Edge 设备,请通过执行以下步骤将 packages.microsoft.com 添加到计算机的存储库:

  1. 登录到要安装 Device Update 代理的虚拟机或 IoT 设备。

  2. 打开终端窗口。

  3. 安装与设备操作系统匹配的存储库配置。

    curl https://packages.microsoft.com/config/ubuntu/18.04/multiarch/prod.list > ./microsoft-prod.list
    
  4. 将生成的列表复制到 sources.list.d 目录。

    sudo cp ./microsoft-prod.list /etc/apt/sources.list.d/
    
  5. 安装 Microsoft GPG 公钥。

    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    
    sudo cp ./microsoft.gpg /etc/apt/trusted.gpg.d/
    

如何将 Device Update 代理预配为模块标识

本部分介绍如何将 Device Update 代理预配为

  • 启用了 IoT Edge 的设备,或
  • 非 Edge IoT 设备,或
  • 其他 IoT 设备上的模块标识。

要检查是否在设备上启用了 IoT Edge,请参阅 IoT Edge 安装说明

根据所管理的 IoT 设备的类型,按照以下全部或任一部分来添加 Device Update 代理。

在启用了 IoT Edge 的设备上

按照这些说明在启用了 IoT Edge 的设备上预配 Device Update 代理。

  1. 按照说明手动预配单个 Linux IoT Edge 设备

  2. 安装 Device Update 映像更新代理。

    我们在此处的资源存储库中提供了示例图像。 swUpdate 文件是可刷写到 Raspberry Pi B3+ 板上的基础映像。 .gz 文件是要通过 Device Update for IoT Hub 导入的更新。 有关示例,请参阅如何将映像刷写到 Azure IoT 中心设备

  3. 安装 Device Update 包更新代理。

    • 如需从 packages.microsoft.com 获取最新代理版本:更新设备上的包列表,然后使用以下方法安装 Device Update 代理包及其依赖项:

      sudo apt-get update
      
      sudo apt-get install deviceupdate-agent
      
    • 对于任何“rc”(即从项目发布候选代理版本):将 .dep 文件下载到要安装设备更新代理的计算机上,然后:

      sudo apt-get install -y ./"<PATH TO FILE>"/"<.DEB FILE NAME>"
      
    • 如果要设置适用于离线设备方案的 MCC,请安装传递优化 APT 插件:

      sudo apt-get install deliveryoptimization-plugin-apt
      
  4. 安装设备更新代理后,你将需要通过运行以下命令来编辑设备更新的配置文件。

    sudo nano /etc/adu/du-config.json
    

    对于将使用 IoT 标识服务进行预配的代理,请将 connectionType 更改为“AIS”。 ConnectionData 字段必须为空字符串。 请注意,必须设置所有带有“将值置于此处”标记的值。 请参阅配置 DU 代理

  5. 你现在已准备好在 IoT 设备上启动 Device Update 代理。

在未安装 IoT Edge 的 IoT Linux 设备上

按照这些说明在 IoT Linux 设备上预配 Device Update 代理。

  1. 按照安装 Azure IoT 标识服务中的指示安装 IoT 标识服务,并将最新版本添加到 IoT 设备。

  2. 按照配置 Azure IoT 标识服务中的指示配置 IoT 标识服务。

  3. 最终安装 Device Update 代理。 我们在此处的资产中提供了示例图像,swUpdate 文件是你可以在 Raspberry Pi B3+ 板上刷写的基本映像,.gz 文件是你要通过 Device Update for IoT Hub 导入的更新。 请参阅有关如何将映像刷写到 IoT 中心设备的这一示例。

  4. 安装设备更新代理后,你将需要通过运行以下命令来编辑设备更新的配置文件。

    sudo nano /etc/adu/du-config.json
    

    对于将使用 IoT 标识服务进行预配的代理,请将 connectionType 更改为“AIS”。 ConnectionData 字段必须为空字符串。 请注意,必须设置所有带有“将值置于此处”标记的值。 请参阅配置 DU 代理

  5. 你现在已准备好在 IoT 设备上启动 Device Update 代理。

其他 IoT 设备

无需 IoT 标识服务即可在受约束设备上配置 Device Update 代理以进行测试。 按照以下步骤使用连接字符串预配 Device Update 代理(从模块或设备)。

  1. 我们在此处的资源存储库中提供了示例图像。 swUpdate 文件是可刷写到 Raspberry Pi B3+ 板上的基础映像。 .gz 文件是要通过 Device Update for IoT Hub 导入的更新。 有关示例,请参阅如何将映像刷写到 Azure IoT 中心设备

  2. 登录到计算机或 IoT Edge 设备/IoT 设备。

  3. 打开终端窗口。

  4. 将连接字符串添加到设备更新配置文件

    1. 在终端窗口中输入以下内容:

    2. 复制主连接字符串

      • 如果将设备更新代理配置为模块,请复制模块的主连接字符串。
      • 否则,请复制设备的主连接字符串。
    3. 在 du-config.json 文件中“connectionData”字段中输入已复制主连接字符串作为值。 请注意,必须设置所有带有“将值置于此处”标记的值。 请参阅配置 DU 代理

  5. 你现在已准备好在 IoT 设备上启动 Device Update 代理。

如何启动 Device Update 代理

本部分介绍如何启动 Device Update 代理并验证它是否作为模块标识在 IoT 设备上成功运行。

  1. 登录到安装了 Device Update 代理的计算机或设备。

  2. 打开终端窗口,然后输入以下命令。

    sudo systemctl restart deviceupdate-agent
    
  3. 可以使用以下命令检查代理的状态。 如果遇到任何问题,请参阅此故障排除指南

    sudo systemctl status deviceupdate-agent
    

    应会看到状态“正常”。

  4. 在 IoT 中心门户中,转到 IoT 设备或 IoT Edge 设备以查找使用 Device Update 代理配置的设备。 你将看到作为模块运行的 Device Update 代理。 例如:

    设备更新模块名称关系图。

如何生成和运行设备更新代理

还可以生成和修改自己的客户 Device Update 代理。 按照说明通过源生成 Device Update 代理。

成功生成代理后,请运行该代理。 现在,请进行必要的更改,将代理合并到映像中。 查看如何修改 Device Update 代理以获取指导。

故障排除指南

如果遇到问题,请查看 Device Update for IoT Hub 故障排除指南,以帮助解决所有可能的问题并收集要提供给 Microsoft 的必要信息。

后续步骤

以下教程提供了 Device Update for IoT Hub 的简单演示: