電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學(xué)習在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區
創(chuàng )作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內不再提示
創(chuàng )作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>mqttclient跨平臺MQTT客戶(hù)端

mqttclient跨平臺MQTT客戶(hù)端

2022-06-21 | zip | 1.14 MB | 次下載 | 免費

資料介紹

授權協(xié)議 Apache
開(kāi)發(fā)語(yǔ)言 C/C++
操作系統 跨平臺
軟件類(lèi)型 開(kāi)源軟件
所屬分類(lèi) 服務(wù)器軟件、 JMS/消息中間件

軟件簡(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 庫

整體框架

擁有非常明確的分層框架。

pYYBAGKn9aCAT93fAACEEyhDI_E610.png

目前已實(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
?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開(kāi)發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開(kāi)關(guān)電源設計實(shí)例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書(shū))
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實(shí)例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動(dòng)電路設計》 溫德?tīng)栔?zhù)
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學(xué)會(huì )AVR單片機與C語(yǔ)言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看