背景介紹
目前 RT-Thread 的 paho-mqtt 軟件包,是基于 pahomqtt 1.1.0 設(shè)計(jì)的一套 MQTT 客戶端程序。從實(shí)際使用中,和論壇反饋中出現(xiàn)如下問題:
只支持 Qos=1,不支持 Qos=0 和 Qos=2 的情況;
數(shù)據(jù)發(fā)送可能出現(xiàn)粘包情況;
功能配置較少,且資源占用較高;
針對(duì)上述 mqtt 軟件包實(shí)際使用問題,RT-Thread 推出 mqtt2.0 版本軟件包,即 uMQTT 軟件包,符合 MQTT 3.1.1 協(xié)議規(guī)范,并完善之前存在問題。
uMQTT 軟件包介紹
框架圖
umqtt_框架圖
功能特點(diǎn)
保活機(jī)制
uMQTT 具有心跳斷連,短時(shí)間內(nèi)重試心跳連接功能
避免短時(shí)間內(nèi)大量訂閱發(fā)布消息與心跳請(qǐng)求沖突
重連機(jī)制
多種重連機(jī)制,為您網(wǎng)絡(luò)連接的穩(wěn)定性保駕護(hù)航。
連接過程中,連接失敗進(jìn)行多次重連嘗試
保活機(jī)制失敗后,進(jìn)行多次重連嘗試
數(shù)據(jù)接收失敗后,進(jìn)行多次重連嘗試
多客戶端
同時(shí)兼容多個(gè)客戶端運(yùn)行工作,便于同個(gè)設(shè)備連接多個(gè)服務(wù)器
同步異步
支持用戶在復(fù)雜情況下訂閱發(fā)布的需求。
支持同步訂閱發(fā)送功能,保證開發(fā)請(qǐng)求數(shù)據(jù)同步
異步訂閱發(fā)送,資源開銷小,系統(tǒng)任務(wù)運(yùn)行速率更高。
QOS0/1/2
完美支持 QOS 0/1/2 的訂閱發(fā)布請(qǐng)求,讓用戶不用再關(guān)心信息的重發(fā)機(jī)制,直接交給軟件包處理
訂閱發(fā)布
支持基本的訂閱發(fā)布功能,實(shí)現(xiàn) mqtt 協(xié)議規(guī)定功能
多功能參數(shù)可配置可裁剪
重連時(shí)間間隔、重連次數(shù)、心跳周期、最大訂閱數(shù)量、保活機(jī)制、重連機(jī)制等等參數(shù)功能可裁剪可配置,滿足開發(fā)者再復(fù)雜、簡(jiǎn)單等各種開發(fā)環(huán)境下的使用需求
資源占用小
所有功能開啟,占用空間足夠小,適用低資源的 MCU
接口簡(jiǎn)單,使用方便
每個(gè)功能都有獨(dú)立的接口,接口簡(jiǎn)單但功能完善,讓開發(fā)者用最少的接口實(shí)現(xiàn)各類需求。
各類軟件包對(duì)比
uMQTT 軟件包獲取
menuconfig 配置獲取軟件包和示例代碼
打開 RT-Thread 提供的 ENV 工具,使用menuconfig配置軟件包,
啟用 uMQTT 軟件包,并配置使能測(cè)試?yán)?(Enable MQTT example), 如下所示:
1RT-Threadonlinepackages 2IoT-internetofthings---> 3[*]umqtt:Alightweight,powerful,customizable,easy-to-useandembeddablemqttclientforRT-Thread.---> 4[*]EnableMQTTexample#開啟UMQTT例程
使用 pkgs --update 命令下載軟件包;
-
軟件包
+關(guān)注
關(guān)注
0文章
104瀏覽量
11619 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1300瀏覽量
40264
原文標(biāo)題:使用RT-Thread uMQTT軟件包,掌握 MQTT 開發(fā)新技能
文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論