本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
主板资格认证
先决条件
硬件要求:
运行 FreeRTOS 库的基于 MCU 的开发板必须具 Amazon IoT 有:
-
以太网、Wi-Fi 或蜂窝连接功能
软件要求:
《FreeRTOS 移植指南》中的移植流程图确定了任何基于 MC U 的开发板所需的 FreeRTOS Amazon IoT 库。最小子集为:
FreeRTOS 内核
coreMQTT
Amazon IoT 无线更新 (OTA)
测试要求:
使用 Amazon IoT Device Tester for FreeRTOS 对照已定义
的 GitHub 测试存储库,验证 FreeRTOS 库所需的硬件平台特定 API 的实现情况。请参阅 使用 (IDT) 验证移植 Amazon IoT Device Tester 的 FreeRTOS 库。 Amazon IoT Core 使用设备顾问验证互操作性。请参阅使用 (IDT) 验证移植 Amazon IoT Device Tester 的 FreeRTOS 库的步骤 4。
建议
为提高安全性,我们建议执行以下操作。
-
为防止离线或临时入侵成为永久性入侵,请将密钥和凭证存储在可抵御物理攻击的硬件信任根中,例如安全元件
或安全飞地。 -
为了降低可能导致未经授权的数据泄露的网络欺骗
和中间人 攻击的风险,请为实现 DHCP、DNS、TCP/IP 和 TLS 等协议的 FreeRTOS 库使用真随机数生成器 (TRNG) 。有关更多信息,请参阅使用确定性随机位生成器生成随机数的推荐 (NIST SP 800-90A) 中的第 50 页。
资格认证步骤
使用 (IDT) 验证移植 Amazon IoT Device Tester 的 FreeRTOS 库
将 FreeRTOS 库移植到主板上。有关说明,请参阅《FreeRTOS 移植指南》。
创建一个测试项目,然后从 FreerTOS-Libraries-Integration-Te
GitHub sts 存储库中移植所需的测试。调用测试运行器任务 RunQualificationTest 。 注意
为了获得良好的开发者体验,建议移植 FreeRTOS 库,然后使用 IDE 在本地运行相应的单个测试组来验证集成。
测试运行器任务在单个测试项目中运行,或者在您的演示应用程序项目中运行。
创建一个
manifest.yml
文件以列出您的资格认证中使用的所有依赖项。依赖项包括 FreeRTOS 库和测试存储库。有关详细信息,请参阅 FreeRTOS 清单文件说明。注意
IDT 使用
manifest.yml
来查找针对特定 FreeRTOS 库版本进行完整性检查所需的依赖项,并配置测试项目以构建、刷新和运行测试二进制文件。IDT 不强制要求特定的项目结构,而是使用
manifest.yml
文件中包含的参考路径。-
使用设备顾问验证 Amazon IoT 互操作性。
-
创建一个与上述测试中使用的 OTA 相同的组件的演示项目,包括 FreeRTOS 库、移植、集成任务。
为了获得资格,该演示应用程序必须具备以下功能:
执行 MQTT 发布和订阅主题。
执行 OTA 更新。
创建支持 OTA 更新的引导加载程序。使用您自己的引导加载程序或 MCUBoot
。参阅 Labs-FreeRTOS-Plus-MCUBoot 。
注意
FreeRTO GitHub S
存储库中预先配置了示例,演示了各个任务。还有一个集成的 coreMQTT 代理演示 ,其中包含了 coreMQTT 和 OTA 任务。另请参阅 FreeRTOS 精选 IoT 集成:资格认证项目示例。 -
Amazon IoT Device Tester 将针对Amazon IoT 设备顾问运行您的演示。资格认证需要以下 Device Advisor 测试用例。
测试用例测试用例 测试用例 必需 TLS TLS 连接 是 TLS TLS S Amazon Amazon IoT upport 密码套件 是的,使用推荐的密码套件 TLS TLS 不安全服务器证书 是 TLS TLS 主题名称服务器证书不正确 是 MQTT MQTT Connect 是 MQTT MQTT Connect 抖动重试次数 是,无警告 MQTT MQTT 订阅 是 MQTT MQTT 发布 是 MQTT MQTT Qos1 ClientPuback 是 MQTT MQTT 没有 Ack PingResp 是
-
从中运行测试 Amazon IoT Device Tester 并生成测试报告。
-
IDT 会配置测试,然后自动构建并刷写您的主板。要启用此功能,您必须将 IDT 配置为在
userdata.json
文件中为您的设备运行构建和刷写命令。请参阅《适用于 FreeRTOS 的 IDT 用户指南》中的配置构建、刷写和测试设置。 -
在
device.json
文件中提供设备支持的功能,例如连接类型、加密算法、密钥配置方法,以便 IDT 确定要运行的适用测试。请参阅《适用于 FreeRTOS 的 IDT 用户指南》中的在 IDT 中为 FreeRTOS 创建设备池。 -
为 IDT 创建和配置您的 Amazon 帐户,以创建所需的云资源。请参阅《适用于 FreeRTOS 的 IDT 用户指南》中的创建和配置 IDT Amazon 帐户以创建所需的云资源。
-
提交准备
编写入门指南,以便在您的设备上运行 MQTT 或 OTA 演示项目。请参阅利用 FreeRTOS 指南为设备创建入门指南的说明。
提供威胁建模文档,验证您是否降低了 FreeRTOS 移植指南中移植 OTA 库中所述的 Amazon IoT 设备引导加载程序的威胁建模中定义的风险。在 APN 合作伙伴中心
提交设备时,必须将此文档作为支持资产上传。 为代码下载提供公共存储库。我们建议您提供公司 GitHub 存储库链接。
资格提交
IDT 测试报告。
Amazon IoT 设备顾问测试报告。
威胁建模文档。
GitHub 包含用于下载的源代码的存储库。