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

配置 MQTT 库以进行测试

边缘设备可以使用 MQTT 协议与 AWS 云通信。AWS IoT 中托管一个 MQTT 代理,可与连接的边缘设备相互发送和接收消息。

MQTT 库会为运行 FreeRTOS 的设备实现 MQTT 协议。不需要移植 MQTT 库,但您设备的测试项目必须通过资格认证中的所有 MQTT 测试。有关更多信息,请参阅 FreeRTOS 用户指南中的 FreeRTOS MQTT 库

先决条件

要设置 FreeRTOS MQTT 库测试,需要具备以下条件:

  • TLS 库移植。

    有关将 TLS 库移植到您的平台的信息,请参阅移植 TLS 库

如果使用 IDE 构建测试项目,您需要在 IDE 项目中设置库移植。

设置 IDE 测试项目

在 IDE 项目中设置 MQTT 库

  • /libraries/c_sdk/standard/mqtt 及其子目录中的所有测试源文件添加到 aws_tests IDE 项目中。

配置 CMakeLists.txt 文件

如果使用 CMake 构建测试项目,您需要在 CMake 列表文件中为库定义一个可移植层目标。

要在 CMakeLists.txt 中定义库的可移植层目标,请按照FreeRTOS 可移植层中的说明进行操作。

/vendors/vendor/boards/board/CMakeLists.txt 中的 CMakeLists.txt 模板列表文件包括示例可移植层目标定义。您可以取消注释要移植的库的定义,并对其进行修改以适合您的平台。

设置本地测试环境

在 IDE 项目中设置库后,您需要配置一些其他文件以进行测试。

为 MQTT 测试配置源文件和标头文件

  • 要启用 MQTT 测试,请打开 /vendors/vendor/boards/board/aws_tests/config_files/aws_test_runner_config.h 并将 testrunnerFULL_MQTTv4_ENABLED 宏设置为 1

运行测试

执行 MQTT 测试

  1. 构建测试项目,然后将其刷写到您的设备以执行该项目。

  2. 在 UART 控制台中检查测试结果。如果通过所有测试,则测试完成。

验证

要正式对设备进行 FreeRTOS 资格认证,您需要使用 AWS IoT Device Tester 验证设备的移植源代码。按照《FreeRTOS 用户指南》中的将 AWS IoT Device Tester 用于 FreeRTOS 中的说明操作,设置 Device Tester 以进行移植验证。要测试特定库的移植,必须在 Device Tester configs 文件夹下面的 device.json 文件中启用正确的测试组。

完成为您的设备设置 FreeRTOS MQTT 库后,可以开始移植 OTA 代理库。有关说明,请参阅移植 OTA 库

如果您的设备不支持 OTA 功能,您可以开始移植低功耗蓝牙库。有关说明,请参阅移植低功耗蓝牙库

如果您的设备不支持 OTA 和低功耗蓝牙功能,则您已完成移植,可以开始 FreeRTOS 资格认证流程。有关更多信息,请参阅 FreeRTOS 资格认证指南