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

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

初始步骤

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

注意

设置Amazon账户和权限

要创建 Amazon 账户,请参阅创建和激活 Amazon 账户

将 IAM 用户添加到您的Amazon帐户,请参阅IAM 用户指南. 向您的 IAM 用户账户授予访问权限Amazon IoT和 FreeRTOS,请将以下 IAM 策略附加到您的 IAM 用户账户:

  • AmazonFreeRTOSFullAccess

  • AWSIoTFullAccess

将 AmazonFreeRTOSFullAccess 策略附加到您的 IAM 用户

  1. 浏览到IAM 控制台,然后从导航窗格中选择和。用户.

  2. 在搜索文本框中输入您的用户名,然后从列表中选择该名称。

  3. 选择 Add permissions (添加权限)

  4. 选择直接附加现有策略

  5. 在搜索框中,输入AmazonFreeRTOSFullAccess,从列表中选择它,然后选择和。后续:审核

  6. 选择 Add permissions (添加权限)

将 AWSIoTFullAccess 策略附加到您的 IAM 用户

  1. 浏览到IAM 控制台,然后从导航窗格中选择和。用户.

  2. 在搜索文本框中输入您的用户名,然后从列表中选择该名称。

  3. 选择 Add permissions (添加权限)

  4. 选择直接附加现有策略

  5. 在搜索框中,输入AWSIoTFullAccess,从列表中选择它,然后选择和。后续:审核

  6. 选择 Add permissions (添加权限)

有关 IAM 账户和用户账户的更多信息,请参阅。IAM 用户指南.

有关策略的更多信息,请参阅。IAM 权限和策略.

设置Amazon账户和权限,您可以继续至将您的 MCU 主板注册到 Amazon IoT快速 Connect工作流程中的FreeRTOS 控制台.

将您的 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 策略,您必须知道您的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.iot.us-west-2.amazonaws.com" }

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

  2. 浏览至 Amazon IoT 控制台

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

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

  5. 添加语句部分中,选择高级模式。将以下 JSON 复制并粘贴到策略编辑器窗口中。Replaceaws-区域Amazon 账户使用您的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 事物,此时将显示您还没有任何事物页面。如果您看到此页面,请选择注册事物。否则,选择 Create

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

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

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

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

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

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

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

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

下载 FreeRTOS

您可以从 FreeRTOS reerTOS 控制台或FreeRTOS GitHub 存储库.

注意

如果要开始使用 Cypress CYW954907AEVAL1F 或 CYW943907AEVAL1F 开发工具包,则必须从 GitHub 下载 FreeRTOS。有关说明,请参阅 README.md 文件。当前不可从 FreeRTOS 控制台使用这些主板的 FreeRTOS 配置。

从 FreeRTOS 投资者控制台下载 FreeRTOS 投资

  1. 登录到FreeRTOS 控制台.

  2. Predefined configurations (预定义配置) 下,找到 Connect to Amazon IoT- Platform (连接到 IoT - <平台>),然后选择 Download (下载)

  3. 将下载的文件解压缩到目录,然后复制目录路径。

    重要
    • 在本主题中,FreeRTOS 下载目录的路径称为freertos.

    • freertos 路径中的空格字符可能会导致构建失败。克隆或复制存储库时,请确保您创建的路径不包含空格字符。

    • Microsoft Windows 上的文件路径最大长度为 260 个字符。长 FreeRTOS 下载目录路径可能会导致构建操作失败。

    • 由于源代码可能包含符号链接,因此如果您使用 Windows 解压缩档案,则可能必须:

      通过这种方式,Windows 可以在提取归档文件时正确创建符号链接。否则,符号链接将作为普通文件写入,这些文件包含符号链接的路径为文本或为空。有关更多信息,请参阅博客条目。在 Windows 10 中的符号链接!.

      如果您在 Windows 下使用 Git,则必须启用开发人员模式,或者您必须:

      • Setcore.symlinks设置为 true,并使用以下命令:

        git config --global core.symlinks true
      • 无论何时使用写入系统的 git 命令,都可以使用提升为管理员的控制台(例如git pullgit clone, 和git submodule update --init --recursive)。

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

配置 FreeRTOS 演示

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

配置 Amazon IoT 终端节点

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

  1. 浏览至 Amazon IoT 控制台

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

    您的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.