智宇物聯(lián) 專注于提供高穩(wěn)定、高速率的三網(wǎng)物聯(lián)網(wǎng)卡
綿陽(yáng)物聯(lián)網(wǎng)入門(mén),如何使用MQTT協(xié)議,連接Tlink物聯(lián)網(wǎng)平臺(tái)
- 作者:智宇物聯(lián)
- 發(fā)表時(shí)間:2022年10月16日
- 來(lái)源:智宇物聯(lián)
大家好,超子又和大家見(jiàn)面了,超子我能力有限,技術(shù)不高,有什么錯(cuò)誤的地方,歡迎板磚。今天我們一起構(gòu)建MQTT協(xié)議中的CONNECT報(bào)文連接Tlink物聯(lián)網(wǎng)平臺(tái)。在前面的文章《Tlink物聯(lián)網(wǎng)平臺(tái)使用心得(1)建立產(chǎn)品和設(shè)備》中,超子介紹了Tlink平臺(tái)如何建立設(shè)備組和設(shè)備,以及傳感器的相關(guān)設(shè)置,這些內(nèi)容需要大家提前掌握。然后我們來(lái)構(gòu)建報(bào)文。
首先是CONNECT報(bào)文的固定報(bào)頭是,0x10 ??,??表示剩余長(zhǎng)度,我們需要確定了可變報(bào)頭和負(fù)載后才能計(jì)算出剩余長(zhǎng)度,所以暫時(shí)待定。
CONNECT報(bào)文中的可變報(bào)頭用來(lái)設(shè)置信息和各種功能,Tlink物聯(lián)網(wǎng)平臺(tái)和阿里云物聯(lián)網(wǎng)平臺(tái)的一樣,所以直接把阿里云的可變報(bào)頭拿過(guò)來(lái)就行,簡(jiǎn)化的16進(jìn)制書(shū)寫(xiě),去掉0x,結(jié)果如下:
00 04 4D 51 54 54 04 C2 00 64
CONNECT報(bào)文中的負(fù)載包含客戶端ID,用戶名和密碼3個(gè)重要的消息,先總結(jié)下各種信息對(duì)應(yīng)的什么內(nèi)容。

用戶名和密碼說(shuō)明
客戶端ID:對(duì)應(yīng)設(shè)備的序列號(hào)
用戶名:如上圖所示,是固定的MQTT
密碼:如上圖所示,是固定的MQTTPW
用戶名和密碼已經(jīng)確定下來(lái)了,我們一起來(lái)找一下客戶端ID的信息在什么地方。

設(shè)備序列號(hào)
我們?cè)谧髠?cè)的導(dǎo)航欄中,進(jìn)入設(shè)備管理界面,可以看到我們上一篇文章中新建的兩個(gè)設(shè)備,紅圈所示就是設(shè)備的序列號(hào),也就是我們需要的客戶端ID。我們先以開(kāi)關(guān)設(shè)備為例,設(shè)備的序列號(hào)長(zhǎng)度是16,我們把設(shè)備序列號(hào)字符串換成16進(jìn)制,而且前面還得加上兩個(gè)字節(jié),表示長(zhǎng)度16,最終的16進(jìn)制,簡(jiǎn)化書(shū)寫(xiě),去掉0x后的結(jié)果如下:
00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34
再看負(fù)載中的用戶名,是固定的MQTT,長(zhǎng)度4個(gè)字節(jié),那么換成16進(jìn)制,然后前面再加上兩個(gè)字節(jié),表示長(zhǎng)度4,最終的16進(jìn)制,簡(jiǎn)化書(shū)寫(xiě),去掉0x后的結(jié)果如下:
00 04 4D 51 54 54
再看負(fù)載中的密碼,是固定的MQTTPW,長(zhǎng)度6個(gè)字節(jié),那么換成16進(jìn)制,然后前面再加上兩個(gè)字節(jié),表示長(zhǎng)度6,最終的16進(jìn)制,簡(jiǎn)化書(shū)寫(xiě),去掉0x后的結(jié)果如下:
00 06 4D 51 54 54 50 57
到此整個(gè)負(fù)載就搞定了,接下來(lái)我們把客戶端ID+用戶名+密碼連接起來(lái),簡(jiǎn)化16進(jìn)制,去掉0x結(jié)果如下:
00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34 00 04 4D 51 54 54 00 06 4D 51 54 54 50 57
我們一起數(shù)一下,整個(gè)負(fù)載部分共計(jì)32個(gè)字節(jié) 。剩余長(zhǎng)度=可變報(bào)頭+負(fù)載=10+32=42,42/128=0,一個(gè)字節(jié)就能搞定,換成16進(jìn)制就是0x2A,最后我們把固定報(bào)頭、可變報(bào)頭和負(fù)載連接起來(lái),簡(jiǎn)化16進(jìn)制,去掉0x的最終結(jié)果如下:
10 2A 00 04 4D 51 54 54 04 C2 00 64 00 10 32 33 4C 36 39 38 4F 4A 44 53 30 51 31 4D 47 34 00 04 4D 51 54 54 00 06 4D 51 54 54 50 57
到此CONNECT報(bào)文構(gòu)建完畢,我們用網(wǎng)絡(luò)助手實(shí)測(cè)一下,Tlink物聯(lián)網(wǎng)平臺(tái)提供的域名和端口號(hào)如下所示:
mq.tlink.io:1883
我們實(shí)際測(cè)試一下CONNECT報(bào)文,看看能不能正常的連接上Tlink物聯(lián)網(wǎng)平臺(tái)。

網(wǎng)絡(luò)助手實(shí)際測(cè)試報(bào)文
使用網(wǎng)絡(luò)調(diào)試助手軟件發(fā)送報(bào)文后,Tlink物聯(lián)網(wǎng)平臺(tái)回復(fù)我們的CONNACK報(bào)文中,我們看最后1個(gè)字節(jié)是0x00,,說(shuō)明我們的CONNECT報(bào)文正確。如此一來(lái)我們今天的任務(wù)就圓滿完成了。
- 綿陽(yáng)自動(dòng)售貨機(jī)物聯(lián)卡的核心功能與優(yōu)勢(shì)
- 綿陽(yáng)物聯(lián)卡:解鎖自動(dòng)售貨機(jī)的智能進(jìn)化密碼
- 綿陽(yáng)物聯(lián)卡:解鎖自動(dòng)售貨機(jī)智能化的關(guān)鍵密鑰
- 綿陽(yáng)重構(gòu)無(wú)人零售的智慧引擎(物聯(lián)卡)
- 綿陽(yáng)智能終端革命:解碼自動(dòng)售貨機(jī)重構(gòu)零售業(yè)的底層邏輯
- 綿陽(yáng)物聯(lián)卡賦能自動(dòng)售貨機(jī):智能化升級(jí)與價(jià)值釋放
- 綿陽(yáng)自動(dòng)售貨機(jī)物聯(lián)卡:智能化、場(chǎng)景化與生態(tài)化演進(jìn)?
- 綿陽(yáng)自動(dòng)售貨機(jī)的數(shù)字化躍遷引擎?
- 綿陽(yáng)自動(dòng)售貨機(jī)物聯(lián)卡:開(kāi)啟智能零售新時(shí)代
- 綿陽(yáng)物聯(lián)卡:自動(dòng)售貨機(jī)智能化轉(zhuǎn)型的核心驅(qū)動(dòng)力
- 綿陽(yáng)醫(yī)院需要物聯(lián)網(wǎng)卡嗎(什么是物聯(lián)網(wǎng)卡,與手機(jī)卡有什么區(qū)別,能用在手機(jī)上嗎)
- 綿陽(yáng)智能穿戴物聯(lián)卡行業(yè)綜合解決方案
- 綿陽(yáng)安防監(jiān)控物聯(lián)卡行業(yè)綜合解決方案:智能化時(shí)代的“安全守護(hù)者”
- 綿陽(yáng)物聯(lián)卡是如何盤(pán)活自動(dòng)售貨機(jī)市場(chǎng)的?
- 綿陽(yáng)車(chē)聯(lián)網(wǎng)物聯(lián)卡行業(yè)綜合解決方案:驅(qū)動(dòng)智慧出行的“數(shù)字紐帶”
- 綿陽(yáng)POS機(jī)物聯(lián)卡行業(yè)綜合解決方案:驅(qū)動(dòng)智能支付場(chǎng)景的數(shù)字化轉(zhuǎn)型
- 綿陽(yáng)智慧林業(yè):構(gòu)建全鏈路數(shù)字化生態(tài)系統(tǒng)的創(chuàng)新實(shí)踐
- 綿陽(yáng)智慧農(nóng)業(yè):重塑現(xiàn)代農(nóng)業(yè)的數(shù)字化革命?
- 綿陽(yáng)智慧醫(yī)療:生命科學(xué)革命下的醫(yī)療生態(tài)重構(gòu)
- 綿陽(yáng)智慧城市綜合解決方案:構(gòu)建未來(lái)城市的智慧引擎