0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

OneNET Studio云平臺(tái)STM32物聯(lián)網(wǎng)開發(fā)(1)- MQTT協(xié)議設(shè)備接入數(shù)據(jù)上報(bào)測試

楊榮國 ? 來源:楊榮國 ? 作者:楊榮國 ? 2022-09-25 01:01 ? 次閱讀

效果實(shí)現(xiàn)視頻(點(diǎn)擊可以觀看)

如圖1手上有一個(gè)STM32F103CBT6的單片機(jī)控制板以及一個(gè)4G的DTU模塊(合宙Cat1 4G模塊Air724UG),

pYYBAGMvNFuAbpTDAB07mLWls-U346.png

圖1

如圖2免費(fèi)注冊(cè)了OneNET Studio平臺(tái),如何將我們需要的數(shù)據(jù)上發(fā)上去展示呢?本系列文檔將從以下2個(gè)方面進(jìn)行講解分析:
OneNET Studio云平臺(tái)STM32物聯(lián)網(wǎng)開發(fā)(1)- MQTT協(xié)議設(shè)備接入數(shù)據(jù)上報(bào)測試
(文章在CSND網(wǎng)站的發(fā)表地址:
https://blog.csdn.net/weixin_44862509/article/details/127015383)
OneNET Studio云平臺(tái)STM32物聯(lián)網(wǎng)開發(fā)(2)- STM32+Air724UG(4G模組)數(shù)據(jù)采集顯示上報(bào)
(文章在CSND網(wǎng)站的發(fā)表地址:
https://blog.csdn.net/weixin_44862509/article/details/127023743)

pYYBAGMvNk-AawNMAAOqWtRuOYE038.png

圖2

本文主要講解第一部分MQTT協(xié)議設(shè)備接入數(shù)據(jù)上報(bào)測試,主要講解如何通過MQTTX軟件將需要上報(bào)的數(shù)據(jù)上發(fā)到平臺(tái)展示其中分為以下八個(gè)步驟,大家認(rèn)真看完以下八個(gè)步驟結(jié)合圖片以及文字介紹并且自己動(dòng)手在OneNET免費(fèi)平臺(tái)上創(chuàng)建自己的OneNET Studio的產(chǎn)品和設(shè)備就可以快速體驗(yàn)數(shù)據(jù)上報(bào)及展示的功能。并且通過第二篇文檔可以順利的實(shí)現(xiàn)STM32單片機(jī)和Cat1 4G Air724UG ,通過MQTT協(xié)議將需要的數(shù)據(jù)輕松上發(fā)到OneNET Studio。

第一步 創(chuàng)建產(chǎn)品:先在OneNET Studio 建立一個(gè)產(chǎn)品,如圖3的步驟1,2,3的位置順序進(jìn)入點(diǎn)擊“創(chuàng)建產(chǎn)品”的頁面,

poYBAGMvNl6AQKiIAAQxi6SiH3A149.png

圖3

如圖4根據(jù)自己需要?jiǎng)?chuàng)建的產(chǎn)品填寫信息,

poYBAGMvNmqADPGDAAHj97fU9WM410.png

圖4

如圖5,填寫自己的相關(guān)信息(如果第一次創(chuàng)建沒有把握一次成功,可以按照我的選項(xiàng)來填寫信息,這樣的話到最后一步,如果沒有完成功能后可以更好的查找問題)并點(diǎn)擊“確認(rèn)”后,可以看到如圖6產(chǎn)品創(chuàng)建成功的頁面。

pYYBAGMvNnOAaFGtAAHbku8EpR0394.png

圖5

poYBAGMvNnqAbQ1JAAQrsE3crw0160.png

圖6

第二步 創(chuàng)建設(shè)備:在第一步創(chuàng)建的產(chǎn)品里,創(chuàng)建第一臺(tái)設(shè)備,如圖7的箭頭1,2,3順序的步驟點(diǎn)擊“添加設(shè)備”頁面。

pYYBAGMvNoGAJ6E4AAQ5Dm9URxE197.png

圖7

填寫信息如圖8,點(diǎn)擊“確認(rèn)”,進(jìn)入如圖9。

poYBAGMvNomAJt1AAANTx9eMvwU233.png

圖8

pYYBAGMvNpKAS8UZAAQtETwzwkc680.png

圖9

點(diǎn)擊圖9的1位置“詳情”可以進(jìn)入如圖10。如圖10的幾個(gè)箭頭的位置的信息非常關(guān)鍵,以上信息是實(shí)現(xiàn)OneNET云平臺(tái)與硬件設(shè)備連接的關(guān)鍵信息,一定要記錄,同時(shí)以上信息也要保密。

pYYBAGMvNrKANFTPAARad2XjY_Y026.png

圖10

第三步 MQTTX基本設(shè)置:用MQTT X 客戶端軟件與平臺(tái)連接并上發(fā)數(shù)據(jù),這一步非常關(guān)鍵,這一步能否走通直接決定終端硬件是否能將數(shù)據(jù)上報(bào)到平臺(tái),其實(shí)單片機(jī)編程難度不大,但是如果不能確保服務(wù)器是否可以上報(bào)數(shù)據(jù)那是非常糟糕的,所以我們采用MQTT X 客戶端軟件(免費(fèi)下載)在電腦端運(yùn)行并填寫聯(lián)網(wǎng)信息測試數(shù)據(jù)是否可以上報(bào)來提高最終硬件終端的開發(fā)效率。如圖11為MQTTx 的界面,按照?qǐng)D11的步驟填寫聯(lián)網(wǎng)信息。如圖11的1,2,3,4,5,6位置全部正確填寫后點(diǎn)擊位置7可以實(shí)現(xiàn)MQTTX與OneNET鏈接。

poYBAGMvNryAcHUNAAGKZkWTBAI305.png

圖11

第四步 填寫服務(wù)器連接信息:如何填寫信息呢,這是本文的關(guān)鍵,也是所有后續(xù)開發(fā)的關(guān)鍵。
Client ID:設(shè)備名稱(如圖10的1號(hào)箭頭位置)
Host:服務(wù)器地址 studio-mqtt.heclouds.com (查看文檔中心可以獲得 https://open.iot.10086.cn/doc/v5/develop/detail/638)
Port:端口號(hào) 1883 (查看文檔中心可以獲得)
Username:所屬產(chǎn)品ID (如圖10的1號(hào)箭頭位置)
Password:密碼 (查看文檔中心可以獲得 https://open.iot.10086.cn/doc/v5/develop/detail/624)

第五步 計(jì)算服務(wù)器密碼:如何獲得鏈接密碼,需要下載一個(gè)工具 Token生成工具,如圖12,

pYYBAGMvNsiAWnBsAADWC0kwoBc517.png

圖12

圖12位置1為第四步所用到的“產(chǎn)品屬所ID”,位置2為“設(shè)備名稱”,位置4為圖10的3號(hào)位置的“設(shè)備秘鑰”,位置3為一個(gè)時(shí)間戳,這不是很好理解我簡單用我自己理解的話術(shù)說下希望可以幫助大家理解(簡單理解就是 將當(dāng)前的日期和時(shí)間減去過去某一個(gè)日期和時(shí)間計(jì)算的秒數(shù),我們這里需要填寫設(shè)備賬號(hào)到期的密碼,所以需要將以后的某個(gè)時(shí)間比如當(dāng)前是2022年9月23日,我想設(shè)備賬號(hào)有效期為一年那么就是將2023年9月23日 15點(diǎn)30分,減掉過去的一個(gè)時(shí)間點(diǎn)(即時(shí)間戳是指格林威治時(shí)間1970年01月01日00時(shí)00分00秒(北京時(shí)間1970年01月01日08時(shí)00分00秒)起至現(xiàn)在的總秒數(shù) )。只有這樣計(jì)算出來的時(shí)間戳放進(jìn)去計(jì)算出來的密碼才可以使用一年),具體的時(shí)間戳換算公式可以使用在線工具。如圖13的步驟可以計(jì)算出有效期為1年的時(shí)間戳“1695452640”,

poYBAGMvNtGASHbgAAFNkBElOrU707.png

圖13


這個(gè)需要根據(jù)具體的使用時(shí)間填寫,不過這個(gè)時(shí)間戳非常關(guān)鍵,因?yàn)樵诤竺嫔习l(fā)數(shù)據(jù)的時(shí)候要求帶時(shí)間戳,在程序里帶的時(shí)間戳一定不能超過這個(gè)時(shí)間點(diǎn)。

pYYBAGMvNtqAeWRqAADlo9fjCD4270.png

圖14


點(diǎn)擊如圖14的1號(hào)位置的“Generate”可以獲得密碼,如圖14的2號(hào)位置為計(jì)算出來的密碼,填寫到MQTTX 的密碼位置。

第五步 連接服務(wù)器:如圖15 填寫好MQTTX 鏈接平臺(tái)的基本賬號(hào)信息,圖15位置1選擇3.1.1,點(diǎn)擊圖15位置2 鏈接服務(wù)器,

poYBAGMvNG6AYq4AAAFBLy6-PTs785.png

圖15


服務(wù)器鏈接成功后如圖16,如圖出現(xiàn)英文提示說明沒有鏈接成功,則是密碼計(jì)算有問題或者是相關(guān)信息沒有填寫正確(登入信息一定要用自己創(chuàng)建產(chǎn)品和設(shè)備產(chǎn)生的信息,不能直接用我圖片的信息,要不然你們的數(shù)據(jù)就發(fā)到我的平臺(tái)上來了)。

poYBAGMvNu6ActeEAAFY86FYTCk280.png

圖16


MQTTX與云平臺(tái)服務(wù)器鏈接成功后,如圖17,在平臺(tái)上的設(shè)備管理頁面可以看到圖17位置2顯示設(shè)備狀態(tài)為“在線”,這里也非常關(guān)鍵一定要出現(xiàn)和圖16一樣的頁面才算前面的準(zhǔn)備工作是做成功的,如果有一點(diǎn)不一樣那就要回到前面的步驟繼續(xù)檢查,細(xì)心發(fā)現(xiàn)問題。或者請(qǐng)教他人,如果需要請(qǐng)教作者本人則一定要告知你是在哪一步驟的哪個(gè)圖片上出差錯(cuò)。

pYYBAGMvNviAY4LKAAQtQXsqgCg781.png

圖17

第六步 上報(bào)數(shù)據(jù)格式整理:發(fā)自己的數(shù)據(jù)到自己創(chuàng)建的設(shè)備平臺(tái)展示需要填寫發(fā)布屬性上報(bào)topic,上報(bào)topic就理解為是你需要發(fā)布數(shù)據(jù)的位置,這里需要設(shè)置和你的產(chǎn)品或設(shè)備相關(guān)的信息,這個(gè)根據(jù)文檔中心(https://open.iot.10086.cn/doc/v5/develop/detail/639)可以獲得格式為:$sys/{pid}/{device-name}/thing/property/post,只需要將{pid}修改為你自己的“所屬產(chǎn)品ID ”,{device-name}修為為你自己的“設(shè)備名稱”以及按平臺(tái)要求的數(shù)據(jù)格式整理數(shù)據(jù):
{
"id": "0001",
"version": "1.0",
"params": {
"LightLux": {
"value": 5.23,
"time": 1663918830000
},
"CurrentTemperature": {
"value": 23.6,
"time": 1663918830000
}
}
}
上發(fā)數(shù)據(jù)的屬性名稱在如圖18可以查看,如圖18的1號(hào)位置和2號(hào)位置進(jìn)入詳情頁面可以選擇需要的屬性的標(biāo)識(shí)符,也可以創(chuàng)建自己的屬性及相關(guān)的標(biāo)識(shí)符。

poYBAGMvNwGAMI9bAARHKagfQio218.png

圖18

如圖19位屬性標(biāo)識(shí)符的獲取,如圖19的1位置和2位置查看光照值和溫度的屬性標(biāo)識(shí)符并填寫到自己的數(shù)據(jù)格式里。以上數(shù)據(jù)time字段后的時(shí)間戳一定要在生成密碼的時(shí)間戳之前,在換算的時(shí)候選擇ms為單位,我以上的時(shí)間是2022-09-23 15:40:30的時(shí)間。

pYYBAGMvNwyAUKRTAAIKwirfpp8024.png

圖19

第七步 上報(bào)數(shù)據(jù)到平臺(tái):上發(fā)數(shù)據(jù)以及數(shù)據(jù)展示,如圖20 將自己整理的上報(bào)topic和數(shù)據(jù)格式填寫在圖20的 1和2位置,并且點(diǎn)擊圖20的位置3發(fā)送數(shù)據(jù),

poYBAGMvNxSAJA6lAAGO6hN7cIw089.png

圖20

可以看到OneNET云平臺(tái)Studio上有你上報(bào)的數(shù)據(jù),在相應(yīng)的屬性里,如圖21的1和2位置有我們上發(fā)的數(shù)據(jù)。

pYYBAGMvNxyAfHODAAON_S9WVPw816.png

圖21

第八步 讀取數(shù)據(jù)上報(bào)狀態(tài):訂閱屬性上報(bào)結(jié)果通知topic,就是獲取設(shè)備上報(bào)數(shù)據(jù)后服務(wù)器返回的數(shù)據(jù),這一步和第六步一樣將 $sys/{pid}/{device-name}/thing/property/post/reply 按自己的設(shè)備名稱及產(chǎn)品ID,如圖22,從圖22的1位置點(diǎn)擊進(jìn)入,在圖22的2位置填寫信息,點(diǎn)擊點(diǎn)擊圖22的3號(hào)位置,

poYBAGMvNyOAOe02AAFXZ2UXoLc185.png

圖22


再次發(fā)送數(shù)據(jù)時(shí)可以看到圖23的3號(hào)位置有數(shù)據(jù)上報(bào)成功后服務(wù)器回復(fù)的信息,大家也可以通過這個(gè)回復(fù)來判斷數(shù)據(jù)是否發(fā)送成功。

poYBAGMvNyyAB55SAAG7GXEN5L8757.png

圖23

第九步 回顧總結(jié):結(jié)合如圖23的4個(gè)位置我們?cè)龠M(jìn)行回顧下,1位置為與服務(wù)鏈接成功的標(biāo)志,2位置為服務(wù)器回復(fù)發(fā)送狀態(tài)的topic的位置,3位置為服務(wù)器回復(fù)的數(shù)據(jù),4位置為我們上發(fā)的數(shù)據(jù),5位置為我們上發(fā)的topic。
需要用到的工具及網(wǎng)址:
OneNET 云平臺(tái)地址:https://open.iot.10086.cn/
時(shí)間戳在線計(jì)算網(wǎng)址:https://tool.lu/timestamp/
MQTTX 客戶端軟件
token計(jì)算軟件
需要用到的賬號(hào)參數(shù)
所屬產(chǎn)品ID:i7ybqx3ZNk
設(shè)備密鑰:KJ/ll/7hfOpjsUlz------9a1SyjvH40/X3kVRF8UU=
設(shè)備名稱 P0001
屬性標(biāo)識(shí)符 LightLux CurrentTemperature

希望我的文章能幫到大家,文章里涉及到的軟件工具,電路圖資料,程序源代碼等大家可以 搜索 WX公眾號(hào) “和我學(xué)單片機(jī)”回復(fù)“OneNET01”回復(fù)帶密碼的百度網(wǎng)盤下載鏈接,大家可以自行下載。如果資料不夠或?qū)W習(xí)中遇到問題可以在公眾號(hào)留言。更新: 2022年9月24日 楊榮國 個(gè)人WX : tong1366

審核編輯:湯梓紅

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6026

    文章

    44455

    瀏覽量

    630897
  • 物聯(lián)網(wǎng)
    +關(guān)注

    關(guān)注

    2899

    文章

    43793

    瀏覽量

    369131
  • STM32
    +關(guān)注

    關(guān)注

    2263

    文章

    10847

    瀏覽量

    353773
  • MQTT
    +關(guān)注

    關(guān)注

    5

    文章

    640

    瀏覽量

    22358
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    OneNET StudioSTM32聯(lián)網(wǎng)開發(fā)(2)- STM32+Air724UG(4G模組)數(shù)據(jù)采集顯示上報(bào)

    OneNET StudioSTM32聯(lián)網(wǎng)開發(fā)(2
    的頭像 發(fā)表于 09-25 00:52 ?1587次閱讀
    <b class='flag-5'>OneNET</b> <b class='flag-5'>Studio</b><b class='flag-5'>云</b><b class='flag-5'>STM32</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>開發(fā)</b>(2)- <b class='flag-5'>STM32</b>+Air724UG(4G模組)<b class='flag-5'>數(shù)據(jù)</b>采集顯示<b class='flag-5'>上報(bào)</b>

    WIZnet W5500系列培訓(xùn)活動(dòng)之“MQTT協(xié)議講解和實(shí)踐(接入OneNET)”

    設(shè)備連接。在本期培訓(xùn)中,我們將以STM32+W5500為硬件平臺(tái),一步步剖析MQTT協(xié)議原理及其在On
    發(fā)表于 01-12 13:19

    [MicroPython]TPYBoard v202 MQTT協(xié)議2:上傳數(shù)據(jù)點(diǎn)到OneNET平臺(tái)

    參考上面前言中的教程,先進(jìn)行產(chǎn)品和設(shè)備的添加。 在數(shù)據(jù)點(diǎn)上報(bào)之前,我們需要在OneNET平臺(tái)
    發(fā)表于 09-14 10:48

    在鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)聯(lián)網(wǎng)項(xiàng)目

    `通常來說,一個(gè)聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、平臺(tái)、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT
    發(fā)表于 10-25 21:57

    【HarmonyOS】在鴻蒙開發(fā)板上使用MQTT協(xié)議OneNET實(shí)現(xiàn)第一個(gè)聯(lián)網(wǎng)項(xiàng)目

    產(chǎn)品應(yīng)當(dāng)包括設(shè)備、平臺(tái)、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT協(xié)議OneNET
    發(fā)表于 10-26 16:59

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)聯(lián)網(wǎng)項(xiàng)目資料

    通常來說,一個(gè)聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、平臺(tái)、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT
    發(fā)表于 10-26 17:22

    基于鴻蒙Hi3861V100 MQTT協(xié)議 對(duì)接阿里聯(lián)網(wǎng)平臺(tái)

    更新啦?。。。。。。。。?!基于鴻蒙HarmonyOS Hi3861V100 開發(fā)板通過MQTT協(xié)議 對(duì)接阿里IOT
    發(fā)表于 01-25 08:31

    在鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)聯(lián)網(wǎng)項(xiàng)目 精選資料分享

    通常來說,一個(gè)聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、平臺(tái)、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT
    發(fā)表于 07-13 07:13

    NodeMCU通過MQTT協(xié)議接入OneNET語言

    本章主要講解NodeMCU通過MQTT協(xié)議接入OneNET語言:LUA;軟件:ESPlorer一. 首先讓我們來了解一下OneNET
    發(fā)表于 11-01 06:19

    OpenHarmony輕量系統(tǒng)開發(fā)【12】OneNET接入

    局域網(wǎng)的)訪問開發(fā)數(shù)據(jù),并控制開發(fā)板的功能。理論上來說,任何以MQTT協(xié)議為基礎(chǔ)的
    發(fā)表于 01-26 14:19

    基于RT-Thread+RA6M4上傳onenet平臺(tái)的設(shè)計(jì)資料分享

    1、基于RT-Thread+RA6M4上傳onenet平臺(tái)的設(shè)計(jì)硬件接線默認(rèn)控制臺(tái)接UART7;ESP8266接UART1;登錄
    發(fā)表于 07-25 12:39

    基于RT-Thread+RA6M4上傳onenet平臺(tái)的設(shè)計(jì)實(shí)現(xiàn)

    1、基于RT-Thread+RA6M4上傳onenet平臺(tái)  硬件接線  默認(rèn)控制臺(tái)接UART7;ESP8266接UART1;  登錄
    發(fā)表于 09-23 15:38

    鴻蒙開發(fā)板上使用MQTT協(xié)議、OneNET實(shí)現(xiàn)第一個(gè)聯(lián)網(wǎng)項(xiàng)目

    通常來說,一個(gè)聯(lián)網(wǎng)產(chǎn)品應(yīng)當(dāng)包括設(shè)備、平臺(tái)、手機(jī)APP。我將在鴻蒙系統(tǒng)上移植MQTT
    發(fā)表于 10-26 17:27 ?0次下載
    鴻蒙<b class='flag-5'>開發(fā)</b>板上使用<b class='flag-5'>MQTT</b><b class='flag-5'>協(xié)議</b>、<b class='flag-5'>OneNET</b>實(shí)現(xiàn)第一個(gè)<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>項(xiàng)目

    工業(yè)設(shè)備接入華為MQTT聯(lián)網(wǎng)平臺(tái)

    工業(yè)設(shè)備接入MQTT聯(lián)網(wǎng)平臺(tái),一般是通過工業(yè)網(wǎng)關(guān)
    的頭像 發(fā)表于 01-04 16:03 ?1191次閱讀
    工業(yè)<b class='flag-5'>設(shè)備</b><b class='flag-5'>接入</b>華為<b class='flag-5'>云</b><b class='flag-5'>MQTT</b><b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b><b class='flag-5'>云</b><b class='flag-5'>平臺(tái)</b>

    如何使用OneNET平臺(tái)MQTT功能?

    ;設(shè)備進(jìn)行模擬實(shí)際使用情況。推薦閱讀《設(shè)備如何使用華為接入MQTT上報(bào)數(shù)據(jù)》《
    的頭像 發(fā)表于 10-20 08:21 ?1051次閱讀
    如何使用<b class='flag-5'>OneNET</b><b class='flag-5'>平臺(tái)</b>的<b class='flag-5'>MQTT</b>功能?