

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 使用 IDT 用户界面运行 FreeRTOS 资格认证套件
<a name="device-tester-ui"></a>

从 IDT v4.3.0 开始，for AWS IoT Device Tester FreeRTOS (IDT-FreeRTOS) 包括一个基于 Web 的用户界面，使您可以与 IDT 命令行可执行文件和相关的配置文件进行交互。您可以使用 IDT-FreeRTOS UI 创建用于运行 IDT 测试的新配置，也可以修改现有配置。您也可以使用该 UI 调用 IDT 可执行文件并运行测试。

IDT-FreeRTOS UI 提供以下函数：
+ 简化适用于 IDT-FreeRTOS 测试的配置文件设置。
+ 简化使用 IDT-FreeRTOS 进行资格认证测试的过程。

有关使用命令行运行资格认证测试的信息，请参阅[首次测试微控制器主板](qual-steps.md)。

本节介绍使用 IDT-FreeRTOS UI 的先决条件，并介绍如何开始在 UI 中运行资格认证测试。

**Topics**
+ [设置运行 FreeRTOS 资格认证套件的先决条件](dev-tester-ui-prereqs.md)
+ [开始使用 IDT-FreeRTOS UI](dev-tester-ui-getting-started.md)

# 设置运行 FreeRTOS 资格认证套件的先决条件
<a name="dev-tester-ui-prereqs"></a>

本节介绍通过 AWS IoT Device Tester测试微控制器的先决条件。

**Topics**
+ [使用支持的 Web 浏览器](#idt-ui-supported-web-browser)
+ [下载 FreeRTOS](#ui-download-afr)
+ [下载适用于 FreeRTOS 的 IDT](#ui-download-dev-tester-afr)
+ [创建和配置 AWS 账户](#ui-config-aws-account)
+ [AWS IoT Device Tester 托管策略](#ui-managed-policy)

## 使用支持的 Web 浏览器
<a name="idt-ui-supported-web-browser"></a>

IDT-FreeRTOS UI 支持以下 Web 浏览器。


| 浏览器 | 版本 | 
| --- | --- | 
| Google Chrome | 最新的三个主要版本 | 
| Mozilla Firefox | 最新的三个主要版本 | 
| Microsoft Edge | 最新的三个主要版本 | 
| Apple Safari for macOS | 最新的三个主要版本 | 

为了获得更好的体验，我们建议您使用 Google Chrome 或 Mozilla Firefox。

**注意**  
IDT-FreeRTOS UI 不支持 Microsoft Internet Explorer。

## 下载 FreeRTOS
<a name="ui-download-afr"></a>

你可以使用以下命令[GitHub](https://github.com/aws/amazon-freertos)从中下载 FreeRTOS 的发行版：

```
git clone --branch <FREERTOS_RELEASE_VERSION> --recurse-submodules https://github.com/aws/amazon-freertos.git
cd amazon-freertos
git submodule update --checkout --init --recursive
```

其中 <FREERTOS\$1RELEASE\$1VERSION> 是与 [支持的 AWS IoT Device Tester 版本](dev-test-versions-afr.md) 中列出的 IDT 版本对应的 FreeRTOS 版本（例如 202007.00）。这样可以确保您拥有完整的源代码，包括子模块，并且使用适用于您的 FreeRTOS 版本的 IDT 的正确版本，反之亦然。

Windows 的路径长度限制为 260 个字符。FreeRTOS 的路径结构是多级深层结构，因此，如果您使用 Windows，请确保文件路径不超过 260 个字符的限制。例如，将 FreeRTOS 克隆到 `C:\FreeRTOS` 而不是 `C:\Users\username\programs\projects\myproj\FreeRTOS\`。

### LTS 资格认证的注意事项（使用 LTS 库的 FreeRTOS 的资格认证）
<a name="ui-lts-qualification-dev-tester-afr"></a>
+ 要在 AWS 合作伙伴设备目录中将您的微控制器指定为支持基于长期支持 (LTS) 的 FreeRTOS 版本，您必须提供清单文件。有关更多信息，请参阅《FreeRTOS 资格认证指南》中的 [FreeRTOS 资格认证检查清单](https://docs.aws.amazon.com/freertos/latest/qualificationguide/afq-checklist.html)。**
+ 为了验证您的微控制器是否支持基于 LTS 的 FreeRTOS 版本并使其有资格提交到 AWS 合作伙伴设备目录，您必须使用 ( AWS IoT Device Tester IDT) 和 FreeRTOS 资格认证 (FRQ) 测试套件版本 v1.4.x。
+ 对基于 LTS 的 FreeRTOS 版本的支持仅限于 202012.xx 版本的 FreeRTOS。

## 下载适用于 FreeRTOS 的 IDT
<a name="ui-download-dev-tester-afr"></a>

为了执行资格认证测试，FreeRTOS 的每个版本都有对应的适用于 FreeRTOS 的 IDT 版本。从 [支持的 AWS IoT Device Tester 版本](dev-test-versions-afr.md) 下载适用于 FreeRTOS 的 ITD 的相应版本。

将适用于 FreeRTOS 的 IDT 提取到文件系统上您具有读写权限的位置。由于 Microsoft Windows 对路径长度具有字符数限制，因此将适用于 FreeRTOS 的 IDT 提取到根目录，如 `C:\` 或 `D:\`。

**注意**  
我们建议您将 IDT 程序包提取到本地驱动器。允许多个用户从共享位置（例如 NFS 目录或 Windows 网络共享文件夹）运行 IDT 可能会导致系统无响应或数据损坏。

## 创建和配置 AWS 账户
<a name="ui-config-aws-account"></a>

### 注册获取 AWS 账户
<a name="sign-up-for-aws"></a>

如果您没有 AWS 账户，请完成以下步骤来创建一个。

**要注册 AWS 账户**

1. 打开[https://portal.aws.amazon.com/billing/注册。](https://portal.aws.amazon.com/billing/signup)

1. 按照屏幕上的说明操作。

   在注册时，将接到电话或收到短信，要求使用电话键盘输入一个验证码。

   当您注册时 AWS 账户，就会创建*AWS 账户根用户*一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践，请为用户分配管理访问权限，并且只使用根用户来执行[需要根用户访问权限的任务](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks)。

AWS 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 [https://aws.amazon.com/](https://aws.amazon.com/)并选择 “**我的账户”，查看您当前的账户活动并管理您的账户**。

### 创建具有管理访问权限的用户
<a name="create-an-admin"></a>

注册后，请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center，启用并创建管理用户，这样您就不会使用 root 用户执行日常任务。

**保护你的 AWS 账户根用户**

1.  选择 **Root 用户**并输入您的 AWS 账户 电子邮件地址，以账户所有者的身份登录。[AWS 管理控制台](https://console.aws.amazon.com/)在下一页上，输入您的密码。

   要获取使用根用户登录方面的帮助，请参阅《AWS 登录 用户指南》**中的 [Signing in as the root user](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial)。

1. 为您的根用户启用多重身份验证（MFA）。

   有关说明，请参阅 I [A *M* 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备（控制台）](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html)。

**创建具有管理访问权限的用户**

1. 启用 IAM Identity Center。

   有关说明，请参阅**《AWS IAM Identity Center 用户指南》中的[启用 AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html)。

1. 在 IAM Identity Center 中，为用户授予管理访问权限。

   有关使用 IAM Identity Center 目录 作为身份源的教程，请参阅《[用户*指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户*访问权限](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html)。

**以具有管理访问权限的用户身份登录**
+ 要使用您的 IAM Identity Center 用户身份登录，请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。

  有关使用 IAM Identity Center 用户[登录的帮助，请参阅*AWS 登录 用户指南*中的登录 AWS 访问门户](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html)。

**将访问权限分配给其他用户**

1. 在 IAM Identity Center 中，创建一个权限集，该权限集遵循应用最低权限的最佳做法。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Create a permission set](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html)。

1. 将用户分配到一个组，然后为该组分配单点登录访问权限。

   有关说明，请参阅《AWS IAM Identity Center 用户指南》**中的 [Add groups](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html)。

## AWS IoT Device Tester 托管策略
<a name="ui-managed-policy"></a>

为了支持设备测试程序运行和收集指标，`AWSIoTDeviceTesterForFreeRTOSFullAccess` 托管策略包含了以下权限：
+ `iot-device-tester:SupportedVersion`

  授予权限以获取 IDT 支持的 FreeRTOS 版本和测试套件版本的列表，以便它们可以从 AWS CLI获取。
+ `iot-device-tester:LatestIdt`

  授予获取可供下载的最新 AWS IoT Device Tester 版本的权限。
+ `iot-device-tester:CheckVersion`

  授予权限以检查产品、测试套件和 AWS IoT Device Tester 版本组合是否兼容。
+ `iot-device-tester:DownloadTestSuite`

  授 AWS IoT Device Tester 予下载测试套件的权限。
+ `iot-device-tester:SendMetrics`

  授予发布 AWS IoT Device Tester 使用率指标数据的权限。

# 开始使用 IDT-FreeRTOS UI
<a name="dev-tester-ui-getting-started"></a>

本节介绍如何使用 IDT-FreeRTOS UI 来创建或修改配置，然后介绍了如何运行测试。

**Topics**
+ [配置 AWS 凭证](#configure-aws-credentials)
+ [打开 IDT-FreeRTOS UI](#open-idt-ui)
+ [创建新的配置](#create-new-configuration)
+ [修改现有配置](#modify-existing-configuration)
+ [运行资格认证测试](#run-tests-from-ui)

## 配置 AWS 凭证
<a name="configure-aws-credentials"></a>

您必须为在中创建的 AWS 用户配置凭据[创建和配置 AWS 账户](dev-tester-ui-prereqs.md#ui-config-aws-account)。您可以采用以下两种方法之一来指定凭证：
+ 在凭证文件中
+ 作为环境变量

### 使用 AWS 凭证文件配置凭证
<a name="config-cred-file"></a>

IDT 使用与 AWS CLI相同的凭证文件。有关更多信息，请参阅[配置和凭证文件](https://docs.aws.amazon.com/cli/latest/userguide/cli-config-files.html)。

凭证文件的位置因您使用的操作系统而异：
+ macOS、Linux：`~/.aws/credentials`
+ Windows：`C:\Users\UserName\.aws\credentials`

按以下格式将您的 AWS 凭证添加到`credentials`文件中：

```
[default]
aws_access_key_id = <your_access_key_id>
aws_secret_access_key = <your_secret_access_key>
```

**注意**  
如果您不使用`default` AWS 配置文件，请务必在 IDT-FreeRTOS 用户界面中指定配置文件名称。有关配置文件的更多信息，请参阅[配置和凭证文件设置](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html)。

### 使用环境变量配置 AWS 凭证
<a name="config-env-vars"></a>

环境变量是由操作系统维护且由系统命令使用的变量。如果您关闭 SSH 会话，则不会保存。IDT-FreeRTOS UI 使用 `AWS_ACCESS_KEY_ID` 和 `AWS_SECRET_ACCESS_KEY` 环境变量来存储您的 AWS 凭证。

要在 Linux、macOS 或 Unix 上设置这些变量，请使用 **export**：

```
export AWS_ACCESS_KEY_ID=<your_access_key_id>
export AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

要在 Windows 上设置这些变量，请使用 **set**：

```
set AWS_ACCESS_KEY_ID=<your_access_key_id>
set AWS_SECRET_ACCESS_KEY=<your_secret_access_key>
```

## 打开 IDT-FreeRTOS UI
<a name="open-idt-ui"></a>

**打开 IDT-FreeRTOS UI**

1. 下载支持的 IDT-FreeRTOS 版本，并将下载的存档提取到文件系统上您有读写权限的位置。

1. 运行以下命令以导航到 IDT-FreeRTOS 安装目录：

   ```
   cd devicetester-extract-location/bin 
   ```

1. 运行以下命令以打开 IDT-FreeRTOS UI：

------
#### [ Linux ]

   ```
   .devicetestergui_linux_x86-64.exe
   ```

------
#### [ Windows ]

   ```
   ./devicetestergui_win_x64-64
   ```

------
#### [ macOS ]

   ```
   ./devicetestergui_mac_x86-64
   ```

**注意**  
在 Mac 上，要允许您的系统运行此 UI，请转到**系统首选项 -> 安全和隐私**。当您运行测试时，可能需要再执行三次。

------

   IDT-FreeRTOS UI 将在您的默认浏览器中打开。有关支持的浏览器的信息，请参阅[使用支持的 Web 浏览器](dev-tester-ui-prereqs.md#idt-ui-supported-web-browser)。

## 创建新的配置
<a name="create-new-configuration"></a>

如果您是首次使用的用户，则必须创建一个新配置来设置 IDT-FreeRTOS 运行测试所需的 JSON 配置文件。然后，您可以运行测试或修改已创建的配置。

有关 `config.json`、`device.json` 和 `userdata.json` 文件的示例，请参阅[首次测试微控制器主板](qual-steps.md)。有关仅用于运行低功耗蓝牙 (BLE) 测试的 `resource.json` 文件的示例，请参阅[运行低功耗蓝牙测试](afr-bridgekeeper-dt-bt.md)。

**创建新的配置**

1. 在 IDT-FreeRTOS UI 中，打开导航菜单，然后选择**创建新配置**。
**重要**  
在打开 UI 之前，您必须配置您的 AWS 凭据。如果您尚未配置凭证，请关闭 IDT-FreeRTOS UI 浏览器窗口，按照[配置 AWS 凭证](#configure-aws-credentials)中的步骤操作，然后重新打开 IDT-FreeRTOS UI。

1. 按照配置向导输入用于运行资格认证测试的 IDT 配置设置。该向导在 `devicetester-extract-location/config` 目录中的 JSON 配置文件中配置以下设置。
   + **AWS 设置** — IDT-FreeRTOS 在测试运行期间用于创建 AWS 资源 AWS 账户 的信息。这些设置在 `config.json` 文件中进行配置。
   + **FreeRTOS 存储库** – FreeRTOS 存储库和移植代码的绝对路径，以及您要执行的资格认证类型。这些设置在 `userdata.json` 文件中进行配置。

     在运行资格认证测试之前，必须为设备移植 FreeRTOS。有关更多信息，请参阅[《FreeRTOS 移植指南》](https://docs.aws.amazon.com/freertos/latest/portingguide/)。
   + **构建和刷写** – 适用于您的硬件的构建和刷写命令，允许 IDT 在您的主板上自动构建和刷写测试。这些设置在 `userdata.json` 文件中进行配置。
   + **设备** – 要测试的设备的设备池设置。这些设置在 `id` 和 `sku` 字段中配置，设备池的 `devices` 数据块位于 `device.json` 文件中。
   + **网络** – 用于测试您的设备是否支持网络通信的设置。这些设置在 `device.json` 文件的 `features` 数据块中，以及 `userdata.json` 文件的 `clientWifiConfig` 和 `testWifiConfig` 数据块中配置。
   + **Echo 服务器** – 用于安全套接字测试的 Echo 服务器配置设置。这些设置在 `userdata.json` 文件中进行配置。

     有关 Echo 服务器配置的更多信息，请参阅 [https://docs.aws.amazon.com/freertos/latest/portingguide/afr-echo-server.html](https://docs.aws.amazon.com/freertos/latest/portingguide/afr-echo-server.html)。
   + **CMake**—（可选）运行 CMake 生成功能测试的设置。只有当您使用 CMake 作为构建系统时，才需要此配置。这些设置在 `userdata.json` 文件中进行配置。
   + **BLE** – 运行低功耗蓝牙功能测试的设置。这些设置在 `device.json` 文件和 `resource.json` 文件的 `features` 数据块中配置。
   + **OTA** – 运行 OTA 功能测试的设置。这些设置在 `device.json` 文件和 `userdata.json` 文件的 `features` 数据块中配置。

1.  在**审核**页面上，验证您的配置信息。

审核配置完成后，要运行资格认证测试，请选择**运行测试**。

## 修改现有配置
<a name="modify-existing-configuration"></a>

如果您已经为 IDT 设置了配置文件，则可以使用 IDT-FreeRTOS UI 修改现有配置。确保您的现有配置文件在 `devicetester-extract-location/config` 目录中可用。

**修改新的配置**

1. 在 IDT-FreeRTOS UI 中，打开导航菜单，然后选择**编辑现有配置**。

   配置控制面板会显示有关现有配置设置的信息。如果配置不正确或不可用，则配置的状态为 `Error validating configuration`。

1. 要修改现有配置设置，请完成以下步骤：

   1. 选择配置设置的名称以打开其设置页面。

   1. 修改设置，然后选择**保存**，以便重新生成相应的配置文件。

修改配置完成后，请确认所有配置设置均可通过验证。如果每个配置设置的状态为 `Valid`，则可以使用此配置运行资格认证测试。

## 运行资格认证测试
<a name="run-tests-from-ui"></a>

为 IDT-FreeRTOS 创建配置后，即可开始运行资格认证测试。

**运行资格认证测试**

1. 验证配置。

1. 在导航菜单中，选择**运行测试**。

1. 要开始运行测试，请选择**开始测试**。

IDT-FreeRTOS 运行资格认证测试，并在 **Test Runner** 控制台中显示测试运行摘要和所有错误。测试运行完成后，您可以从以下位置查看测试结果和日志：
+ 测试结果位于 `devicetester-extract-location/results/execution-id` 目录中。
+ 测试日志位于 `devicetester-extract-location/results/execution-id/logs` 目录中。

有关测试结果和日志的更多信息，请参阅[查看适用于 FreeRTOS 的 IDT 的结果](view-results-frq.md)和[查看适用于 FreeRTOS 的 IDT 的日志](view-logs-frq.md)。