背景介紹
目前 RT-Thread 的 paho-mqtt 軟件包,是基于 pahomqtt 1.1.0 設計的一套 MQTT 客戶端程序。從實際使用中,和論壇反饋中出現如下問題:
只支持 Qos=1,不支持 Qos=0 和 Qos=2 的情況;
數據發送可能出現粘包情況;
功能配置較少,且資源占用較高;
針對上述 mqtt 軟件包實際使用問題,RT-Thread 推出 mqtt2.0 版本軟件包,即 uMQTT 軟件包,符合 MQTT 3.1.1 協議規范,并完善之前存在問題。
uMQTT 軟件包介紹
框架圖

umqtt_框架圖
功能特點
保活機制
uMQTT 具有心跳斷連,短時間內重試心跳連接功能
避免短時間內大量訂閱發布消息與心跳請求沖突
重連機制
多種重連機制,為您網絡連接的穩定性保駕護航。
連接過程中,連接失敗進行多次重連嘗試
保活機制失敗后,進行多次重連嘗試
數據接收失敗后,進行多次重連嘗試
多客戶端
同時兼容多個客戶端運行工作,便于同個設備連接多個服務器
同步異步
支持用戶在復雜情況下訂閱發布的需求。
支持同步訂閱發送功能,保證開發請求數據同步
異步訂閱發送,資源開銷小,系統任務運行速率更高。
QOS0/1/2
完美支持 QOS 0/1/2 的訂閱發布請求,讓用戶不用再關心信息的重發機制,直接交給軟件包處理
訂閱發布
支持基本的訂閱發布功能,實現 mqtt 協議規定功能
多功能參數可配置可裁剪
重連時間間隔、重連次數、心跳周期、最大訂閱數量、保活機制、重連機制等等參數功能可裁剪可配置,滿足開發者再復雜、簡單等各種開發環境下的使用需求
資源占用小
所有功能開啟,占用空間足夠小,適用低資源的 MCU

接口簡單,使用方便
每個功能都有獨立的接口,接口簡單但功能完善,讓開發者用最少的接口實現各類需求。
各類軟件包對比


uMQTT 軟件包獲取
menuconfig 配置獲取軟件包和示例代碼
打開 RT-Thread 提供的 ENV 工具,使用menuconfig配置軟件包,
啟用 uMQTT 軟件包,并配置使能測試例程 (Enable MQTT example), 如下所示:
1RT-Threadonlinepackages 2IoT-internetofthings---> 3[*]umqtt:Alightweight,powerful,customizable,easy-to-useandembeddablemqttclientforRT-Thread.---> 4[*]EnableMQTTexample#開啟UMQTT例程
使用 pkgs --update 命令下載軟件包;
-
軟件包
+關注
關注
0文章
115瀏覽量
12143 -
RT-Thread
+關注
關注
32文章
1614瀏覽量
44889
原文標題:使用RT-Thread uMQTT軟件包,掌握 MQTT 開發新技能
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
EtherCAT FOE工作原理揭秘:客戶端-服務器模型如何運轉?
agile_ftp傳輸文件時客戶端報錯誤怎么解決?
libmodbus庫問題:TCP模式下客戶端超時斷開后無法再次重連怎么解決?
SOLIDWORKS PDM Professional安裝部署指南:從服務器到客戶端的詳細步驟
【HZ-RK3568開發板免費體驗】MQTT服務搭建與客戶端移植
是否可以將客戶端控件與CYW920706WCDEVAL一起使用?
CYBT-413061上的RFCOMM_Serial_Port SPP演示,AIROC客戶端控制應用程序不起作用,什么原因引起的?
瘦客戶端解決方案:樹莓派電腦助力企業實現碳中和目標!
基于pahomqtt 1.1.0設計的一套MQTT客戶端程序
評論