大家好,超子又和大家見面了,超子我能力有限,技術不高,有什么錯誤的地方,歡迎板磚。今天我們測試一下Tlink物聯(lián)網平臺上傳數據的功能,也就是構建一下發(fā)布數據的PUBLISH報文命令。Tlink物聯(lián)網平臺有一個很好用的功能就是可以方便的下載歷史數據。
首先我們登陸管理臺,然后進入設備管理界面,我們使用數據設備測試上傳數據的功能。我們點擊右側紅圈所示的數據設備的設置連接按鍵。
我們在建立數據設備時,創(chuàng)建了兩個傳感器,一個溫度temp,一個濕度humi,我們要注意一點,上傳數據的時候,我們是以紅圈中的讀寫標識為準的,超子習慣將讀寫標識和傳感器名稱設置成一樣的,方便觀察和識別。
讀寫標識是構建數據的關鍵信息,假設我們需要上傳溫度數據22.2,濕度數據33.3,那么數據格式如下所示:
{"sensorDatas":[{"flag":"temp","value":22.2},{"flag":"humi","value":33.3}]}
注意里面的temp和humi對應讀寫標識,不能寫錯了,寫錯了數據就找不到家了。我們換成16進制,簡化書寫,去掉0x的結果如下,這個就是我們的等級0的PUBLISH報文的負載內容:
7B 22 73 65 6E 73 6F 72 44 61 74 61 73 22 3A 5B 7B 22 66 6C 61 67 22 3A 22 74 65 6D 70 22 2C 22 76 61 6C 75 65 22 3A 32 32 2E 32 7D 2C 7B 22 66 6C 61 67 22 3A 22 68 75 6D 69 22 2C 22 76 61 6C 75 65 22 3A 33 33 2E 33 7D 5D 7D
然后我們再來看等級0的PUBLISH報文的固定報頭,是0x30 ??,??是剩余長度,負載已經構建好了,等我們確定了可變報頭之后,再計算剩余長度??勺儓箢^是發(fā)布數據用的Topic,我們上傳后臺數據時,需要使用的Topic是設備的序列號,數據設備的序列號是42CR0B1Q5PQVM7FW,簡化書寫去掉0x的結果如下:
34 32 43 52 30 42 31 51 35 50 51 56 4D 37 46 57
總長度的是16,然后不要忘了再加上2個字節(jié)表示長度16,所以可變報頭最終結果如下,總共18個字節(jié):
00 10 34 32 43 52 30 42 31 51 35 50 51 56 4D 37 46 57
我們再看一下剛剛構建好的數據,長度總共是75個字節(jié),那么剩余長度=可變+負載=18+75=93,一個字節(jié)就行,16進制是0x5D,那么固定報頭就是0x30 0x5D,然后我們把固定,可變和負載,3個部分連接起來,16進制,簡化書寫,去掉0x:
30 5D 00 10 34 32 43 52 30 42 31 51 35 50 51 56 4D 37 46 57 7B 22 73 65 6E 73 6F 72 44 61 74 61 73 22 3A 5B 7B 22 66 6C 61 67 22 3A 22 74 65 6D 70 22 2C 22 76 61 6C 75 65 22 3A 32 32 2E 32 7D 2C 7B 22 66 6C 61 67 22 3A 22 68 75 6D 69 22 2C 22 76 61 6C 75 65 22 3A 33 33 2E 33 7D 5D 7D
到此整個往Tlink物聯(lián)網平臺服務器上傳數據的,等級0的PUBLISH報文就構建好了。我們需要用網絡調試助手軟件,實際測試一下,要注意先發(fā)CONNECT報文之后,再發(fā)我們的PUBLISH報文。
我們首先發(fā)送CONNECT報文,成功后,發(fā)送PUBLISH報文,因為是等級0,所以服務器不會有什么回復,我們需要到后臺看一下,數據有沒有上傳到后臺。
左側導航欄選擇監(jiān)控中心,我們可以看到22.2和33.3已經顯示了,說明我們上傳數據的等級0的PUBLISH報文正確,我們還可點擊左邊紅圈中的歷史查詢。
可以查詢歷史數據,以及查看數據統(tǒng)計。
我們還可以選擇左側導航欄的數據下載,選擇需要下載數據的設備,然后再右側的紅圈中,設置需要下載的數據時間段和郵箱即可下載歷史數據,非常的方便。