本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
初始步骤
重要
此页面指向已弃用的 Amazon FreeRTOS 存储库。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-FreeRTOS 存储库的 FreeRTOS 项目,请参阅 Amazon-FreeRTOS Github 存储库迁移指南。
要开始使用 FreeRTOS,你必须拥有AWS一个帐户、一个有权访问权限的用户AWS IoT和 FreeR AWS IoT TOS 云服务。您还必须下载 FreeRTOS 并配置开发板的 FreeRTOS 演示项目才能使用。AWS IoT以下各节将引导您了解这些要求。
注意
-
如果你使用的是 Espressif ESP32-DevKit C ESP-WROVER-KIT、或 ESP32-WROOM-32SE,请跳过这些步骤转到。开始使用 Espressif ESP32-C 和 DevKit ESP-WROVER-KIT
-
如果你使用的是 Nordic n RF5284 0-DK,请跳过这些步骤并转到。Nordic nRF52840-DK 入门
设置您的AWS账户和权限
注册获取 AWS 账户
如果您没有AWS 账户,请完成以下步骤来创建一个。
报名参加 AWS 账户
打开https://portal.aws.amazon.com/billing/注册。
按照屏幕上的说明操作。
在注册时,将接到电话或收到短信,要求使用电话键盘输入一个验证码。
当您注册时AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为最佳安全实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
AWS注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/
创建具有管理访问权限的用户
注册后,请保护您的安全 AWS 账户 AWS 账户根用户AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。
保护你的 AWS 账户根用户
-
选择 Root 用户并输入您的AWS 账户电子邮件地址,以账户所有者的身份登录。AWS 管理控制台
在下一页上,输入您的密码。 要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的 Signing in as the root user。
-
为您的根用户启用多重身份验证(MFA)。
有关说明,请参阅 I A M 用户指南中的为AWS 账户根用户启用虚拟 MFA 设备(控制台)。
创建具有管理访问权限的用户
-
启用 IAM Identity Center。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Enabling。AWS IAM Identity Center
-
在 IAM Identity Center 中,为用户授予管理访问权限。
有关使用IAM Identity Center 目录作为身份源的教程,请参阅《用户指南》IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center用户访问权限。
以具有管理访问权限的用户身份登录
-
要使用您的 IAM Identity Center 用户身份登录,请使用您在创建 IAM Identity Center 用户时发送到您的电子邮件地址的登录 URL。
有关使用 IAM Identity Center 用户登录的帮助,请参阅AWS 登录用户指南中的登录AWS访问门户。
将访问权限分配给其他用户
-
在 IAM Identity Center 中,创建一个权限集,该权限集遵循应用最低权限的最佳做法。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Create a permission set。
-
将用户分配到一个组,然后为该组分配单点登录访问权限。
有关说明,请参阅《AWS IAM Identity Center 用户指南》中的 Add groups。
要提供访问权限,请为您的用户、组或角色添加权限:
-
中的用户和群组AWS IAM Identity Center:
创建权限集合。按照《AWS IAM Identity Center 用户指南》中创建权限集的说明进行操作。
-
通过身份提供商在 IAM 中托管的用户:
创建适用于身份联合验证的角色。按照《IAM 用户指南》中针对第三方身份提供商创建角色(联合身份验证)的说明进行操作。
-
IAM 用户:
-
创建您的用户可以担任的角色。按照《IAM 用户指南》中为 IAM 用户创建角色的说明进行操作。
-
(不推荐使用)将策略直接附加到用户或将用户添加到用户组。按照《IAM 用户指南》中向用户添加权限(控制台)中的说明进行操作。
-
注册您的 MCU 主板 AWS IoT
您的董事会必须注册AWS IoT才能与AWS云端通信。要注册您的董事会AWS IoT,您必须:
- 一项AWS IoT政策
-
该AWS IoT政策授予您的设备访问AWS IoT资源的权限。它存储在AWS云端。
- 一AWS IoT件事
-
一个AWS IoT东西可以让你在中管理你的设备AWS IoT。它存储在AWS云端。
- 私有密钥和 X.509 证书
-
私钥和证书允许您的设备进行身份验证AWS IoT。
要注册主板,请按照以下过程操作。
创建AWS IoT策略
-
要创建 IAM 策略,您必须知道您的AWS地区和AWS账号。
要查找您的AWS账号,请打开AWS管理控制台
,找到并展开右上角账户名称下方的菜单,然后选择我的账户。您的账户 ID 显示在 Account Settings (账户设置) 下。 要查找您AWS账户所在AWS的地区,请使用AWS Command Line Interface。要安装AWS CLI,请按照《AWS Command Line Interface用户指南》中的说明进行操作。安装后AWS CLI,打开命令提示符窗口并输入以下命令:
aws iot describe-endpoint --endpoint-type=iot:Data-ATS输出应该如下所示:
{ "endpointAddress": "xxxxxxxxxxxxxx-ats.iot.us-west-2.amazonaws.com" }在此示例中,区域为
us-west-2。注意
我们建议使用 ATS 端点,如示例所示。
-
浏览至 AWS IoT 控制台
。 -
在导航窗格中依次选择安全、策略和创建。
-
输入用于标识您的策略的名称。
-
在添加语句部分中,选择高级模式。将以下 JSON 复制并粘贴到策略编辑器窗口中。
用您的AWS地区aws-account和账户 ID 替换和。aws-region此策略授予以下权限:
iot:Connect-
向您的设备授予使用任何客户端 ID 连接AWS IoT消息代理的权限。
iot:Publish-
授予设备在任何 MQTT 主题上发布 MQTT 消息的权限。
iot:Subscribe-
授予设备订阅到任何 MQTT 主题筛选条件的权限。
iot:Receive-
授予设备从 AWS IoT 消息代理接收有关任何 MQTT 主题的消息的权限。
-
选择创建。
为设备创建 IoT 事物、私有密钥和证书
-
浏览至 AWS IoT 控制台
。 -
在导航窗格中,选择管理,然后选择事物。
-
如果您的账户中未注册任何 IoT 事物,此时将显示您还没有任何事物页面。如果您看到此页面,请选择注册事物。否则,选择创建。
-
在创建AWS IoT事物页面上,选择创建单个事物。
-
在将设备添加到事物注册表页面上,输入您事物的名称,然后选择下一步。
-
在添加事物的证书页面上的一键式创建证书下,选择创建证书。
-
选择各项的下载链接来下载私有密钥和证书。
-
选择激活来激活您的证书。必须先激活证书,然后才能使用它们 。
-
选择 Att ach a policy,将策略附加到您的证书,该策略允许您的设备访问AWS IoT操作。
-
选择您刚刚创建的策略,然后选择注册事物。
在您的董事会注册后AWS IoT,您可以继续下载 FreeRTOS。
下载 FreeRTOS
你可以从 FreeRTOS 存储库中下载 FreeRTOS。 GitHub
下载 FreeRTOS 后,您可以继续配置 FreeRTOS 演示。
配置 FreeRTOS 演示
您需要在 FreeRTOS 目录中编辑一些配置文件,然后才能在主板上编译和运行演示。
配置您的AWS IoT终端节点
您必须向FreeRTOS提供终端节点,以便在AWS IoT您的主板上运行的应用程序可以向正确的端点发送请求。
-
浏览至 AWS IoT 控制台
。 -
在左侧导航窗格中,选择设置。
您的AWS IoT终端节点显示在设备数据端点中。它应该类似于
。记下此终端节点。1234567890123-ats.iot.us-east-1.amazonaws.com -
在导航窗格中,选择管理,然后选择事物。
您的设备应该有一个AWS IoT事物名称。记下此名称。
-
打开
demos/include/aws_clientcredential.h。 -
为以下常量指定值:
-
#define clientcredentialMQTT_BROKER_ENDPOINT "YourAWS IoTendpoint"; -
#define clientcredentialIOT_THING_NAME "TheAWS IoTthing name of your board"
-
配置 Wi-Fi
如果您的主板通过 Wi-Fi 连接到 Internet,则必须向 FreeRTOS 提供 Wi-Fi 凭证才能连接到网络。如果主板不支持 Wi-Fi,您可以跳过这些步骤。
-
demos/include/aws_clientcredential.h. -
为以下
#define常量指定值:-
#define clientcredentialWIFI_SSID "The SSID for your Wi-Fi network" -
#define clientcredentialWIFI_PASSWORD "The password for your Wi-Fi network" -
#define clientcredentialWIFI_SECURITYThe security type of your Wi-Fi network有效安全类型为:
-
eWiFiSecurityOpen(开放,不安全) -
eWiFiSecurityWEP(WEP 安全性) -
eWiFiSecurityWPA(WPA 安全性) -
eWiFiSecurityWPA2(WPA2 安全)
-
-
格式化您的AWS IoT凭证
FreeRTOS 必须AWS IoT将证书和私钥与您注册的内容及其权限策略相关联,才能代表您的设备成功AWS IoT与之通信。
注意
要配置您的AWS IoT凭据,您必须拥有注册设备时从AWS IoT控制台下载的私钥和证书。将设备注册为AWS IoT事物后,您可以从AWS IoT控制台检索设备证书,但无法检索私钥。
FreeRTOS 是 C 语言项目,证书和私有密钥必须经过专门格式化才能添加到项目中。
-
在浏览器窗口中,打开
tools/certificate_configuration/CertificateConfigurator.html。 -
在 Certificate PEM file (证书 PEM 文件) 下,选择您从 AWS IoT 控制台下载的
。ID-certificate.pem.crt -
在 Private Key PEM file (私有密钥 PEM 文件) 下,选择您从 AWS IoT 控制台下载的
。ID-private.pem.key -
选择 Generate and save aws_clientcredential_keys.h (生成并保存 aws_clientcredential_keys.h),然后将文件保存到
demos/include中。这将覆盖目录中的现有文件。注意
仅出于演示目的对证书和私有密钥进行了硬编码。生产级应用程序应将这些文件存储在安全位置。
完成 FreeRTOS 配置后,您可以继续参阅适用于您主板的入门指南,以便设置平台的硬件及其软件开发环境,然后在主板上编译并运行演示。有关主板特定的说明,请参阅主板特定的入门指南。本入门教程中使用的演示应用程序为 coreMQTT 双向身份验证演示,位于 demos/coreMQTT/mqtt_demo_mutual_auth.c 中。