智宇物聯(lián) 專注于提供高穩(wěn)定、高速率的三網(wǎng)物聯(lián)網(wǎng)卡
臨沂中國移動OneNet物聯(lián)網(wǎng)平臺使用心得(3)MQTT協(xié)議后臺命令下發(fā)
- 作者:智宇物聯(lián)
- 發(fā)表時間:2022年10月13日
- 來源:智宇物聯(lián)

題目
大家好,超子又和大家見面了,超子我能力有限,技術不高,有什么錯誤的地方,歡迎板磚。今天我們測試一下中國移動云OneNet物聯(lián)網(wǎng)平臺下發(fā)命令功能,也就是分析一下服務器推送的PUBLISH報文命令。超子在前面介紹阿里云物聯(lián)網(wǎng)平臺的時候,詳細介紹了MQTT協(xié)議報文的構成,這里就不贅述了,我們直接操作。

首先我們進入開發(fā)者中心,然后進入我們的產(chǎn)品中,點擊左側導航欄,進入設備列表。然后再對應的設備內(nèi),找到更多操作,然后選擇下發(fā)命令,在下發(fā)命令之前,一定要先發(fā)送CONNECT報文,等設備在線后,才能發(fā)送,不然設備不在線,發(fā)了命令也收不到。

進入下發(fā)命令的頁面后,點擊靠近右上角的下發(fā)命令按鍵。

我們可以發(fā)送字符串格式或16進制格式的數(shù)據(jù),這里我們就選擇發(fā)字符串吧,然后命令框中輸入abc123,然后頁面往下看,點擊發(fā)送按鍵,再提醒一下大家,點擊發(fā)送之前,一定要先發(fā)送CONNECT報文,讓設備在線。

我們用網(wǎng)絡調(diào)試助手軟件,測試一下,首先是發(fā)送CONNECT報文,我們看到服務器正確的回復了我們,說明設備在線了,然后在點擊OneNet服務器后臺發(fā)送命令的按鍵后,紅圈中就是接收到的PUBLISH報文命令。我們復制下來分析一下。
30 32 00 2A 24 63 72 65 71 2F 62 66 62 62 32 30 63 37 2D 34 35 62 65 2D 35 30 66 62 2D 62 65 34 65 2D 34 61 65 63 64 38 35 66 31 65 65 64 61 62 63 31 32 33
以上是服務器發(fā)給我們的數(shù)據(jù),都是16進制的數(shù)據(jù),簡化書寫,去掉了0x。開頭是30表示是等級0的PUBLISH報文,發(fā)送方向是S->C,也就是服務器推送給我們的命令。再看第2個字節(jié)是0x32,十進制就是50,表示可變報頭和負載一共50個字節(jié),因為是等級0的PUBLISH報文,所以可變報文就是topic字符串再加上2個字節(jié)的長度表示。負載就是我們在后臺下發(fā)的命令數(shù)據(jù),負載數(shù)據(jù)不需要2個字節(jié)的長度表示,所以命令是多少字節(jié),負載數(shù)據(jù)就是多少字節(jié)。
接下來的兩個字節(jié)0x00 0x2A ,換成16進制是42,表示topic長度是42個字節(jié),然后再加上0x00 0x2A這兩個字節(jié)本身,長度就是44,也就是可變報頭的長度。然后我們從0x00 0x2A 往后數(shù)42個字節(jié),就是topic字符串名稱數(shù)據(jù) ,截取出來如下所示:
24 63 72 65 71 2F 62 66 62 62 32 30 63 37 2D 34 35 62 65 2D 35 30 66 62 2D 62 65 34 65 2D 34 61 65 63 64 38 35 66 31 65 65 64
以上42個字節(jié)就是topic,都是16進制,我們換成字符串就是:$
creq/bfbb20c7-45be-50fb-be4e-4aecd85f1eed,這個就是服務器下發(fā)命令中使用的topic。
最后還剩下6個字節(jié)0x61 0x62 0x63 0x31 0x32 0x33,就是負載數(shù)據(jù)了,我們換成字符串,因為我們剛才下發(fā)的時候,用的是字符串形式,換成字符串后的結果是abc123,和我們剛才從后臺下發(fā)的命令一樣,說明整個下發(fā)命令的流程正確。
- 臨沂智能穿戴物聯(lián)卡行業(yè)綜合解決方案
- 臨沂安防監(jiān)控物聯(lián)卡行業(yè)綜合解決方案:智能化時代的“安全守護者”
- 臨沂物聯(lián)卡是如何盤活自動售貨機市場的?
- 臨沂車聯(lián)網(wǎng)物聯(lián)卡行業(yè)綜合解決方案:驅動智慧出行的“數(shù)字紐帶”
- 臨沂POS機物聯(lián)卡行業(yè)綜合解決方案:驅動智能支付場景的數(shù)字化轉型
- 臨沂智慧林業(yè):構建全鏈路數(shù)字化生態(tài)系統(tǒng)的創(chuàng)新實踐
- 臨沂智慧農(nóng)業(yè):重塑現(xiàn)代農(nóng)業(yè)的數(shù)字化革命?
- 臨沂智慧醫(yī)療:生命科學革命下的醫(yī)療生態(tài)重構
- 臨沂智慧城市綜合解決方案:構建未來城市的智慧引擎
- 臨沂智慧交通綜合解決方案