OneNET3.1快速入门手册——设备的动态创建


转自:https://open.iot.10086.cn/bbs/thread-790-1-2.html
在OneNET的使用过程中,创建设备是一个必要的步骤,当使用者需要大量创建设备的时候,除了使用平台的设备复制以及批量创建以外,有没有其他的方式呢?

答案是肯定的,本文要介绍的就是一种让 终端可以自动在平台创建设备 的方法,从而让使用者省去了繁琐的设备创建过程。

注册码
OneNET3.1更新后,一个重要的新特性就是在公有协议中,增加了一个全新的参数:注册码

OneNET3.1快速入门手册——设备的动态创建_第1张图片
注册码实际是一个只有设备创建功能的KEY,其只能够用来创建设备,而不能进行其他的操作,即使在传输过程中被他人截获,不会对其他已有设备产生危害,是比较推荐使用的一种创建设备方法。

注册码的使用
3.1提供了一个全新的API,即 使用设备注册码创建设备
OneNET3.1快速入门手册——设备的动态创建_第2张图片 


在这个API中,使用注册码作为参数HTTP内容为相关设备属性,包括鉴权信息等,返回值为设备的api-key设备id

这里需要注意的是
1、  返回的设备API-KEY只对该设备有效,不能对其他设备进行操作;
2、  调用当allow_duptrue时,使用同一鉴权信息重复调用该API,可作为查询功能使用;当allow_dupfalse时,当使用同一鉴权信息重复调用该API时,回返回错误信息。

下面使用fiddler工具演示一下该API的使用

1、打开工具
2、填写URL以及相关参数(这里以图1中的产品为例)
    URL为:http://api.heclouds.com/register_de?register_code= cba89peVvQ7p28sD

3、填写HTTP内容:{"sn":" 201608160001 ","title":" 0001 "}唯一序列号为201608160001,设备名为0001
OneNET3.1快速入门手册——设备的动态创建_第3张图片

4、点击execute,并查看返回的数据

OneNET3.1快速入门手册——设备的动态创建_第4张图片 
有图可知,返回的新创建的设备ID3264364

该设备的设备key eJQHvJoUww=ibaHKt=uW5=pXZZM=

OneNET上查看执行结果:
产品下有一个新增设备,名称为0001ID 3264364 且权限为私密
OneNET3.1快速入门手册——设备的动态创建_第5张图片

查看其设备详情:
OneNET3.1快速入门手册——设备的动态创建_第6张图片

各项属性均与创建API中的参数与返回值吻合。

值得一提的是,这里的接入方式为EDP,因为本例中的产品是EDP产品,这里是继承了产品的属性

注意,在默认情况下,是允许提交相同的设备序列号的,当我们再次调用相同的API时,会得到如下结果:
OneNET3.1快速入门手册——设备的动态创建_第7张图片

OneNET上该项目下,仍然只有一个设备,该API会将鉴权信息为 201608160001 是设备的id以及key返回,即为查询功能

完成设备创建之后,就可以利用产品ID鉴权信息或者设备key设备ID来进行数据上传等后续操作。

利用产品ID(本例中为70921 ) 、唯一标识(SN: 201608160001 )进行设备登陆
OneNET3.1快速入门手册——设备的动态创建_第8张图片 

OneNET3.1快速入门手册——设备的动态创建_第9张图片

用户在有大批量设备需要进行创建的时候,使用注册码是一个较好的动态创建方式。
终端必须要包含以下 参数
1、产品注册码;
2、产品ID;
3、唯一的设备编码(即设备唯一标识 SN)


终端与平台的 通用性交互流程 如下:
1、与平台HTTP服务器建立TCP连接,api.heclouds.com  / 80
2、以注册码设备唯一标识(SN)为参数(设备名为可选),调用api,获取设备ID以及设备KEY


3、断开该TCP连接
     至此,终端已经获取到 设备ID、设备KEY、产品ID、设备唯一标识(SN)。

4、与EDP服务器建立TCP连接, jjfaedp.hedevice.com / 876


5、以上述参数为参数建立EDP连接

另外,用户在新的设备中,不需要提前创建数据流,当用户使用协议上传数据点的时候,平台会自动创建数据流,采用这样的方式就能省去数据流创建工作。

你可能感兴趣的:(移动物联网onenet,web)