資料介紹
軟件簡(jiǎn)介
一個(gè)高性能、高穩定性的跨平臺 MQTT 客戶(hù)端,基于 socket API 開(kāi)發(fā),可以在嵌入式設備(FreeRTOS/LiteOS/RT-Thread/TencentOS tiny)、Linux、Windows、Mac 上使用,擁有非常簡(jiǎn)潔的 API 接口,以極少的資源實(shí)現 QOS2 的服務(wù)質(zhì)量,并且無(wú)縫銜接了 mbedtls 加密庫。
優(yōu)勢:
-
基于標準BSD socket之上開(kāi)發(fā),只要是兼容BSD socket的系統均可使用。
-
穩定:無(wú)論是
掉線(xiàn)重連
,丟包重發(fā)
,都是嚴格遵循MQTT協(xié)議標準
執行,除此之外對大數據量的測試無(wú)論是收是發(fā),都是非常穩定(一次發(fā)送135K
數據,3秒一次),高頻測試也是非常穩定(7個(gè)主題同時(shí)收發(fā),每秒一次,也就是1秒14個(gè)mqtt報文,服務(wù)質(zhì)量QoS0、QoS1、QoS2都有)。因為作者以極少的資源設計了記錄機制
,對采用QoS1服務(wù)質(zhì)量的報文必須保證到達一次,當發(fā)布的主題(qos1、qos2都適用)沒(méi)有被服務(wù)器收到時(shí)會(huì )自動(dòng)重發(fā),而對QoS2服務(wù)質(zhì)量的報文保證有且只有處理一次(如果不相信它穩定性的同學(xué)可以自己去修改源碼,專(zhuān)門(mén)為QoS2服務(wù)質(zhì)量去做測試,故意不回復PUBREC
包,讓服務(wù)器重發(fā)QoS2報文,且看看客戶(hù)端是否有且只有處理一次),而對于掉線(xiàn)重連的穩定性,這種則是基本操作了,沒(méi)啥好說(shuō)的,在自動(dòng)重連后還會(huì )自動(dòng)重新訂閱主題,保證主題不會(huì )丟失,因此在測試中穩定性極好。 -
輕量級:整個(gè)代碼工程極其簡(jiǎn)單,不使用mbedtls情況下,占用資源極少,作者曾使用esp8266模組與云端通信,整個(gè)工程代碼消耗的RAM不足15k(包括系統占用的開(kāi)銷(xiāo),對數據的處理開(kāi)銷(xiāo),而此次還是未優(yōu)化的情況下,還依舊完美保留了掉線(xiàn)重連的穩定性,但是對應qos1、qos2服務(wù)質(zhì)量的報文則未做測試,因為STM32F103C8T6芯片資源實(shí)在是太少了,折騰不起)。
-
無(wú)縫銜接mbedtls加密傳輸,讓網(wǎng)絡(luò )傳輸更加安全,而且接口層完全不需要用戶(hù)理會(huì ),無(wú)論是否加密,mqttclient對用戶(hù)提供的API接口是沒(méi)有變化的,這就很好的兼容了一套代應用層的碼可以加密傳輸也可以不加密傳輸。
-
擁有極簡(jiǎn)的API接口,總的來(lái)說(shuō),mqttclient的配置都有默認值,基本無(wú)需配置都能使用的,也可以隨意配置,對配置都有健壯性檢測,這樣子設計的API接口也是非常簡(jiǎn)單。
-
有非常好的代碼風(fēng)格與思想:整個(gè)代碼采用分層式設計,代碼實(shí)現采用異步處理的思想,降低耦合,提高性能,具體體現在什么地方呢?很簡(jiǎn)單,目前市面上很多MQTT客戶(hù)端發(fā)布主題都是要阻塞等待ack,這是非常暴力的行為,阻塞當前線(xiàn)程等待服務(wù)器的應答,那如果我想要發(fā)送數據怎么辦,或者我要重復檢測數據怎么辦,你可能會(huì )說(shuō),指定阻塞時(shí)間等待,那如果網(wǎng)絡(luò )延遲,ack遲遲不來(lái),我就白等了嗎,對于qos1、qos2的服務(wù)質(zhì)量怎么辦,所以說(shuō)這種還是要異步處理的思想,我發(fā)布主題,那我發(fā)布出去就好了,不需要等待,對于qos1、qos2服務(wù)質(zhì)量的MQTT報文,如果服務(wù)器沒(méi)收到,那我重發(fā)就可以,這種重發(fā)也是異步的處理,完全不會(huì )阻塞當前線(xiàn)程。
-
MQTT協(xié)議支持主題通配符
“#”、“+”
。 -
訂閱的主題與消息處理完全分離,讓編程邏輯更加簡(jiǎn)單易用,用戶(hù)無(wú)需理會(huì )錯綜復雜的邏輯關(guān)系。
-
mqttclient內部已實(shí)現?;钐幚頇C制,無(wú)需用戶(hù)過(guò)多關(guān)心理會(huì ),用戶(hù)只需專(zhuān)心處理應用功能即可。
-
無(wú)縫銜接salof:它是一個(gè)同步異步日志輸出框架,在空閑時(shí)候輸出對應的日志信息,也可以將信息寫(xiě)入flash中保存,方便調試。
-
不對外產(chǎn)生依賴(lài)。
-
使用 paho mqtt 庫
整體框架
擁有非常明確的分層框架。
目前已實(shí)現了Linux、TencentOS tiny、FreeRTOS、RT-Thread平臺(已做成軟件包,名字為kawaii-mqtt
),除此之外TencentOS tiny的AT框架亦可以使用(RAM消耗不足15K),并且穩定性極好!
平臺 | 代碼位置 |
---|---|
Linux | https://github.com/jiejieTop/mqttclient |
TencentOS tiny | https://github.com/Tencent/TencentOS-tiny/tree/master/board/Fire_STM32F429 |
TencentOS tiny AT 框架 | https://github.com/jiejieTop/gokit3-board-mqttclient |
RT-Thread | https://github.com/jiejieTop/kawaii-mqtt |
FreeRTOS | https://github.com/jiejieTop/freertos-mqttclient |
- MQTT客戶(hù)端快速入門(mén)指南 按鍵按下 0次下載
- MQTT客戶(hù)端空氣質(zhì)量快速入門(mén)指南 0次下載
- 如何輕松實(shí)現MQTT接入阿里云IoT平臺
- MQTT接入阿里云IoT平臺使用說(shuō)明
- MQTT客戶(hù)端快速入門(mén)指南 按鍵按下 1次下載
- MQTT客戶(hù)端空氣質(zhì)量快速入門(mén)指南 0次下載
- MQTT客戶(hù)端移植C語(yǔ)言 3次下載
- NodeMCU項目(三)MQTT客戶(hù)端 1次下載
- V380攝像頭客戶(hù)端下載 0次下載
- 如何使用MQTT客戶(hù)端連接阿里云MQTT服務(wù)器詳細教程說(shuō)明 29次下載
- 如何使用簡(jiǎn)單好用的PubSubClient庫來(lái)做一個(gè)最簡(jiǎn)單的MQTT客戶(hù)端 7次下載
- 紫金橋軟件客戶(hù)端的啟動(dòng)參數 3次下載
- mqtt 客戶(hù)端VS2010 59次下載
- CSDN博客客戶(hù)端源碼 1次下載
- CoolpyCould客戶(hù)端 18次下載
- Raspberry Pi樹(shù)莓派使用Python實(shí)現MQTT通信設計 202次閱讀
- 分享一款別樣的ssh客戶(hù)端-PortX 187次閱讀
- 服務(wù)器Server和客戶(hù)端Client的區別 682次閱讀
- 巨控MQTT功能推送說(shuō)明 295次閱讀
- 盤(pán)點(diǎn)2023年值得嘗試的MQTT客戶(hù)端工具 2516次閱讀
- MQTT客戶(hù)端介紹 1634次閱讀
- MQTT在線(xiàn)配置裁剪工具 663次閱讀
- MQTT在線(xiàn)代碼生產(chǎn)工具 1291次閱讀
- 一套快速實(shí)現LoRa轉MQTT的一對多通信方案 1311次閱讀
- 基于LwIP的HTTP客戶(hù)端設計 1320次閱讀
- 基于LwIP的TCP客戶(hù)端設計 1660次閱讀
- 基于RAW API的UDP客戶(hù)端設計 776次閱讀
- 密鑰服務(wù)器和客戶(hù)端常見(jiàn)問(wèn)題解答 852次閱讀
- SSH 客戶(hù)端各種特性和使用說(shuō)明 1147次閱讀
- Zoom的Web客戶(hù)端和WebRTC有什么關(guān)系 7107次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開(kāi)發(fā)指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開(kāi)關(guān)電源設計實(shí)例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論