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

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

CoreMQTT 代理库

介绍

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

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

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

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

这个图书馆可以免费使用,并在MIT 开源许可.

CoreMQTT 代理大小(使用 GCC in ARM Cortex-M 生成的示例)
文件 使用-O1 优化 使用-OS 优化
core_mqtt_agent.c 1.7K 1.5K
core_mqtt_agent_command_函数s.c 0.3K 0.2K
core_mqtt.c (coreMQTT) 3.0K 2.6K
core_mqtt_state.c (coreMQTT) 1.4K 1.1K
core_mqtt_serializer.c (coreMQTT) 2.5K 2.0K
估计值总计 8.9K 7.4K