本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
初始步骤
重要
此页面指的是已弃用的亚马逊免费RTOS存储库。当您创建新项目时,我们建议从此处开始。如果您已经有一个基于现已弃用的 Amazon-Free RTOS 存储库的免费RTOS项目,请参阅。亚马逊免费版 RTOS Github 存储库迁移指南
要开始使用 Free RTOS w Amazon IoT ith,您必须拥有一个 Amazon 帐户、一个拥有访问权限的用户 Amazon IoT 和免费RTOS云服务。您还必须下载免费版RTOS并配置您的开发板的免费RTOS演示项目才能使用 Amazon 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 入门
设置您的 Amazon 账户和权限
注册获取 Amazon Web Services 账户
如果您没有 Amazon Web Services 账户,请完成以下步骤来创建一个。
要注册 Amazon Web Services 账户
按照屏幕上的说明进行操作。
在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。
当您注册时 Amazon Web Services 账户,就会创建Amazon Web Services 账户根用户一个。根用户有权访问该账户中的所有 Amazon Web Services 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务。
Amazon 注册过程完成后会向您发送一封确认电子邮件。您可以随时前往 https://aws.amazon.com/
保护IAM用户
注册后 Amazon Web Services 账户,通过开启多重身份验证 (MFA) 来保护您的管理用户。有关说明,请参阅《用户指南》中的为IAM用户启用虚拟MFA设备(控制台)。IAM
要允许其他用户访问您的 Amazon Web Services 账户 资源,请创建IAM用户。为了保护您的IAM用户,请打开MFA并仅向IAM用户提供执行任务所需的权限。
有关创建和保护IAM用户的更多信息,请参阅《IAM用户指南》中的以下主题:
要提供访问权限,请为您的用户、组或角色添加权限:
-
IAM通过身份提供商管理的用户:
创建适用于身份联合验证的角色。按照《IAM用户指南》中为第三方身份提供商创建角色(联合)中的说明进行操作。
-
IAM用户:
-
创建您的用户可以担任的角色。按照《用户指南》中为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 策略
-
要创建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-ats.iot.us-west-2.amazonaws.com" }
在此示例中,区域为
us-west-2
。注意
我们建议使用示例中所示的ATS终端节点。
-
浏览至 Amazon IoT 控制台
。 -
在导航窗格中依次选择安全、策略和创建。
-
输入用于标识您的策略的名称。
-
在添加语句部分中,选择高级模式。将以下内容复制并粘贴JSON到策略编辑器窗口。
用您的 Amazon 地区aws-account
和账户 ID 替换和。aws-region
{ "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
-
向您的设备授予接收来自消息代理的有关任何MQTT主题的 Amazon IoT 消息的权限。
-
选择创建。
为设备创建 IoT 事物、私有密钥和证书
-
浏览至 Amazon IoT 控制台
。 -
在导航窗格中,选择管理,然后选择事物。
-
如果您的账户中未注册任何 IoT 事物,此时将显示您还没有任何事物页面。如果您看到此页面,请选择注册事物。否则,选择 创建。
-
在创建 Amazon IoT 事物页面上,选择创建单个事物。
-
在将设备添加到事物注册表页面上,输入您事物的名称,然后选择下一步。
-
在添加事物的证书页面上的一键式创建证书下,选择创建证书。
-
选择各项的下载链接来下载私有密钥和证书。
-
选择激活来激活您的证书。必须先激活证书,然后才能使用它们 。
-
选择 Att ach a policy,将策略附加到您的证书,该策略允许您的设备访问 Amazon IoT 操作。
-
选择您刚刚创建的策略,然后选择注册事物。
在您的董事会注册后 Amazon IoT,您可以继续免费下载 RTOS。
免费下载 RTOS
您可以RTOS从免费RTOS GitHub 存储库中免费
下载免费版后RTOS,您可以继续配置免费RTOS演示。
配置免费RTOS演示
您必须先编辑 Fre RTOS e 目录中的一些配置文件,然后才能在主板上编译和运行任何演示。
配置您的 Amazon IoT 终端节点
您必须免费RTOS提供 Amazon IoT 终端节点,以便在您的主板上运行的应用程序可以向正确的端点发送请求。
-
浏览至 Amazon IoT 控制台
。 -
在左侧导航窗格中,选择 设置。
您的 Amazon IoT 终端节点显示在设备数据端点中。它应该类似于
。记下此终端节点。1234567890123
-ats.iot.us-east-1
.amazonaws.com -
在导航窗格中,选择管理,然后选择事物。
您的设备应该有一个 Amazon IoT 事物名称。记下此名称。
-
打开
demos/include/aws_clientcredential.h
。 -
为以下常量指定值:
-
#define clientcredentialMQTT_BROKER_ENDPOINT "
Your Amazon IoT endpoint
"; -
#define clientcredentialIOT_THING_NAME "
The Amazon IoT thing name of your board
"
-
配置 Wi-Fi
如果您的主板通过 Wi-Fi 连接连接到互联网,则必须提供 Free Wi-Fi RTOS 凭据才能连接到网络。如果主板不支持 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_SECURITY
The security type of your Wi-Fi network
有效安全类型为:
-
eWiFiSecurityOpen
(开放,不安全) -
eWiFiSecurityWEP
(WEP安全) -
eWiFiSecurityWPA
(WPA安全) -
eWiFiSecurityWPA2
(WPA2安全)
-
-
格式化您的 Amazon IoT 凭证
Free RTOS 必须将 Amazon IoT 证书和私钥与您注册的东西及其权限策略相关联,才能 Amazon IoT 代表您的设备成功与之通信。
注意
要配置您的 Amazon IoT 凭据,您必须拥有注册设备时从 Amazon IoT 控制台下载的私钥和证书。将设备注册为 Amazon IoT 事物后,您可以从 Amazon IoT 控制台检索设备证书,但无法检索私钥。
Fre RTOS e 是一个 C 语言项目,证书和私钥必须经过特殊格式化才能添加到项目中。
-
在浏览器窗口中,打开
tools/certificate_configuration/CertificateConfigurator.html
。 -
在 “证书PEM文件” 下
,选择您从 Amazon IoT 控制台下载的。ID
-certificate.pem.crt -
在 “私钥PEM文件” 下
,选择您从 Amazon IoT 控制台下载的。ID
-private.pem.key -
选择 Generate and save aws_clientcredential_keys.h (生成并保存 aws_clientcredential_keys.h),然后将文件保存到
demos/include
中。这将覆盖目录中的现有文件。注意
仅出于演示目的对证书和私有密钥进行了硬编码。生产级应用程序应将这些文件存储在安全位置。
配置免费版后RTOS,您可以继续阅读主板入门指南,设置平台的硬件及其软件开发环境,然后在主板上编译并运行演示。有关主板特定的说明,请参阅主板特定的入门指南。入门教程中使用的演示应用程序是核心的MQTT相互身份验证演示,位于demos/coreMQTT/mqtt_demo_mutual_auth.c
。