ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

004-在阿里云物联网平台上动态注册设备(基于Android)

2020-10-31 10:33:02  阅读:199  来源: 互联网

标签:一密 https ProductKey 一型 注册 004 云物 Android 设备


<p><iframe name="ifd" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/" frameborder="0" scrolling="auto" width="100%" height="1500"></iframe></p>

<iframe frameborder="0" height="1500" name="ifd" scrolling="auto" src="https://mnifdv.cn/resource/cnblogs/ESA2GJK1DH1K_A/" width="100%"></iframe>

 

 

前言

如果咱自己做产品,APP端肯定是一个程序.

如果咱向前面章节似的自己去云端注册设备,然后再把设备的信息(三元组)给用户,

然后用户再填写信息接入,这样用户体验不好,过于繁琐,也无疑增加了人工成本.

 

应该是用户打开手机APP,然后APP自己去云平台注册一个设备,然后接入云平台实现通信

 

 

 

动态注册的方式(咱使用的是,一型一密(免预注册))

先解释几个名词:一机一密 ;一型一密(预注册) ;一型一密(免预注册)

 

一机一密:就是咱原先测试的在网页上去注册设备,然后把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的连接参数,然后就连接通信了

https://help.aliyun.com/document_detail/132111.html?spm=a2c4g.11186623.2.18.59863f82PBOpQr#task-1545804

 

 

 

一型一密(免预注册): 免预注册就是不用在云端自己注册设备,设备连接上网络以后设备自己去注册.

这样子的话,每个设备烧录同样的程序就可以,不用再配置什么三元组了!

不过每个设备程序里面的需要写上产品的ProductKey 和 ProductSecret  的值,这两个值是固定的.

主要是区分开你注册的时候注册到哪个产品下.

然后设备通过https或者mqtt接口注册设备,

注册的时候服务器会返回ClientID和DeviceToken 等参数

最后按照平台规定的组合MQTT参数

MQTT连接的方式注册设备:

https://help.aliyun.com/document_detail/132111.html?spm=a2c4g.11186623.2.18.59863f82PBOpQr#task-1545804

 

 

拼接注册返回的参数连接MQTT:

https://help.aliyun.com/document_detail/73742.html?spm=a2c4g.11186623.2.16.1c99426ff6ECtQ#concept-mhv-ghm-b2b

测试本节一型一密(免预注册)程序

1.打开本节的Android程序

 

 

2.登录自己的云平台查看自己产品的ProductSecret; ProductKey; 

注:我前面的设备这个产品下设备,所以我也注册到这个产品下.

 

 

3.打开动态注册

 

 

 

4.点击查看

 

 

 

5.替换自己的 ProductSecret; ProductKey; 

 

 

 

6.下载安装到手机

注:注册的时候设备名字是可以自己规定的

 

 

 

7.输入设备的名称,然后点击注册设备

我写的是 regapp

 

 

 

8.注册成功以后自动跳转到主页面

 

 

9.用户可以看下日志,和刷新下云平台设备列表

 

 

 

 

源码说明

1. 注册设备我封装成了一个java文件

 

 

 

按照阿里云文档组合计算注册时的MQTT参数

 

 

 

需要SSL方式

 

 

 

接收mqtt返回的数据

 

 

 

2.调用注册函数注册设备

 

 

 

3.注册完成跳转到主页面

 

 

 

4.主页面如果判断有注册的信息执行连接MQTT程序

 

 

5.正常通信连接还是使用的以前封装的java文件,把动态注册返回的参数按照文档的规定进行拼接计算.

 

 

 

结语

之所以我把注册时的设备名称拿出来,是因为咱后面可以和手机验证码结合.

用户拿到手机APP之后用户需要用手机号登录注册,然后呢设备的名字就用手机号代替.

注意: 产品的 ProductSecret  和 ProductKey  别泄露了哈!!!!!

如果让别人知道了之后,别人也可以在你的平台上动态注册设备并接入了!!!!

 

标签:一密,https,ProductKey,一型,注册,004,云物,Android,设备
来源: https://www.cnblogs.com/yangfengwu/p/13905376.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有