• (转载)OneNet--设备自动注册


    在OneNET的使用过程中,创建设备是一个必要的步骤,当使用者需要大量创建设备的时候,除了使用平台的设备复制以及批量创建以外,有没有其他的方式呢?
     
    答案是肯定的,本文要介绍的就是一种让终端可以自动在平台创建设备的方法,从而让使用者省去了繁琐的设备创建过程。
     
    注册码
    OneNET3.1更新后,一个重要的新特性就是在公有协议中,增加了一个全新的参数:注册码


    <ignore_js_op>

    注册码实际是一个只有设备创建功能的KEY,其只能够用来创建设备,而不能进行其他的操作,即使在传输过程中被他人截获,不会对其他已有设备产生危害,是比较推荐使用的一种创建设备方法。
     
    注册码的使用
    3.1提供了一个全新的API,即 使用设备注册码创建设备

    <ignore_js_op>


    在这个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
    <ignore_js_op>
     
    4、点击execute,并查看返回的数据

    <ignore_js_op>

    有图可知,返回的新创建的设备ID3264364


    该设备的设备keyeJQHvJoUww=ibaHKt=uW5=pXZZM=
     
    OneNET上查看执行结果:
    产品下有一个新增设备,名称为0001ID3264364且权限为私密
    <ignore_js_op>


    查看其设备详情:
    <ignore_js_op>


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


    值得一提的是,这里的接入方式为EDP,因为本例中的产品是EDP产品,这里是继承了产品的属性
     
    注意,在默认情况下,是允许提交相同的设备序列号的,当我们再次调用相同的API时,会得到如下结果:
    <ignore_js_op>


    OneNET上该项目下,仍然只有一个设备,该API会将鉴权信息为201608160001是设备的id以及key返回,即为查询功能
    完成设备创建之后,就可以利用产品ID鉴权信息或者设备key设备ID来进行数据上传等后续操作。
     
    利用产品ID(本例中为70921)、唯一标识(SN:201608160001)进行设备登陆

    <ignore_js_op>

    <ignore_js_op>
     
    用户在有大批量设备需要进行创建的时候,使用注册码是一个较好的动态创建方式。
    终端必须要包含以下参数
    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连接

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

  • 相关阅读:
    KVM安装之脚本和镜像目录树准备
    KVM安装之网桥
    安装KVM虚拟机步骤
    NFS搭建配置
    为项目组搭建开发测试环境介绍
    VMWare虚拟机copy后网卡不是eth0解决办法
    安装Oracle 10g和SQLServer2008(仅作学习使用VirtualBox虚拟机来安装节省电脑资源)
    常用的SQL语句
    在web项目中集成Spring
    IOC容器装配Bean(注解方式)
  • 原文地址:https://www.cnblogs.com/mickey-double/p/15157298.html
Copyright © 2020-2023  润新知