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

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

科雷姆 QTTT 库

Introduction

CoremQtt 库是一个客户端实现MQTT(消息队列遥测传输)标准。MQTT 标准提供了轻量级发布/订阅(或PubSub) 消息传递协议,该协议在 TCP/IP 之上运行,通常用于机器到机器 (M2M) 和物联网 (IoT) 使用案例中。

CoremQTT 库符合MQTT 3.1.1协议标准。该库已针对低内存占用进行了优化。此库的设计涵盖了不同的使用案例,从仅使用 QoS 0 MQTT PUBLING 消息的资源受限平台到使用 QoS 2 MQTT PUBLING 通过 TLS(传输层安全)连接的资源丰富的平台。该库提供了一个可组合功能的菜单,可以选择和组合,以精确地满足特定用例的需求。

该库写在C并且设计符合ISO C90米斯拉. 此 MQTT 库不依赖于任何其他库,但以下内容除外:

  • 标准 C 库

  • 客户实施的网络传输接口

  • (可选)用户实现的平台时间函数

通过提供简单的发送和接收传输接口规范,该库与底层网络驱动程序分离。应用程序编写者可以选择现有的传输接口,或者根据其应用程序实施自己的传输接口。

该库提供了一个高级 API,用于连接到 MQTT 代理、订阅/取消订阅主题、向主题发布消息以及接收传入消息。此 API 将上述传输接口作为参数,并使用该接口向 MQTT 代理发送和接收消息。

该库还公开了低级别的序列器/解序列化器 API。此 API 可用于构建一个简单的 IoT 应用程序,只包含所需的 MQTT 功能子集,而不需要任何其他开销。串行器/解串器 API 可以与任何可用的传输层 API(如套接字)结合使用,用于发送和接收来自代理的消息。

在 IoT 应用程序中使用 MQTT 连接时,我们建议您使用安全的传输接口,例如使用 TLS 协议的传输接口。

此 MQTT 库没有平台依赖关系,例如线程或同步。此库确实有证明,展示了安全的内存使用和无堆分配,这使得它适用于 IoT 微控制器,同时也可以完全移植到其他平台。它可以自由使用,并在MIT 开源许可.

CoremQTT 代码大小(使用 GCC Cortex-M 生成的示例)
文件 使用-O1 优化 使用-OS 优化
核心 mqtt.c 3.0K 2.6K
核心数据库状态 c 1.4K 1.1K
核心 mqtt_ 序列化器 .c 2.5 千 2.0K
估计值共计 6.9K 5.7K