CoreMQTT 代理库 - FreeRTOS
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

CoreMQTT 代理库

注意

此页面上的内容可能不是 up-to-date。有关最新更新,请参阅 Freertos.org 图书馆页面

介绍

CoreMQTT 代理库是一个高级别 API,它为... 增加了线程安全性CoreMQTLARARARAR。它允许您创建专用 MQTT 代理任务,该任务在后台管理 MQTT 连接,不需要其他任务的任何干预。该库提供与 CoreMQTT 的 API 等效的线程安全工具,因此它可以在多线程环境中使用。

MQTT 代理是一个独立的任务(或执行线程)。它是唯一允许访问 MQTT 库的 API 的任务,从而实现线程安全。它通过将所有 MQTT API 调用隔离到单个任务来序列化访问,并且无需使用信号量或任何其他同步基元。

该库使用线程安全消息队列(或其他进程间通信机制)来序列化所有调用 MQTT API 的请求。消息传送实现通过消息传送接口与库分离,允许将库移植到其他操作系统。消息传送接口由用于发送和接收指向代理命令结构的指针的函数和分配这些命令对象的函数组成,这允许应用程序编写者决定适合其应用程序的内存分配策略。

该库以 C 语言编写,旨在符合 ISO C90 和 MIS RA C: 2012 标准。除了标准 C 库之外CoreMQTLARARARAR,该库不依赖任何其他库。该库的证明表明内存使用安全且没有堆分配,因此它可以用于IoT 微控制器,但也可以完全移植到其他平台。

该库可以免费使用,并在麻省理工学院开源许可证下分发。

CoreMQTT 代理的代码大小(使用 GCC 为 ARM Cortex-M 生成的示例)
文件 使用-O1 进行优化 使用-Os 优化
core_mqtt_agent.c 1.7K 1.5K
core_mqtt_agent_command_functions. 0.3K 0.2K
core_mqtt.c (coreMqtt) 4.0K 3.4K
core_mqtt_state.c (coreMqtt) 1.7K 1.3K
core_mqtt_serializer.c (coreMqtt) 2.8K 2.2K
估计数总额 10.5K 8.6K