jetlinks中设备自动注册
·
文档中说明了自动注册的方法,首次使用时,协议包中获取不到设备信息,一般是首次通讯数据,这时就更加自己需要自动注册。
注册就是生成一个注册消息,投递给平台。设备id是协议包中协议解析出来的。那么产品ID呢?一般来说,根据平台规范,上报的协议中是可以知道产品id的。但是没有使用过平台的呢?
一般来说,物联设备很多都只是有设备id,没有产品id的概念,目前老设备是不能有产品id。这时就有2种方式实现设备注册。
1.约定
根据解析处理的协议内容,约定产品ID,就像官网例子一样定死产品ID。
2.关联接入网关
就是根据通讯地址来关联产品,一般来说一个产品需要设置接入网关。接入网关就有我们的协议包。产品id就和协议包关联起来了。
在协议包中,获取当前协议包的包名称,获取到哪个产品在使用这个协议包,就注册到该产品id下下面。如果多个接入网关使用的是一个协议包时,你也新增协议包上传。上传的协议包平台会自动改名称,变成不能名字的jar。
从数据库中读取出产品id,协议包就自动获取到当前在哪个产品下,自动注册。
产品获取方法:
读取平台数据库
dev_protocol,dev_product这两个表连接查询,获取协议包和产品id.
协议表中configuration字段有包地址;
如果是本地则直接读取包名称,如果刷上传的则包名称是id_路径的md5值。根据值获取到产品ID.
更多推荐


所有评论(0)