009-STM32+ESP8266+AIR202/302基本控制方案(阿里云物联网平台)-在阿里云物联网平台上一型一密动态注册设备(基于微信小程序)
<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 别泄露了哈!!!!!
如果让别人知道了之后,别人也可以在你的平台上动态注册设备并接入了!!!!