

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

# 初始步骤
<a name="freertos-prereqs"></a>

**重要**  <a name="deprecation-message-general"></a>
此页面指向已弃用的 Amazon FreeRTOS 存储库。当您创建新项目时，我们建议[从此处开始](freertos-getting-started-modular.md)。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目，请参阅 [Amazon-FreeRTOS Github 存储库迁移指南](github-repo-migration.md)。

要开始使用 FreeRTOS，你必须拥有Amazon一个帐户、一个有权访问权限的用户Amazon IoT和 FreeR Amazon IoT TOS 云服务。您还必须下载 FreeRTOS 并配置开发板的 FreeRTOS 演示项目才能使用。Amazon IoT以下各节将引导您了解这些要求。

**注意**  
如果你使用的是 Espressif ESP32-DevKit C ESP-WROVER-KIT、或 ESP32-WROOM-32SE，请跳过这些步骤转到。[开始使用 Espressif ESP32-C 和 DevKit ESP-WROVER-KIT](getting_started_espressif.md)
如果你使用的是 Nordic n RF5284 0-DK，请跳过这些步骤并转到。[Nordic nRF52840-DK 入门](getting_started_nordic.md)

1. [设置您的Amazon账户和权限](#freertos-account-and-permissions) 

1. [注册您的 MCU 主板 Amazon IoT](#get-started-freertos-thing)

1. [下载 FreeRTOS](#freertos-download)

1. [配置 FreeRTOS 演示](#freertos-configure)

## 设置您的Amazon账户和权限
<a name="freertos-account-and-permissions"></a>

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

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

**报名参加 Amazon Web Services 账户**

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

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

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

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

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

### 保护 IAM 用户
<a name="secure-an-admin"></a>

注册后Amazon Web Services 账户，请开启多重身份验证 (MFA)，保护您的管理用户。有关说明，请参阅《IAM 用户指南》**中的 [为 IAM 用户启用虚拟 MFA 设备（控制台）](https://docs.amazonaws.cn/IAM/latest/UserGuide/id_credentials_mfa_enable_virtual.html#enable-virt-mfa-for-iam-user)。

要允许其他用户访问您的Amazon Web Services 账户资源，请创建 IAM 用户。为了保护您的 IAM 用户，请启用 MFA 并仅向 IAM 用户授予执行任务所需的权限。

有关创建和保护 IAM 用户的更多信息，请参阅《IAM 用户指南》中的以下主题：**
+ [在你的 IAM 用户中创建 Amazon Web Services 账户](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_create.html)
+ [适用于 Amazon 资源的访问权限管理](https://docs.amazonaws.cn/IAM/latest/UserGuide/access.html)
+ [基于 IAM 身份的策略示例](https://docs.amazonaws.cn/IAM/latest/UserGuide/access_policies_examples.html)

要提供访问权限，请为您的用户、组或角色添加权限：
+ 通过身份提供商在 IAM 中托管的用户：

  创建适用于身份联合验证的角色。按照《IAM 用户指南》**中[针对第三方身份提供商创建角色（联合身份验证）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-idp.html)的说明进行操作。
+ IAM 用户：
  + 创建您的用户可以担任的角色。按照《IAM 用户指南》**中[为 IAM 用户创建角色](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_roles_create_for-user.html)的说明进行操作。
  + （不推荐使用）将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》**中[向用户添加权限（控制台）](https://docs.amazonaws.cn//IAM/latest/UserGuide/id_users_change-permissions.html#users_change_permissions-add-console)中的说明进行操作。

## 注册您的 MCU 主板 Amazon IoT
<a name="get-started-freertos-thing"></a>

您的董事会必须注册Amazon IoT才能与Amazon云端通信。要注册您的董事会Amazon IoT，您必须：

**一项Amazon IoT政策**  
该Amazon IoT政策授予您的设备访问Amazon IoT资源的权限。它存储在Amazon云端。

**一Amazon IoT件事**  
一个Amazon IoT东西可以让你在中管理你的设备Amazon IoT。它存储在Amazon云端。

**私有密钥和 X.509 证书**  
私钥和证书允许您的设备进行身份验证Amazon IoT。

要注册主板，请按照以下过程操作。

**创建Amazon IoT策略**

1. 要创建 IAM 策略，您必须知道您的Amazon地区和Amazon账号。

   要查找您的Amazon账号，请打开[Amazon管理控制台](https://console.amazonaws.cn/)，找到并展开右上角账户名称下方的菜单，然后选择**我的**账户。您的账户 ID 显示在 **Account Settings (账户设置)** 下。

   要查找您Amazon账户所在Amazon的地区，请使用Amazon Command Line Interface。要安装Amazon CLI，请按照《[Amazon Command Line Interface用户指南》](https://docs.amazonaws.cn/cli/latest/userguide/cli-chap-install.html)中的说明进行操作。安装后Amazon CLI，打开命令提示符窗口并输入以下命令：

   ```
   aws iot describe-endpoint --endpoint-type=iot:Data-ATS
   ```

   输出应该如下所示：

   ```
   {
       "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com"
   }
   ```

   在此示例中，区域为 `us-west-2`。
**注意**  
我们建议使用 ATS 端点，如示例所示。

1. 浏览至 [Amazon IoT 控制台](https://console.amazonaws.cn/iotv2/)。

1. 在导航窗格中依次选择**安全**、**策略**和**创建**。

1. 输入用于标识您的策略的名称。

1. 在**添加语句**部分中，选择**高级模式**。将以下 JSON 复制并粘贴到策略编辑器窗口中。`aws-account`用您的Amazon地区`aws-region`和账户 ID 替换和。

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": "iot:Connect",
               "Resource": "arn:aws:iot:us-east-1:123456789012:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Publish",
               "Resource": "arn:aws:iot:us-east-1:123456789012:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Subscribe",
               "Resource": "arn:aws:iot:us-east-1:123456789012:*"
           },
           {
               "Effect": "Allow",
               "Action": "iot:Receive",
               "Resource": "arn:aws:iot:us-east-1:123456789012:*"
           }
       ]
   }
   ```

------

   此策略授予以下权限：  
**`iot:Connect`**  
向您的设备授予使用任何客户端 ID 连接Amazon IoT消息代理的权限。  
**`iot:Publish`**  
授予设备在任何 MQTT 主题上发布 MQTT 消息的权限。  
**`iot:Subscribe`**  
授予设备订阅到任何 MQTT 主题筛选条件的权限。  
**`iot:Receive`**  
授予设备从 Amazon IoT 消息代理接收有关任何 MQTT 主题的消息的权限。

1. 选择**创建**。

**为设备创建 IoT 事物、私有密钥和证书**

1. 浏览至 [Amazon IoT 控制台](https://console.amazonaws.cn/iotv2/)。

1. 在导航窗格中，选择**管理**，然后选择**事物**。

1. 如果您的账户中未注册任何 IoT 事物，此时将显示**您还没有任何事物**页面。如果您看到此页面，请选择**注册事物**。否则，选择**创建**。

1. 在**创建Amazon IoT事物**页面上，选择**创建单个事物**。

1. 在**将设备添加到事物注册表**页面上，输入您事物的名称，然后选择**下一步**。

1. 在**添加事物的证书**页面上的**一键式创建证书**下，选择**创建证书**。

1. 选择各项的**下载**链接来下载私有密钥和证书。

1. 选择**激活**来激活您的证书。必须先激活证书，然后才能使用它们 。

1. 选择 Att **ach a** policy，将策略附加到您的证书，该策略允许您的设备访问Amazon IoT操作。

1. 选择您刚刚创建的策略，然后选择**注册事物**。

在您的董事会注册后Amazon IoT，您可以继续[下载 FreeRTOS](#freertos-download)。

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

[你可以从 FreeRTOS 存储库中下载 FreeRTOS。 GitHub ](https://github.com/freertos/freertos)

下载 FreeRTOS 后，您可以继续[配置 FreeRTOS 演示](#freertos-configure)。

## 配置 FreeRTOS 演示
<a name="freertos-configure"></a>

您需要在 FreeRTOS 目录中编辑一些配置文件，然后才能在主板上编译和运行演示。

**配置您的Amazon IoT终端节点**

您必须向FreeRTOS提供终端节点，以便在Amazon IoT您的主板上运行的应用程序可以向正确的端点发送请求。

1. 浏览至 [Amazon IoT 控制台](https://console.amazonaws.cn/iotv2/)。

1. 在左侧导航窗格中，选择**设置**。

   您的Amazon IoT终端节点显示在**设备数据端点**中。它应该类似于 `1234567890123-ats.iot.us-east-1.amazonaws.com`。记下此终端节点。

1. 在导航窗格中，选择**管理**，然后选择**事物**。

   您的设备应该有一个Amazon IoT事物名称。记下此名称。

1. 打开 `demos/include/aws_clientcredential.h`。

1. 为以下常量指定值：
   + `#define clientcredentialMQTT_BROKER_ENDPOINT "YourAmazon IoTendpoint";`
   + `#define clientcredentialIOT_THING_NAME "TheAmazon IoTthing name of your board"`

**配置 Wi-Fi**

如果您的主板通过 Wi-Fi 连接到 Internet，则必须向 FreeRTOS 提供 Wi-Fi 凭证才能连接到网络。如果主板不支持 Wi-Fi，您可以跳过这些步骤。

1. `demos/include/aws_clientcredential.h`.

1. 为以下 `#define` 常量指定值：
   + `#define clientcredentialWIFI_SSID "The SSID for your Wi-Fi network"`
   + `#define clientcredentialWIFI_PASSWORD "The password for your Wi-Fi network"`
   + `#define clientcredentialWIFI_SECURITY` *The security type of your Wi-Fi network*

     有效安全类型为：
     + `eWiFiSecurityOpen`（开放，不安全）
     + `eWiFiSecurityWEP`（WEP 安全性）
     + `eWiFiSecurityWPA`（WPA 安全性）
     + `eWiFiSecurityWPA2`（WPA2 安全）

**格式化您的Amazon IoT凭证**

FreeRTOS 必须Amazon IoT将证书和私钥与您注册的内容及其权限策略相关联，才能代表您的设备成功Amazon IoT与之通信。
**注意**  
要配置您的Amazon IoT凭据，您必须拥有注册设备时从Amazon IoT控制台下载的私钥和证书。将设备注册为Amazon IoT事物后，您可以从Amazon IoT控制台检索设备证书，但无法检索私钥。

FreeRTOS 是 C 语言项目，证书和私有密钥必须经过专门格式化才能添加到项目中。

1. 在浏览器窗口中，打开 `tools/certificate_configuration/CertificateConfigurator.html`。

1. 在 **Certificate PEM file (证书 PEM 文件)** 下，选择您从 Amazon IoT 控制台下载的 `ID-certificate.pem.crt`。

1. 在 **Private Key PEM file (私有密钥 PEM 文件)** 下，选择您从 Amazon IoT 控制台下载的 `ID-private.pem.key`。

1. 选择 **Generate and save aws\$1clientcredential\$1keys.h (生成并保存 aws\$1clientcredential\$1keys.h)**，然后将文件保存到 `demos/include` 中。这将覆盖目录中的现有文件。
**注意**  
仅出于演示目的对证书和私有密钥进行了硬编码。生产级应用程序应将这些文件存储在安全位置。

完成 FreeRTOS 配置后，您可以继续参阅适用于您主板的入门指南，以便设置平台的硬件及其软件开发环境，然后在主板上编译并运行演示。有关主板特定的说明，请参阅[主板特定的入门指南](getting-started-guides.md)。本入门教程中使用的演示应用程序为 coreMQTT 双向身份验证演示，位于 `demos/coreMQTT/mqtt_demo_mutual_auth.c` 中。