中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何實現設備注冊流程并通過MQTT連接云端發送消息

發布時間:2021-12-07 09:22:21 來源:億速云 閱讀:291 作者:iii 欄目:云計算

本篇內容主要講解“如何實現設備注冊流程并通過MQTT連接云端發送消息”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“如何實現設備注冊流程并通過MQTT連接云端發送消息”吧!

前幾天在研究物接入的時候突然想到,當我們擁有大量設備等待接入物聯網時,比起一臺一臺的給設備燒錄獨一無二的用戶名和密碼,是否有更為快捷的處理方式呢?后來看了網上的一些教程和分享,發現其實可以最開始統一給所有設備燒錄默認的用于初始化的連接信息(物模型),然后在設備首次聯網時,上報設備標識借助云端服務(CFC函數)生成新的獨一無二專屬于此設備的設備影子(物影子)。而后斷開初始化連接,連接這個剛生成的物影子,開始正常工作。大體示意圖如下:

如何實現設備注冊流程并通過MQTT連接云端發送消息

可惜我現在身邊沒有這么多設備,想了半天發現可以用微信小程序來模擬設備端;只要每次上報的設備標識不同,就可以被認定為不同設備啦。所以花了幾天時間搞了一個微信小程序,今天就給大家分享一下!!主要是實現了以下幾個功能:1. 小程序模擬設備端,https連接百度云天工里提前設置好的用于注冊新設備的CFC函數計算(代碼會分享)完成新設備的初始化流程,創建新設備物影子。 2. 通過MQTT連接創建好的新設備或已有設備,向設備發送信息。3. 建立了一個消息列表存儲了用戶過往在小程序上發送過的消息可以供用戶查看。

【代碼】

微信小程序源代碼倉庫github:https://github.com/Lizxxxx/Wechat-connect-BaiduIoT

CFC函數計算相關代碼github:https://github.com/Lizxxxx/createDevice-CFC-BaiduIoT (直接下載里面的zip file就好)

【微信小程序開發】

我也是第一次接觸微信小程序,開發的時候才發現,由于小程序的限制,僅允許備案域名通過加密協議(https或wss)連接,因此我們的MQTT連接云端是通過MQTT over wss的方式實現的。在小程序里使用MQTT可以直接借用開源庫,這里我借助了如下開源庫:https://github.com/mqttjs/MQTT.js,大家可以參考一下。

【CFC函數計算——新設備初始化】

使用小程序前,我們首先要在云端配置好函數計算的代碼。

首先直接下載我上方github鏈接里的zip file即可。然后在百度云天工的控個人制臺界面開通CFC函數計算,創建一個函數。這里我們的demo是python的,所以語言選擇python然后直接上傳zip包即可。記得一定要配置一下環境變量!!如下圖,先添加自己百度云賬戶專屬的AK和SK,點擊查看如何獲取AK/SK(https://cloud.baidu.com/doc/Reference/s/9jwvz2egb/);

如何實現設備注冊流程并通過MQTT連接云端發送消息

然后再添加一下默認的設備描述和scheme ID。如何獲得scheme ID:打開物接入項目中的物模型列表,選擇你后面即將新建的設備物影子想要參考的物模型,打開其詳情頁,如下圖所示,紅圈部分就是schemaID啦。

如何實現設備注冊流程并通過MQTT連接云端發送消息

注意!這里CFC函數代碼里我設置了一個用于核對設備標識的白名單驗證!這個大家可以按需修改。

如何實現設備注冊流程并通過MQTT連接云端發送消息

設置好函數代碼后,因為微信小程序是通過https來連接函數,我們需要配置http觸發器。在觸發器頁面點擊新增觸發器,類型選擇http觸發器,url按喜好填寫,http方法這里只需選擇 (POST,PUT,GET) 就夠用了,身份驗證為了方便,這里先選擇不驗證。配置完成后,復制一下生成的URL路徑!這個就是后續我們需要用到的能讓我們通過https連接并使用函數的地址啦!

如何實現設備注冊流程并通過MQTT連接云端發送消息

【Demo】

這里簡單介紹一下這個微信小程序。UI比較簡陋,請不要介意!

首頁,如果是連接已有設備的話輸入信息直接點連接就行;新建設備的話就直接點下方新建設備。

如何實現設備注冊流程并通過MQTT連接云端發送消息

輸入信息注冊新設備。

如何實現設備注冊流程并通過MQTT連接云端發送消息

新設備注冊好后會返回注冊信息,記得保存。

如何實現設備注冊流程并通過MQTT連接云端發送消息

發送信息之前我們需要連接物影子。

如何實現設備注冊流程并通過MQTT連接云端發送消息

這里注意下如果是首次向該主題發送消息,在發送消息之前,最好一定要先訂閱該主題。以及自定義消息一定要按格式輸入;消息的發送格式可以在代碼里自己按需修改哈~

如何實現設備注冊流程并通過MQTT連接云端發送消息

訂閱主題很方便,訂閱后點返回發送消息就好啦。

如何實現設備注冊流程并通過MQTT連接云端發送消息  如何實現設備注冊流程并通過MQTT連接云端發送消息

按格式輸入消息然后發送,發送成功后可以看到消息被封裝后的發送格式。

如何實現設備注冊流程并通過MQTT連接云端發送消息  如何實現設備注冊流程并通過MQTT連接云端發送消息

前往消息列表就可以看到剛剛發的消息啦。然后選擇返回首頁或者繼續發送消息都可以。

如何實現設備注冊流程并通過MQTT連接云端發送消息

到此,相信大家對“如何實現設備注冊流程并通過MQTT連接云端發送消息”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南木林县| 阳朔县| 上犹县| 台中市| 玛沁县| 长子县| 汽车| 米易县| 茂名市| 栖霞市| 文水县| 华宁县| 孝感市| 金平| 桂东县| 河北区| 内乡县| 九龙县| 阿鲁科尔沁旗| 新安县| 尼勒克县| 绥中县| 五常市| 宁德市| 桐庐县| 秦皇岛市| 永泰县| 三门县| 霍州市| 通渭县| 合川市| 梧州市| 乡宁县| 石嘴山市| 庄浪县| 钦州市| 抚远县| 中江县| 江都市| 松潘县| 敦化市|