背景介紹
目前 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文章
108瀏覽量
11879 -
RT-Thread
+關注
關注
32文章
1369瀏覽量
41506
原文標題:使用RT-Thread uMQTT軟件包,掌握 MQTT 開發新技能
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
如何在MQTT中發布和訂閱實體
MKW45B41Z客戶端無法從服務器獲取服務是為什么?
《DNESP32S3使用指南-IDF版_V1.6》第五十五章 基于MQTT協議連接阿里云服務器
百問MQTT協議分析 - MQTT簡述及協議報文格式組成
邁威通信工業無線客戶端:智能制造的高效連接新解法

socket 客戶端與服務器的實現
Rambus推出DDR5客戶端時鐘驅動器
esp_iot_sdk_v0.9.6_b1客戶端斷開連接導致WDT重置怎么解決?
來了解一下MQTT Broker代理

評論