制造过程准备

制造过程包括工厂车间任务和云配置任务。 必须做好准备,以确保这些任务能够不间断地完成。

以下准备步骤将有助于确保制造过程顺利运行:

  • 设置设备和安装电脑软件
  • 开发用于功能测试的应用程序
  • 验证应用程序和脚本是否正常工作
  • 准备操作系统的更新
  • 记录 ID 和其他信息
  • 获取生产签名的映像

重要

一些准备步骤涉及 Azure CLI。 需要一台具有 Internet 连接的电脑和 Azure Sphere SDK 才能完成这些步骤。 有关 SDK 安装说明,请参阅 安装适用于 Windows 的 Azure Sphere SDK安装适用于 Linux 的 Azure Sphere SDK

设置设备和安装电脑软件

工厂车间任务和云配置任务都需要电脑。 其他必要的设备取决于正在执行的任务集,如本部分所述。 大多数制造任务还需要一些软件工具,这些工具必须安装在用于这些任务的电脑上。

用于工厂车间任务的设备

工厂车间任务需要以下设备:

  • 工厂车间电脑。 每个 Azure Sphere 设备都必须连接到工厂车间电脑。 此电脑必须运行Windows 11、Windows 10周年更新 (或更高版本) 或 Linux。

    Linux 仅支持一个附加设备。 如果要使用一台电脑同时与多个 Azure Sphere 设备通信,请执行下列操作之一:

    • 连接到运行 Windows 且每个要连接的设备都有一个 USB 端口的电脑。

    • 连接到运行一台 Linux 虚拟机的电脑, (VM) 每个要连接的设备。 用于创建 VM 的虚拟化软件必须支持硬件级 USB 外围设备重定向,以便每个 Azure Sphere FTDI 编程接口可以路由到单独的专用 Linux VM。

    可以同时将尽可能多的 Azure Sphere 设备连接到电脑,因为电脑的 USB 子系统将支持。 电脑软件工具不会限制一次可连接的设备数。

  • 芯片到电脑接口。 电脑软件工具需要此接口,用于电脑与附加设备之间的 USB-UART 通信。

    与 Azure Sphere 的电脑接口

    选择如何实现此接口:

    • 设计在制造期间连接到电脑的接口板。

    • 设计内置于每个连接的设备的接口。 例如,MT3620 参考板设计 (RDB) 包括这样的接口。

    有关芯片到 PC 接口的设计要求的详细信息,请参阅 MCU 编程和调试 接口。

  • Wi-Fi 接入点。 设备必须能够连接到 Wi-Fi,以验证客户应用程序是否能够通过 Wi-Fi 进行通信。 Wi-Fi 连接不得具有 Internet 访问权限,因为如果芯片连接到启用了 Internet 的接入点,则可能会发生无线更新。

  • 外部测试设备 (可选) 。 对于功能测试,你可能希望通过自己设计的合适电路将 MT3620 (ISU0、ISU1、ISU2 或 ISU3 上的外围 UART) 连接到外部测试设备。 如果在单独的板上创建了芯片到电脑接口(如第二个项目符号项目中所述),则可能需要将此线路添加到该开发板。

  • 射频 (RF) 测试设备。 仅当在工厂车间任务中包含 RF 测试和校准时,才需要此设备。 有关详细信息,请参阅 用于 RF 测试和校准的设备和软件

用于云配置任务的设备

云配置任务需要以下设备:

  • 用于云配置的电脑。 Azure Sphere 设备无需连接到云配置电脑。 此电脑必须运行Windows 11、Windows 10周年更新 (或更高版本) 或 Linux。

  • Internet 连接。 用于云配置的电脑必须连接到 Internet。

用于 RF 测试和校准的设备和软件

产品的要求和设计决定了是否必须在工厂车间任务中包含 RF 测试和校准。 如果你的产品需要 Wi-Fi 并且它包含以下任一项,则必须对每台设备执行 RF 测试和校准:

  • 芯片缩减设计

  • 尚未通过 RF 认证的模块 - 如果有任何疑问,检查供应商。

RF 测试和校准需要以下设备和电脑软件:

  • RF 测试设备。 此设备将与 RF 工具包一起使用,下一个项目符号项对此进行了介绍。

    RF 工具 C API 库与测试设备之间的集成由你负责。 目前,Microsoft 已与 LitePoint 合作,提供将 Azure Sphere RF 测试库与 LitePoint 设备集成的统包解决方案。

    使用 Litepoint 进行 RF 测试

  • RF 工具包。 此电脑软件包括实用工具和用于测试和校准 RF 操作的 C API 库。 使用 C API 库,可以创建自定义应用程序进行 RF 测试和校准。

    请联系 Microsoft 代表获取此包。 将其安装在工厂车间电脑上。 如果你的测试机构需要使用该工具来认证你的设备,请在与 Microsoft 代表共享软件之前与他们联系。

电脑软件工具

各种工厂车间任务和云配置任务可能使用以下电脑软件工具。 必须在用于这些任务的电脑上安装这些软件工具。

  • Azure Sphere SDK。 SDK 包括用于生成和管理应用程序和部署的 Azure CLI 和其他工具。 CLI 命令可以执行一些操作,例如将软件加载到附加设备、声明设备以及检索有关附加设备的详细信息。 工厂车间和云配置任务都需要 SDK。

    安装 适用于 WindowsLinux 的 SDK,具体取决于电脑正在运行的内容。

  • 制造示例。 制造示例支持工厂车间和云配置任务,包括:

    • 用于设备 Rest API 的 Python 和 C# 客户端库,用于实现电脑到设备的直接通信,以实现优化的制造操作。 PyPI 和 NuGet 中也提供了这些选项。
    • 一组制造工具,这些工具是 Python 脚本,可自动执行制造的各个阶段,包括设备就绪情况检查、多板恢复和多板 OTA 配置。
  • RF 工具包。 仅当在工厂车间任务中包含 RF 测试和校准时,才需要此包。 有关详细信息,请参阅 用于 RF 测试和校准的设备和软件

开发用于功能测试的应用程序

功能测试验证产品是否正常运行。 应运行的特定测试取决于单个硬件。 功能测试必须包含在工厂车间任务中。

可以将测试组织为单个应用程序或一系列应用程序。 Azure Sphere 应用程序概述Azure Sphere 示例和 Azure Sphere SDK 中的模板提供有关应用程序设计的信息。 无论你选择哪种设计,功能测试应用程序都需要进行生产签名,如 获取生产签名的映像 准备步骤中所述,然后作为工厂车间流程的一部分进行部署。

若要报告错误、记录数据或序列测试,某些功能测试需要与正在测试的芯片通信。 若要启用此类通信,可以使用 MT3620 (ISU0、ISU1、ISU2 或 ISU3) 上的外围 UART。 通过自己设计的合适电路,将这些 UART 连接到工厂车间电脑或外部测试设备。 如果创建了一个接口板来支持芯片到电脑通信,则可能需要将此线路添加到该板。

验证应用程序和脚本是否正常工作

应全面测试成品应用程序、测试应用程序和测试脚本。 每当更新 Azure Sphere SDK、Azure Sphere OS 或软件时,都建议重新测试。

遵循以下准则:

  • 验证测试应用程序和成品应用程序是否可以安装、运行和删除。

  • 验证测试脚本、测试应用程序和成品应用程序是否适用于最新版本的 Azure Sphere SDK 和 Azure Sphere OS。

准备操作系统的更新

当旁加载应用程序具有更新(仅存在于较新版本的 OS 中)或 Microsoft 发布带有安全更新的操作系统时,可能需要在制造期间将更新的 Azure Sphere OS 版本加载到设备上。

若要在制造期间准备 Azure Sphere OS 的更新,请执行以下操作:

  • 创建将设备更新到新 OS 版本的计划。 可以在自己的生产线中更新设备,也可以通过与硬件供应商协调来更新设备。

  • 验证工厂车间和云配置电脑上的 Azure Sphere SDK 版本是否适用于新版本的 OS。 如有必要,请更新 SDK,如 安装适用于 Windows 的 Azure Sphere SDK安装适用于 Linux 的 Azure Sphere SDK 中所述。

  • 如果在工厂车间任务中包含 RF 测试和校准,请确保 RF 测试和校准过程适用于新的 OS 版本。 请参阅 跨 OS 版本的 RF 工具兼容性

  • 为基于 MT3620 的硬件获取最新可用的 Azure Sphere OS 恢复文件,并将文件存储在工厂车间电脑上。 若要获取这些文件,请接受 许可条款 ,然后 下载文件

记录 ID 和其他信息

制造任务可能需要指定映像、组件、产品或设备组。 用于标识这些项目的 ID 和名称的记录应创建并存储在相应的电脑上,供以后在工厂车间和云配置任务期间使用。 本部分介绍如何获取每个项目的标识信息。

映像 ID 和组件 ID

每个应用程序都有一个组件 ID 和一个映像 ID。 在 获取生产签名 映像准备任务期间记录映像 ID 和组件 ID。 映像 ID 和组件 ID 都显示在命令的 azsphere image-package show --image-package <path-to-imagepackage> 输出中,该命令用于该准备任务。

产品名称和设备组

创建产品和设备组时,请记录它们的名称。 必须将每个 Azure Sphere 设备分配到一个产品和一个设备组,作为云配置任务的一部分。

制造商应为每个型号的连接设备(如咖啡机或咖啡机)创建一个产品。 每个连接的设备都有一个产品,但单个产品可以与许多设备相关联。 创建产品时,会在产品中创建默认设备组。 可以使用默认设备组或创建自己的设备组。

若要创建产品,请使用 az sphere product create 命令,如下所示。 分别将 和 <product description> 替换为<product-name>适合你的产品的名称和说明。

az sphere product create --name <product-name> --description <product description>

对于云配置,可以使用 生产 默认设备组或创建自己的设备组。 若要创建自己的设备组,请使用 az sphere device-group create 命令,如下所示。 将 替换为 <device-group-name> 所选的名称;将 替换为 <product-name> 要在其中创建设备组的产品的名称。

az sphere device-group create --name <device-group-name> --product <product-name>

获取生产签名的映像

将映像上传到 Azure Sphere 安全服务 (AS3) 它会对映像进行签名,以便以受信任的方式将其分发到设备。 生产环境中部署的设备仅接受生产签名的映像,作为 Azure Sphere 安全承诺的一部分。 在制造期间,可能需要将生产签名的映像加载到设备上。 若要避免在工厂车间过程中需要 Internet 连接,请创建一次生产签名映像,从 AS3 下载这些映像,然后将其保存在工厂车间电脑上,以便在生产期间旁加载。

只能在工厂车间过程中使用的应用程序必须显式标识为 临时 映像。 这可确保在测试过程结束时可以删除这些应用程序。 不要对制造后保留在设备上的应用程序使用临时映像;否则,无线更新过程将无法正常运行。

获取生产签名映像的步骤如下:

  1. 将图像上传到 AS3。 使用 az sphere image add 命令,如下所示,将 <path-to-image-package> 替换为包含软件的映像包的路径和名称。 包括 参数 --temporary 以将图像标记为临时;否则,请省略它。

    az sphere image add --image <path-to-image-package> --temporary
    
  2. 保存 az sphere image add 命令在步骤 1 的输出中显示的图像 ID 和组件 ID;稍后,对于一些工厂车间任务和云配置任务,你将需要这些。 下一步还需要映像 ID。

  3. 下载生产签名的映像。 使用 az sphere image download 命令,将 <image-id> 替换为要下载的图像的 ID,并将 <file-path> 替换为用于保存下载映像的路径和文件名。

    az sphere image download --image <image-id> --destination <file-path>
    

重要

如果设备可能声明到不同于获取生产签名映像的步骤中使用的目录,则必须在上传) 图像文件之前保留精确的原始 (,以便你可以将它们上传到设备声明到的实际目录中。 云配置任务中更详细地介绍了此要求。

获取更新的受信任密钥存储

在某些情况下,你可能具有较新的生产签名映像,需要将映像应用于较旧的 OS。 更新应用程序映像(例如,修复 bug)时,可能会发生这种情况。

但是,这可能会导致问题。 OS 包含一个“受信任的密钥存储”,该存储使它信任用于对生产签名映像进行签名的一组密钥。 如果生产签名的映像比 OS 更新,并且同时 AS3 更新了其映像签名密钥,则 OS 可能不信任用于对映像进行签名的密钥。 可以按照 工厂车间任务确定此问题是否影响 OS 和生产签名映像的特定组合。

可以通过更新生产中使用的 OS 来解决此问题,请参阅 准备更新 OS。 但是,如果出于某种原因不想更新 OS,则可以改用较旧的 OS,并仅更新受信任的密钥存储。

为此,请接受 许可条款 ,然后 下载恢复映像,并从此 zip 文件仅提取“trusted-keystore.bin”文件。 工厂车间任务介绍如何使用此“trusted-keystore.bin”文件来仅更新受信任的密钥存储。