華為云平臺提供強大的云服務,其中包括對MQTT(Message Queuing Telemetry Transport)協(xié)議的支持。MQTT是一種輕量級通信協(xié)議,在物聯(lián)網(wǎng)(IoT)領域廣泛應用,用于實現(xiàn)設備間可靠的數(shù)據(jù)傳輸和通信。本教程將逐步介紹如何使用華為云提供的MQTT服務,包括創(chuàng)建MQTT實例、設備接入、消息發(fā)布和訂閱等關(guān)鍵步驟。
如需阿里云、百度云、騰訊云、OneNET及EMQX平臺的MQTT設備連接與通信視頻教程,請點擊:《MQTT設備連接與通訊+LoRaWAN網(wǎng)關(guān)產(chǎn)品快速入門教程》
一、華為云開通MQTT服務
首先,完成注冊并進行實名認證。接下來,我們進入[產(chǎn)品]→[物聯(lián)網(wǎng)IoT]→[設備接入]頁面,選擇[管理控制臺],即可進入華為云物聯(lián)網(wǎng)平臺。
進入控制臺后,在[IoTDA實例]下根據(jù)實際情況選擇服務套餐。教程中選擇[開通免費單元]。
創(chuàng)建成功后刷新頁面,即可看到[設備接入]欄下可以開始創(chuàng)建設備。
首先,在[總覽]下,您可以查看[接入信息],點擊即可獲取MQTT通信的接入地址和端口號。
在[接入信息]下的[相關(guān)文檔]中,您可以直接快速訪問華為云的相關(guān)手冊。
如有任何疑問,可以通過[相關(guān)文檔]進行查詢。
接下來,返回設備[接入頁面],進入[產(chǎn)品]頁面,在右上角點擊[創(chuàng)建產(chǎn)品],開始創(chuàng)建即將接入設備的信息。
在這里,選擇剛剛創(chuàng)建的資源空間作為[所屬資源空間]。根據(jù)實際情況填寫[產(chǎn)品名稱],可任意設置。[協(xié)議類型]選擇[MQTT]。[數(shù)據(jù)格式]選擇[JSON]。[廠家名稱]和[設備類型]可以根據(jù)實際情況填寫。
完成后,點擊確認即可。
接下來,進入[設備]→[所有設備],點擊注冊設備。
在[所屬資源空間]和[所屬產(chǎn)品]中選擇剛剛創(chuàng)建的選項。在[產(chǎn)品標識碼]中隨意填寫一個值,只需確保在一個產(chǎn)品內(nèi)不重復即可。[設備認證類型]中可以選擇[密鑰]或[證書]兩種方式,根據(jù)實際情況進行選擇。教程中選擇了[密鑰]認證,確認其他信息無誤后,點擊確定。接下來會出現(xiàn)創(chuàng)建成功的提示。
請注意,如果是自動生成的密鑰,請務必保存好。密鑰僅能查看一次。
確認密鑰保存成功后,點擊[保存并關(guān)閉],即可看到設備列表成功添加了我們剛剛創(chuàng)建的產(chǎn)品。點擊詳情,進入產(chǎn)品詳情頁面。
在該頁面上,您可以獲取與產(chǎn)品相關(guān)的信息。
至此,我們已成功開通了華為云的MQTT服務,并成功創(chuàng)建了設備。
二、獲取MQTT通訊要素
開始模擬MQTT通信之前,需要獲取幾個通信所需的參數(shù)。首先,讓我們進入剛剛創(chuàng)建的產(chǎn)品頁面。
進入Topic管理頁面。
在這里,我們可以找到華為云預設的一些[系統(tǒng)預置Topic]。根據(jù)需求選擇相應的Topic使用即可。
接下來,我們需要獲取“Client ID”、“Username”和“Password”??梢允褂靡粋€工具來直接生成這些參數(shù)。在[總覽]→[接入信息]→[相關(guān)文檔/資源]中,點擊[泛協(xié)議接入]進入幫助文檔。
在文檔中,選擇任意一個設備接入的實例。
找到[連接鑒權(quán)]下的一個在線工具,直接點擊即可。在工具中填寫我們注冊設備的[設備ID]和[密鑰],即可生成連接所需的信息(ClientId、Username、Password)。
至此,我們已獲取到所有通信所需的參數(shù)。
三、產(chǎn)品接入使用MQTT上報數(shù)據(jù)
在本教程中,我們使用串口服務器NB144設備模擬實際通信情境。您可以根據(jù)實際情況選擇設備或使用軟件進行模擬。關(guān)于產(chǎn)品的使用方法,請參考相關(guān)視頻或查閱相關(guān)手冊。可以在產(chǎn)品的相關(guān)軟件中找到所需的工具?,F(xiàn)在,我們開始模擬真實的通信過程,打開NB144的上位機軟件。
首先,將產(chǎn)品的網(wǎng)絡參數(shù)中的[IP地址類型]修改為[動態(tài)IP]。
進入端口1設置,將工作模式修改為[MQTT客戶端]模式,選擇標準的[華為云]作為平臺。
然后依次填入[目標IP]、[目標端口]、[Client ID]、[Device name]和[Device secret]。訂閱和發(fā)布根據(jù)實際情況填寫。在教程中,我們選擇一個系統(tǒng)發(fā)布主題進行數(shù)據(jù)傳輸,訂閱主題留空。
保存并重新啟動后,稍作等待,您將可以在華為云平臺的后臺看到設備成功接入。
至此,我們成功將產(chǎn)品通過MQTT接入華為云。接下來,使用任意的串口調(diào)試工具模擬設備數(shù)據(jù)上報功能。
在本教程中,我們使用了XCOM工具,打開工具,確認串口參數(shù)是否正確,然后[打開串口]。
上報數(shù)據(jù)的規(guī)則,請查閱相關(guān)手冊。由于篇幅限制,不展開講解。直接發(fā)送數(shù)據(jù)上報,然后在產(chǎn)品的[設備影子]頁面下,即可看到剛才上報的數(shù)據(jù)。
到這里,我們已成功連接到華為云的MQTT平臺,并實現(xiàn)了數(shù)據(jù)上報功能。