谷动谷力

标题: 【MQTT】基于socket API之上的跨平台MQTT客户端介绍 [打印本页]

作者: 谷谷小师妹    时间: 2023-11-22 21:59
标题: 【MQTT】基于socket API之上的跨平台MQTT客户端介绍
【MQTT】基于socket API之上的跨平台MQTT客户端介绍


这是一个基于socket API之上的跨平台MQTT客户端
基于socket API的MQTT客户端,拥有非常简洁的API接口,以极少的资源实现QOS2的服务质量,并且无缝衔接了mbedtls加密库。此仓库是专门为RT-Thread做的软件包,原始仓库位于:https://github.com/jiejieTop/mqttclient

名字的由来
kawaii 是 卡哇伊 的谐音,一个很可爱的程序员制作的软件包 ღ( ´・ᴗ・` )~

优势:在线代码生成工具
本项目拥有代码生成工具,只需要在线配置即可生成代码,极其简单易用,代码生成工具地址:https://jiejietop.gitee.io/mqtt/index.html

占用资源大小

总计占 10857字节 的ROM,而RAM的开销则几乎只依赖动态内存,在不使用TLS加密传输的情况下,维持QOS0服务质量等级的通信动态内存大约仅需要3694字节,这包括1024读缓冲区 + 1024写缓冲区 + 1024内部线程栈大小,相对于其他MQTT客户端来说,mqttclient需要的RAM资源开销极少。
CodeRO DataRW DataZI DataObject Name
711879100mqttclient.o
546000mqttconnectclient.o
212000mqttdeserializepublish.o
476040mqttpacket.o
236000mqttserializepublish.o
310000mqttsubscribeclient.o
38000mqttunsubscribeclient.o
56000nettype_tcp.o
62000network.o
24000platform_memory.o
40000platform_mutex.o
344000platform_net_socket.o
94000platform_thread.o
70000platform_timer.o
246040random.o
62000mqtt_list.o
-----
1006679180total

整体框架

拥有非常明确的分层框架。
支持的平台

目前已实现了Linux、TencentOS tiny、FreeRTOS、RT-Thread平台(已做成软件包,名字为kawaii-mqtt),除此之外TencentOS tiny的AT框架亦可以使用,并且稳定性极好!
平台代码位置
Linuxhttps://github.com/jiejieTop/mqttclient
TencentOS tinyhttps://github.com/Tencent/TencentOS-tiny/tree/master/board/Fire_STM32F429
TencentOS tiny AT 框架https://github.com/jiejieTop/gokit3-board-mqttclient
RT-Threadhttps://github.com/jiejieTop/kawaii-mqtt
FreeRTOShttps://github.com/jiejieTop/freertos-mqttclient

版本
发布版本描述
[v1.0.0]初次发布,完成基本框架及其稳定性验证
[v1.0.1]修复主动与服务器断开连接时的逻辑处理
[v1.0.2]添加新特性——拦截器,修复一些小bug
[v1.0.3]避免造成全局污染修改了log、list相关函数的命名
[v1.0.4]重新调整了network结构与mbedtls数据通道
[v1.1.0]一个较大版本的更新,重构部分代码,优化MQTT处理的逻辑,提升整体的稳定性,支持多客户端,支持设置遗嘱,优化API接口,增加多个云平台的测试代码与说明文档,增加在线代码生成工具、在线裁剪配置工具

问题
欢迎以 GitHub Issues 的形式提交问题和bug报告

版权和许可
mqttclient 遵循 Apache License v2.0 开源协议。鼓励代码共享和尊重原作者的著作权,可以自由的使用、修改源代码,也可以将修改后的代码作为开源或闭源软件发布。

学习更多
请看文档:





欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2