<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/aly.html" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>
前言
這節咱們說一下如何讓微信小程序動態去雲平台注冊一個設備,然后接入雲平台實現通信.
動態注冊的方式(咱使用的是,一型一密(免預注冊))
先解釋幾個名詞:一機一密 ;一型一密(預注冊) ;一型一密(免預注冊)
一機一密:就是咱原先測試的在網頁上去注冊設備,然后把ProductKey、DeviceSecret、DeviceName
給設備,然后設備根據這三個信息組合計算下得到mqtt的連接參數,然后就連接通信了
https://help.aliyun.com/document_detail/74005.html?spm=a2c4g.11186623.6.585.3bb41114l1EN77
一型一密(預注冊):
需要咱先在網頁上注冊上設備,然后把ProductKey、ProductSecret、DeviceName
給設備,然后設備通過https或者mqtt獲取DeviceSecret
然后設備根據ProductKey、DeviceSecret、DeviceName這三個信息組合計算下得到mqtt的連接參數,然后就連接通信了
一型一密(免預注冊): 免預注冊就是不用在雲端自己注冊設備,設備連接上網絡以后設備自己去注冊.
這樣子的話,每個設備燒錄同樣的程序就可以,不用再配置什么三元組了!
不過每個設備程序里面的需要寫上產品的ProductKey 和 ProductSecret 的值,這兩個值是固定的.
主要是區分開你注冊的時候注冊到哪個產品下.
然后設備通過https或者mqtt接口注冊設備,
注冊的時候服務器會返回ClientID和DeviceToken 等參數
最后按照平台規定的組合MQTT參數
MQTT連接的方式注冊設備:
拼接注冊返回的參數連接MQTT:
測試本節一型一密(免預注冊)程序
1.打開本節的微信小程序工程
2.登錄自己的雲平台查看自己產品的ProductSecret; ProductKey;
注:我前面的設備這個產品下設備,所以我也注冊到這個產品下.
3.打開動態注冊
4.點擊查看
5.替換自己的 ProductSecret; ProductKey;
注:要注冊的設備的名字隨意,我寫的是555555
6.保存一下,會看到如下日志
7.刷新一下設備列表
源碼說明
1.注冊設備我封裝成了一個文件
2.調用注冊函數注冊設備
3.注冊完成以后,執行連接
4.我設置了如果注冊成功了,就把注冊信息存起來,下次啟動的時候就不再執行注冊
結語
以后在產品的時候,那個設備的名字可以用微信小程序里面的唯一碼代替.(如果沒有登錄注冊的環節)
如果后期做成登錄注冊的
用戶拿到手機APP之后用戶需要用手機號登錄注冊,然后呢設備的名字就用手機號代替.
注意: 產品的 ProductSecret 和 ProductKey 別泄露了哈!!!!!
如果讓別人知道了之后,別人也可以在你的平台上動態注冊設備並接入了!!!!