效果實現視頻(點擊可以觀看)
如圖1手上有一個STM32F103CBT6的單片機控制板以及一個4G的DTU模塊(合宙Cat1 4G模塊Air724UG),
圖1
如圖2免費注冊了OneNET Studio平臺,如何將我們需要的數據上發上去展示呢?本系列文檔將從以下2個方面進行講解分析:
OneNET Studio云平臺STM32物聯網開發(1)- MQTT協議設備接入數據上報測試
(文章在CSND網站的發表地址:
https://blog.csdn.net/weixin_44862509/article/details/127015383)
OneNET Studio云平臺STM32物聯網開發(2)- STM32+Air724UG(4G模組)數據采集顯示上報
(文章在CSND網站的發表地址:
https://blog.csdn.net/weixin_44862509/article/details/127023743)
圖2
本文主要講解第一部分MQTT協議設備接入數據上報測試,主要講解如何通過MQTTX軟件將需要上報的數據上發到平臺展示其中分為以下八個步驟,大家認真看完以下八個步驟結合圖片以及文字介紹并且自己動手在OneNET免費平臺上創建自己的OneNET Studio的產品和設備就可以快速體驗數據上報及展示的功能。并且通過第二篇文檔可以順利的實現STM32單片機和Cat1 4G Air724UG ,通過MQTT協議將需要的數據輕松上發到OneNET Studio。
第一步 創建產品:先在OneNET Studio 建立一個產品,如圖3的步驟1,2,3的位置順序進入點擊“創建產品”的頁面,
圖3
如圖4根據自己需要創建的產品填寫信息,
圖4
如圖5,填寫自己的相關信息(如果第一次創建沒有把握一次成功,可以按照我的選項來填寫信息,這樣的話到最后一步,如果沒有完成功能后可以更好的查找問題)并點擊“確認”后,可以看到如圖6產品創建成功的頁面。
圖5
圖6
第二步 創建設備:在第一步創建的產品里,創建第一臺設備,如圖7的箭頭1,2,3順序的步驟點擊“添加設備”頁面。
圖7
填寫信息如圖8,點擊“確認”,進入如圖9。
圖8
圖9
點擊圖9的1位置“詳情”可以進入如圖10。如圖10的幾個箭頭的位置的信息非常關鍵,以上信息是實現OneNET云平臺與硬件設備連接的關鍵信息,一定要記錄,同時以上信息也要保密。
圖10
第三步 MQTTX基本設置:用MQTT X 客戶端軟件與平臺連接并上發數據,這一步非常關鍵,這一步能否走通直接決定終端硬件是否能將數據上報到平臺,其實單片機編程難度不大,但是如果不能確保服務器是否可以上報數據那是非常糟糕的,所以我們采用MQTT X 客戶端軟件(免費下載)在電腦端運行并填寫聯網信息測試數據是否可以上報來提高最終硬件終端的開發效率。如圖11為MQTTx 的界面,按照圖11的步驟填寫聯網信息。如圖11的1,2,3,4,5,6位置全部正確填寫后點擊位置7可以實現MQTTX與OneNET鏈接。
圖11
第四步 填寫服務器連接信息:如何填寫信息呢,這是本文的關鍵,也是所有后續開發的關鍵。
Client ID:設備名稱(如圖10的1號箭頭位置)
Host:服務器地址 studio-mqtt.heclouds.com (查看文檔中心可以獲得 https://open.iot.10086.cn/doc/v5/develop/detail/638)
Port:端口號 1883 (查看文檔中心可以獲得)
Username:所屬產品ID (如圖10的1號箭頭位置)
Password:密碼 (查看文檔中心可以獲得 https://open.iot.10086.cn/doc/v5/develop/detail/624)
第五步 計算服務器密碼:如何獲得鏈接密碼,需要下載一個工具 Token生成工具,如圖12,
圖12
圖12位置1為第四步所用到的“產品屬所ID”,位置2為“設備名稱”,位置4為圖10的3號位置的“設備秘鑰”,位置3為一個時間戳,這不是很好理解我簡單用我自己理解的話術說下希望可以幫助大家理解(簡單理解就是 將當前的日期和時間減去過去某一個日期和時間計算的秒數,我們這里需要填寫設備賬號到期的密碼,所以需要將以后的某個時間比如當前是2022年9月23日,我想設備賬號有效期為一年那么就是將2023年9月23日 15點30分,減掉過去的一個時間點(即時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現在的總秒數 )。只有這樣計算出來的時間戳放進去計算出來的密碼才可以使用一年),具體的時間戳換算公式可以使用在線工具。如圖13的步驟可以計算出有效期為1年的時間戳“1695452640”,
圖13
這個需要根據具體的使用時間填寫,不過這個時間戳非常關鍵,因為在后面上發數據的時候要求帶時間戳,在程序里帶的時間戳一定不能超過這個時間點。
圖14
點擊如圖14的1號位置的“Generate”可以獲得密碼,如圖14的2號位置為計算出來的密碼,填寫到MQTTX 的密碼位置。
第五步 連接服務器:如圖15 填寫好MQTTX 鏈接平臺的基本賬號信息,圖15位置1選擇3.1.1,點擊圖15位置2 鏈接服務器,
圖15
服務器鏈接成功后如圖16,如圖出現英文提示說明沒有鏈接成功,則是密碼計算有問題或者是相關信息沒有填寫正確(登入信息一定要用自己創建產品和設備產生的信息,不能直接用我圖片的信息,要不然你們的數據就發到我的平臺上來了)。
圖16
MQTTX與云平臺服務器鏈接成功后,如圖17,在平臺上的設備管理頁面可以看到圖17位置2顯示設備狀態為“在線”,這里也非常關鍵一定要出現和圖16一樣的頁面才算前面的準備工作是做成功的,如果有一點不一樣那就要回到前面的步驟繼續檢查,細心發現問題。或者請教他人,如果需要請教作者本人則一定要告知你是在哪一步驟的哪個圖片上出差錯。
圖17
第六步 上報數據格式整理:發自己的數據到自己創建的設備平臺展示需要填寫發布屬性上報topic,上報topic就理解為是你需要發布數據的位置,這里需要設置和你的產品或設備相關的信息,這個根據文檔中心(https://open.iot.10086.cn/doc/v5/develop/detail/639)可以獲得格式為:$sys/{pid}/{device-name}/thing/property/post,只需要將{pid}修改為你自己的“所屬產品ID ”,{device-name}修為為你自己的“設備名稱”以及按平臺要求的數據格式整理數據:
{
"id": "0001",
"version": "1.0",
"params": {
"LightLux": {
"value": 5.23,
"time": 1663918830000
},
"CurrentTemperature": {
"value": 23.6,
"time": 1663918830000
}
}
}
上發數據的屬性名稱在如圖18可以查看,如圖18的1號位置和2號位置進入詳情頁面可以選擇需要的屬性的標識符,也可以創建自己的屬性及相關的標識符。
圖18
如圖19位屬性標識符的獲取,如圖19的1位置和2位置查看光照值和溫度的屬性標識符并填寫到自己的數據格式里。以上數據time字段后的時間戳一定要在生成密碼的時間戳之前,在換算的時候選擇ms為單位,我以上的時間是2022-09-23 15:40:30的時間。
圖19
第七步 上報數據到平臺:上發數據以及數據展示,如圖20 將自己整理的上報topic和數據格式填寫在圖20的 1和2位置,并且點擊圖20的位置3發送數據,
圖20
可以看到OneNET云平臺Studio上有你上報的數據,在相應的屬性里,如圖21的1和2位置有我們上發的數據。
圖21
第八步 讀取數據上報狀態:訂閱屬性上報結果通知topic,就是獲取設備上報數據后服務器返回的數據,這一步和第六步一樣將 $sys/{pid}/{device-name}/thing/property/post/reply 按自己的設備名稱及產品ID,如圖22,從圖22的1位置點擊進入,在圖22的2位置填寫信息,點擊點擊圖22的3號位置,
圖22
再次發送數據時可以看到圖23的3號位置有數據上報成功后服務器回復的信息,大家也可以通過這個回復來判斷數據是否發送成功。
圖23
第九步 回顧總結:結合如圖23的4個位置我們再進行回顧下,1位置為與服務鏈接成功的標志,2位置為服務器回復發送狀態的topic的位置,3位置為服務器回復的數據,4位置為我們上發的數據,5位置為我們上發的topic。
需要用到的工具及網址:
OneNET 云平臺地址:https://open.iot.10086.cn/
時間戳在線計算網址:https://tool.lu/timestamp/
MQTTX 客戶端軟件
token計算軟件
需要用到的賬號參數:
所屬產品ID:i7ybqx3ZNk
設備密鑰:KJ/ll/7hfOpjsUlz------9a1SyjvH40/X3kVRF8UU=
設備名稱 P0001
屬性標識符 LightLux CurrentTemperature
希望我的文章能幫到大家,文章里涉及到的軟件工具,電路圖資料,程序源代碼等大家可以 搜索 WX公眾號 “和我學單片機”回復“OneNET01”回復帶密碼的百度網盤下載鏈接,大家可以自行下載。如果資料不夠或學習中遇到問題可以在公眾號留言。更新: 2022年9月24日 楊榮國 個人WX : tong1366
審核編輯:湯梓紅
-
單片機
+關注
關注
6039文章
44583瀏覽量
636494 -
物聯網
+關注
關注
2910文章
44778瀏覽量
374666 -
STM32
+關注
關注
2270文章
10910瀏覽量
356604 -
MQTT
+關注
關注
5文章
652瀏覽量
22566
發布評論請先 登錄
相關推薦
評論