文档中说明了自动注册的方法,首次使用时,协议包中获取不到设备信息,一般是首次通讯数据,这时就更加自己需要自动注册。

注册就是生成一个注册消息,投递给平台。设备id是协议包中协议解析出来的。那么产品ID呢?一般来说,根据平台规范,上报的协议中是可以知道产品id的。但是没有使用过平台的呢?

一般来说,物联设备很多都只是有设备id,没有产品id的概念,目前老设备是不能有产品id。这时就有2种方式实现设备注册。

 1.约定

  根据解析处理的协议内容,约定产品ID,就像官网例子一样定死产品ID。

2.关联接入网关

  就是根据通讯地址来关联产品,一般来说一个产品需要设置接入网关。接入网关就有我们的协议包。产品id就和协议包关联起来了。

 在协议包中,获取当前协议包的包名称,获取到哪个产品在使用这个协议包,就注册到该产品id下下面。如果多个接入网关使用的是一个协议包时,你也新增协议包上传。上传的协议包平台会自动改名称,变成不能名字的jar。

从数据库中读取出产品id,协议包就自动获取到当前在哪个产品下,自动注册。

产品获取方法:

读取平台数据库

dev_protocol,dev_product这两个表连接查询,获取协议包和产品id.

协议表中configuration字段有包地址;

如果是本地则直接读取包名称,如果刷上传的则包名称是id_路径的md5值。根据值获取到产品ID.

更多推荐