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

配置 FreeRTOS 演示

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

如果您要执行 FreeRTOS 控制台上的 Quick Connect (快速连接) 工作流,请遵循控制台上该工作流中的配置说明,并忽略以下程序。

配置 AWS IoT 终端节点

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

  1. 浏览至 AWS IoT 控制台

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

    您的 AWS IoT 终端节点将显示在终端节点中。它应该类似于 1234567890123-ats.iot.us-east-1.amazonaws.com。记下此终端节点。

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

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

  4. 打开 /demos/include/aws_clientcredential.h

  5. 为以下常量指定值:

    • #define clientcredentialMQTT_BROKER_ENDPOINT "Your AWS IoT endpoint";

    • #define clientcredentialIOT_THING_NAME "The AWS 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 安全性)

对 AWS IoT 证书进行格式化

FreeRTOS 需要与您注册的事物及其权限策略关联的 AWS IoT 证书和私有密钥才能代表您的设备与 AWS IoT 成功通信。

注意

要配置 AWS IoT 凭证,您需要您在注册设备时从 AWS IoT 控制台下载的私有密钥和证书。在将设备注册为 AWS IoT 事物之后,可从 AWS IoT 控制台检索设备证书,但无法检索私有密钥。

FreeRTOS 是 C 语言项目,证书和私有密钥必须进行特别的格式设置才能添加到该项目中。

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

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

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

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

    注意

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

配置 FreeRTOS 后,您可以继续至主板的入门指南,以编译和运行 FreeRTOS 演示。本入门教程中使用的演示应用程序为 Hello World MQTT 演示,位于 demos/mqtt/aws_hello_world.c