主板资格认证 - FreeRTOS

主板资格认证

先决条件

硬件要求:

运行 FreeRTOS AWS IoT 库的基于 MCU 的开发主板必须有:

  • 以太网、Wi-Fi 或蜂窝连接功能

软件要求:

《FreeRTOS 移植指南》中的移植流程图标识了基于 MCU 的开发主板所需的 FreeRTOS AWS IoT 库。最小子集为:

  • FreeRTOS 内核

  • coreMQTT

  • AWS IoT 空中下载更新 (OTA)

测试要求:

建议

为提高安全性,我们建议执行以下操作。

资格认证步骤

使用 AWS IoT Device Tester (IDT) 验证移植的 FreeRTOS 库

  1. 将 FreeRTOS 库移植到主板上。有关说明,请参阅《FreeRTOS 移植指南》

  2. 创建一个测试项目,然后从 FreeRTOS-Libraries-Integration-Tests GitHub 存储库中移植所需的测试。调用测试运行器任务 RunQualificationTest

    注意

    为了获得良好的开发者体验,建议移植 FreeRTOS 库,然后使用 IDE 在本地运行相应的单个测试组来验证集成。

    测试运行器任务在单个测试项目中运行,或者在您的演示应用程序项目中运行。

  3. 创建一个 manifest.yml 文件以列出您的资格认证中使用的所有依赖项。依赖项包括 FreeRTOS 库和测试存储库。有关详细信息,请参阅FreeRTOS 清单文件说明

    注意

    IDT 使用 manifest.yml 来查找针对特定 FreeRTOS 库版本进行完整性检查所需的依赖项,并配置测试项目以构建、刷新和运行测试二进制文件。

    IDT 不强制要求特定的项目结构,而是使用 manifest.yml 文件中包含的参考路径。

  4. 使用 Device Advisor 验证 AWS IoT 的互操作性。

    1. 创建一个与上述测试中使用的 OTA 相同的组件的演示项目,包括 FreeRTOS 库、移植、集成任务。

      为了获得资格,该演示应用程序必须具备以下功能:

      • 执行 MQTT 发布和订阅主题。

      • 执行 OTA 更新。

      • 创建支持 OTA 更新的引导加载程序。使用您自己的引导加载程序或 MCUBoot。参阅 Labs-FreeRTOS-Plus-MCUBoot

      注意

      FreeRTOS GitHub 存储库具有演示各个任务的预配置示例。还有一个集成的 coreMQTT 代理演示,其中包含了 coreMQTT 和 OTA 任务。另请参阅 FreeRTOS 精选 IoT 集成:资格认证项目示例

    2. AWS IoT Device Tester 将针对 AWS IoT Device Advisor 运行您的演示。资格认证需要以下 Device Advisor 测试用例。

      测试用例
      测试用例 测试用例 必需
      TLS TLS 连接
      TLS TLS 支持 AWS AWS IoT 密码套件 是的,使用推荐的密码套件
      TLS TLS 不安全服务器证书
      TLS TLS 主题名称服务器证书不正确
      MQTT MQTT Connect
      MQTT MQTT Connect 抖动重试次数 是,无警告
      MQTT MQTT 订阅
      MQTT MQTT 发布
      MQTT MQTT ClientPuback QoS1
      MQTT MQTT No Ack PingResp
  5. 从 AWS IoT Device Tester 中运行测试并生成测试报告。

提交准备

  1. 编写入门指南,以便在您的设备上运行 MQTT 或 OTA 演示项目。请参阅利用 FreeRTOS 指南为设备创建入门指南的说明。

  2. 提供威胁建模文档,验证您是否降低了在《FreeRTOS 移植指南》移植 OTA 库中介绍的AWS IoT 设备引导加载程序的威胁建模中定义的风险。在 APN 合作伙伴中心提交设备时,必须将此文档作为支持资产上传。

  3. 为代码下载提供公共存储库。我们建议您提供公司 GitHub 存储库链接。

资格提交

  • IDT 测试报告。

  • AWS IoT Device Adisor 测试报告。

  • 威胁建模文档。

  • 包含可供下载的源代码的 GitHub 存储库。