1. 程式人生 > >關於TCP和MQTT之間的轉換

關於TCP和MQTT之間的轉換

ima 基礎 說了 href 感覺 部分 -c 聯網 一點

現在物聯網流行的就是MQTT

其實MQTT就是在TCP的基礎上建立了一套協議

可以看這個,本來我自己想用Wireshark監聽一下,不過百度一搜索一大把,我就不測試了

https://blog.csdn.net/libaineu2004/article/details/78773610

所以說只要可以TCP連接了,然後只要知道了MQTT的協議,,,,直接就可以用TCP來當做MQTT來使用了

不過要寫一些配合MQTT通信的協議,然後發送和接收數據都通過協議處理之後,通過TCP發送和接收,

其實有現成的寫好的協議

可以看這兩篇

http://sun2y.me/2017/05/12/MQTT協議在STM32上的移植/

https://blog.csdn.net/kh766200466/article/details/79694119

我也打算先移植(應用)到stm32上,不過我不打算用網絡模塊W5500,雖然用的挺熟,感覺沒有新鮮感

技術分享圖片

我感覺應該用ESP8266實現

其實思路很簡單,8266建TCP客戶端(用AT指令),因為現在沒有AT指令版的MQTT,所以用AT指令配置8266

然後連接的服務器的地址是我的雲端的MQTT,當然TCP是透傳的,然後發數據的時候都通過MQTT協議封裝部分的程序,然後

發給WIFI模塊,然後WIFI模塊再發給MQTT服務器,,,接收也一樣......然後....就沒然後了,,可以用了再說

不過剛剛好像看透了一樣.......

其實呢...只要用網絡監控的軟件看見了數據,然後再看下面的MQTT協議.....就可以自己寫了

https://legacy.gitbook.com/book/mcxiaoke/mqtt-cn/details

咱試一試自己寫,我呢只是看著協議和傳回來的數據,,,然後咱自己試一試寫個在TCP連接之後,發個數據(就是MQTT規定的協議)連接MQTT

技術分享圖片

首先第一個字節是

0x10

技術分享圖片

技術分享圖片

技術分享圖片

算啦還是直接一張圖搞定

技術分享圖片

用TCP連接上以後,然後用TCP發上面的指令,,,就連接上MQTT了 .....

然後測試一下把........................................

技術分享圖片

技術分享圖片

然後就不說了,也不想說了,大家自己看協議把,,,,因為讓自己感覺MQTT在我心中的地位大大的受到了..........唉,,,,感覺自己講出來的東西確實感覺竟然的如此的簡單......

只要弄透了,自己寫協議就好啦,.....我自己去寫協議去,估計寫的變量少一點,51單片機就可以....

最後說一下如果是4版本的MQTT

技術分享圖片

關於TCP和MQTT之間的轉換