初始步骤 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

初始步骤

重要

此页面指向已弃用的 Amazon FreeRTOS 存储库。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南

要开始将 FreeRTOS 与 Amazon IoT 配合使用,您需要一个 Amazon 账户,即一个有权访问 Amazon IoT 和 FreeRTOS 云服务的用户。您还需要下载 FreeRTOS,并将主板的 FreeRTOS 演示项目配置为使用 Amazon IoT。以下各节将引导您了解这些要求。

注意

设置 Amazon 账户和权限

注册 Amazon Web Services 账户

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

注册 Amazon Web Services 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册 Amazon Web Services 账户时,系统将会创建一个 Amazon Web Services 账户根用户。根用户有权访问该账户中的所有 Amazon Web Services 和资源。作为安全最佳实践,请为管理用户分配管理访问权限,并且只使用根用户执行需要根用户访问权限的任务

注册过程完成后,Amazon 会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

保护 IAM 用户

注册 Amazon Web Services 账户 后,启用多重身份验证 (MFA) 保护您的管理用户。有关说明,请参阅《IAM 用户指南》中的为 IAM 用户启用虚拟 MFA 设备(控制台)

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

有关创建和保护 IAM 用户的更多信息,请参阅《IAM 用户指南》中的以下主题:

要提供访问权限,请为您的用户、组或角色添加权限:

将您的 MCU 主板注册到 Amazon IoT

您的主板必须已向 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 policy,您必须知道自己的 Amazon 区域和 Amazon 账号。

    要查找您的 Amazon 账号,请打开 Amazon 管理控制台,在右上角找到并展开账户名称下方的菜单,然后选择我的账户。您的账户 ID 显示在 Account Settings (账户设置) 下。

    要查找您的 Amazon 账户的 Amazon 区域,请使用 Amazon Command Line Interface。要安装 Amazon CLI,请按照 Amazon Command Line Interface 用户指南中的说明操作。在安装 Amazon CLI 后,打开命令提示符窗口并输入以下命令:

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

    输出应该如下所示:

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

    在此示例中,区域为 us-west-2

    注意

    我们建议使用 ATS 端点,如示例所示。

  2. 浏览至 Amazon IoT 控制台

  3. 在导航窗格中依次选择安全策略创建

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

  5. 添加语句部分中,选择高级模式。将以下 JSON 复制并粘贴到策略编辑器窗口中。将 aws-regionaws-account 替换为您的 Amazon 区域和帐户 ID。

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iot:Connect", "Resource":"arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Publish", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Subscribe", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" }, { "Effect": "Allow", "Action": "iot:Receive", "Resource": "arn:aws:iot:aws-region:aws-account-id:*" } ] }

    此策略授予以下权限:

    iot:Connect

    授予设备使用任意客户端 ID 连接到 Amazon IoT 消息代理的权限。

    iot:Publish

    授予设备在任何 MQTT 主题上发布 MQTT 消息的权限。

    iot:Subscribe

    授予设备订阅到任何 MQTT 主题筛选条件的权限。

    iot:Receive

    授予设备从 Amazon IoT 消息代理接收有关任何 MQTT 主题的消息的权限。

  6. 选择创建

为设备创建 IoT 事物、私有密钥和证书
  1. 浏览至 Amazon IoT 控制台

  2. 在导航窗格中,选择管理,然后选择事物

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

  4. 创建 Amazon IoT事物页面上,选择创建单个事物

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

  6. 添加事物的证书页面上的一键式创建证书下,选择创建证书

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

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

  9. 选择附加策略以将策略附加到证书,授予您的设备访问 Amazon IoT 操作的权限。

  10. 选择您刚刚创建的策略,然后选择注册事物

将主板注册到 Amazon IoT 后,您可以继续至 下载 FreeRTOS

下载 FreeRTOS

你可以从 FreeRTOS 存储库中下载 FreeRTOS。 GitHub

下载 FreeRTOS 后,您可以继续配置 FreeRTOS 演示

配置 FreeRTOS 演示

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

配置 Amazon IoT 终端节点

您需要向 FreeRTOS 提供 Amazon IoT 端点,以便主板上运行的应用程序能够将请求发送到正确的端点。

  1. 浏览至 Amazon IoT 控制台

  2. 在左侧导航窗格中,选择设置

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

  3. 在导航窗格中,选择管理,然后选择事物

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

  4. 打开 demos/include/aws_clientcredential.h

  5. 为以下常量指定值:

    • #define clientcredentialMQTT_BROKER_ENDPOINT "Your Amazon IoT endpoint";

    • #define clientcredentialIOT_THING_NAME "The Amazon IoT thing name of your board"

配置 Wi-Fi

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

  1. demos/include/aws_clientcredential.h.

  2. 为以下 #define 常量指定值:

    • #define clientcredentialWIFI_SSID "The SSID for your Wi-Fi network"

    • #define clientcredentialWIFI_PASSWORD "The password for your Wi-Fi network"

    • #define clientcredentialWIFI_SECURITY Wi-Fi 网络的安全类型

      有效安全类型为:

      • 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

  2. Certificate PEM file (证书 PEM 文件) 下,选择您从 Amazon IoT 控制台下载的 ID-certificate.pem.crt

  3. Private Key PEM file (私有密钥 PEM 文件) 下,选择您从 Amazon IoT 控制台下载的 ID-private.pem.key

  4. 选择 Generate and save aws_clientcredential_keys.h (生成并保存 aws_clientcredential_keys.h),然后将文件保存到 demos/include 中。这将覆盖目录中的现有文件。

    注意

    仅出于演示目的对证书和私有密钥进行了硬编码。生产级应用程序应将这些文件存储在安全位置。

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