核心MQTT代理库 - 免费 RTOS

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

核心MQTT代理库

注意

此页面上的内容可能不是 up-to-date。有关最新更新,请参阅免费 RTOS .org 库页面

简介

核心MQTT代理库是一个高级别API,它增加了线程安全性核心MQTT库。它允许你创建一个专门的MQTT代理任务,该任务在后台管理MQTT连接,不需要其他任务的任何干预。该库提供了等同于内核MQTT的线程安全库APIs,因此可以在多线程环境中使用。

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

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

该库以 C 语言编写,设计符合 ISOC90 和 MISRA C: 2012。除了 核心MQTT库 和标准 C 库之外,该库不依赖于任何其他库。该库有证据表明内存使用安全,没有堆分配,因此可用于 IoT 微控制器,但也完全可移植到其他平台。

该库可以免费使用,并根据MIT开源许可证分发。

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