Prerequisites - FreeRTOS
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

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

Prerequisites

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

下载 FreeRTOS

您可以使用以下命令从 FreeRTOSGitHub 下载 的版本:

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_RELEASE_VERSION> 是 FreeRTOS 的版本(例如,202007.00),对应于 支持的适用于 AWS IoT Device Tester 的 FreeRTOS 版本 中列出的 IDT 版本。这可确保您拥有完整的源代码 (包括子模块),并使用正确的 IDT 版本作为 FreeRTOS 版本,反之亦然。

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

LTS 资格认证(使用 LTS 库的 FreeRTOS 资格认证)

  • 要使您的微控制器指定为支持 AWS Partner Device Catalog 中 FreeRTOS 的长期支持 (LTS) 版本,您必须提供清单文件。有关更多信息,请参阅 资格认证指南FreeRTOS 中的 资格认证清单FreeRTOS。

  • 要验证您的微控制器是否支持 LTS 版本的 FreeRTOS 并限定它提交到 AWS 合作伙伴设备目录,您必须为 AWS IoT Device Tester v4.0.0 使用 FreeRTOS (IDT)。

  • 目前,对基于 LTS 的 FreeRTOS 版本的支持仅限于 202012.00 版本的 FreeRTOS。

下载适用于 的 IDTFreeRTOS

FreeRTOS 的每个版本都有对应的适用于 FreeRTOS 的 IDT 版本用于执行资格测试。从 FreeRTOS 下载适用于 支持的适用于 AWS IoT Device Tester 的 FreeRTOS 版本. 的 ITD 的相应版本。

将适用于 FreeRTOS 的 IDT 提取到文件系统中您具有读取和写入权限的位置。由于 Microsoft Windows 对于路径长度具有字符限制,因此将适用于 FreeRTOS 的 IDT 解压缩到根目录,如 C:\D:\.

注意

我们不建议多个用户从共享位置(如 NFS 目录或 Windows 网络共享文件夹)运行 IDT。这可能会导致崩溃或数据损坏。我们建议您将 IDT 包解压缩到本地驱动器。

创建和配置 AWS 账户

按照以下步骤操作,创建和配置一个 AWS 账户、一个 IAM 用户以及一个 IAM 策略,该策略向适用于 FreeRTOS 的 IDT 授予在运行测试时代表您访问资源的权限。

  1. 如果您已有 AWS 账户,请跳到下一步。创建 AWS 账户.

  2. 创建一个 IAM 策略,向适用于 FreeRTOS 的 IDT 授予 IAM 权限以创建具有特定权限的服务角色。

    1. 登录到 IAM 控制台.

    2. 在导航窗格中,选择 Policies.

    3. 在内容窗格中,选择创建策略.

    4. 选择 JSON 选项卡,然后将以下权限复制到 JSON 文本框中。

      重要

      以下策略模板授予创建角色、创建策略和将策略附加到角色的 IDT 权限。适用于 FreeRTOS 的 IDT 将这些权限用于创建角色的测试。尽管策略模板不向用户提供管理员权限,但这些权限可能用于获得对您的 AWS 账户的管理员访问权限。

      Most Regions
      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:DetachRolePolicy", "iam:DeleteRolePolicy", "iam:DeletePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::*:policy/idt*", "arn:aws:iam::*:role/idt*" ] } ] }
      北京和宁夏区域

      可以在 中使用以下策略模板。北京和宁夏区域.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:DetachRolePolicy", "iam:DeleteRolePolicy", "iam:DeletePolicy", "iam:CreateRole", "iam:DeleteRole", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws-cn:iam::*:policy/idt*", "arn:aws-cn:iam::*:role/idt*" ] } ] }
    5. 完成后,选择 Review policy (查看策略).

    6. Review (审核) 页面上,输入 IDTFreeRTOSIAMPermissions 作为策略名称。查看策略摘要以验证策略授予的权限。

    7. 选择 Create policy.

  3. 创建具有运行 IAM 所需权限的 AWS IoT Device Tester. 用户。

    1. 按照创建 IAM 用户(控制台).中的步骤 1 到 5 操作。

    2. 将必要的权限附加到您的 IAM 用户:

      1. Set permissions (设置权限) 页面上,选择 Attach existing policies to user directly (直接将现有策略附加到用户).

      2. 搜索您在步骤 2 中创建的 IDTFreeRTOSIAMPermissions 策略。选中复选框。

      3. 搜索 AWSIoTDeviceTesterForFreeRTOSFullAccess 策略。选中复选框。

    3. 选择下一步: 标签.

    4. 选择 Next: Review (下一步: 审核) 以查看您的选择的摘要。

    5. 选择 Create user.

    6. 要查看用户的访问密钥(访问密钥 IDs 和秘密访问密钥),请选择每个密码和访问密钥旁边的 Show (显示),然后选择 Download.csv (下载 .csv)。将该文件保存到安全的位置。

AWS IoT Device Tester 管理的策略

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 使用情况指标数据。

(可选) 安装 AWS Command Line Interface

您可能偏好使用 AWS CLI 执行一些操作。如果您没有安装 AWS CLI,请按照安装 AWS CLI. 中的说明执行操作。

通过从命令行运行 aws configure,为要使用的 AWS 区域配置 CLI。有关支持适用于 FreeRTOS 的 IDT 的 AWS 区域的信息,请参阅 AWS 区域和终端节点. 有关 aws configure 的更多信息,请参阅使用 aws configure 快速配置