本发明涉及物联网数据处理领域,尤其涉及一种基于软网关和sqlite实现物联网平台对接设备协议的方法。
背景技术:
1、愈来愈多的设备造成了太多的数据,伴随着物联网技术(iot)技术性和测试用例在未来两年的发展趋势,这类状况将继续存在。依据gartner的数据,截止到2020年,有高达两百亿台联接设备为每名客户形成数十亿字节数的数据。这种设备不仅是智能机或笔记本,还包含连接网络轿车,自动售卖机,智能化可配戴设备,手术治疗医用机器人等等。
2、在这种发展趋势下,物联网软网关发挥着越来与重要的作用,它作为中间角色,将直连到云端服务的设备进行划分管理,一种协议只需要一个网关设备即可,而不需要关心该协议下有多少设备,大大降低了云端服务的压力,提高了整体的性能,随着接入的设备协议及其种类越来越多,对软网关的要求也越来越高。
技术实现思路
1、为了解决以上技术问题,本发明提供了一种基于软网关和sqlite实现物联网平台对接设备协议的方法。在不修改主程序的前提下可以轻松和不同协议的设备进行对接,提高了软网关的利用率和承载能力,具有可扩展性。
2、本发明的技术方案是:
3、一种基于软网关和sqlite实现物联网平台对接设备协议的方法,包括:
4、第一步:准备软网关服务和sqlite环境;
5、第二步:准备协议对应的模板;
6、第三步:配置云端链接;
7、第四步:数据上行和下行;
8、第五步:数据缓存和存储。
9、进一步的,
10、基于spring的类加载器,提供协议解析模板,不同的协议根据自己的协议规则实现模板中的decode方法和encode方法,然后将模板上传到软网关服务中即可对接该协议设备。
11、首先准备一台边缘侧设备,用于搭建ekuiper和sqlite环境;
12、采用容器镜像的方式进行部署,或采用系统进程的方式进行部署;设备具备网络通讯能力,用于向外部订阅者发送消息。
13、再进一步的,
14、在decode方法中根据规则将报文解出来,需要根据规则解出来对应的内容,然后组装成新的报文;
15、然后完善encode方法,将下行消息组装成设备可识别的报文。
16、该模板实现之后就可以上传到软网关服务中,创建支持该协议的设备用来接收该协议设备上传的报文和下发给该协议设备的报文。
17、进一步的,
18、配置云端链接即将软网关服务中的云端链接的必填项完善即可。
19、进一步的,
20、数据上行,设备上报数据的时候该软网关服务会调用对应模板中的decode方法去解析该数据,然后转换成软网关支持的数据格式,软网关再将该数据上报到云端;可依据实际的业务需求对解析后的数据进行报文组装;
21、数据下行,平台下发给设备的指令会先经过模板的encode方法将指令的具体内容转换为设备可识别的报文,可以是十六进制字符串或byte数组,取决于设备支持的类型。
22、再进一步的,
23、设备发送报文,软网关收到报文首先调用模板的decode方法解析报文,然后将解析后组装好的报文发送到上一步配置的云端链接中,以此打通设备和云端的链接,如果发送失败则会将报文保存到本地的sqlite中数据库中,不管发送成功失败都会给设备一个响应,响应内容会经过模板中的encode方法组装成设备可识别的报文然后发送给设备。
24、进一步的,
25、采用sqlite实现设备数据的维护和管理;缓存数据主要分为两类:发送失败缓存和普通消息缓存;
26、发送失败缓存:发送到云端失败的时候会将消息缓存到本地;
27、普通消息缓存:保存设备发送的最新的一条数据。
28、缓存消息设置有效期限,超过有效期限自动清理,有限期内设备再次发送消息,发送成功缓存的消息也会再次发送到云端。
29、再进一步的,
30、如果因为环境因素或者第三方因素导致消息发送失败,则将该消息缓存本地;缓存的消息处理方式有如下三种:
31、如果因软网关配置导致消息发送失败:消息缓存在sqlite数据库中,修改正确配置后设备重新上报缓存的消息一并上报到云端;
32、如果因为云端设备导致消息发送失败:缓存数据到本地sqlite数据库中,周期性的尝试将缓存的数据发送到云端,直至超过重发次数;
33、如果通知在设定时间内未发送成功到云端,则从缓存中删除该消息。
34、本发明的有益效果是
35、①低功耗
36、本方案的低功耗主要体现在两个方面:技术选型和业务实现。
37、软网关和sqlite均适合于低功耗、资源受限的设备上面运行,并且具备良好的性能。消息缓存上报的处理的方式,既保证了重要通知的实时性,也保证了软网关以较低的功耗将消息发送到云端。
38、②多协议设备对接
39、基于软网关服务提供的协议模板,只需要实现自己协议对应的模板中的方法,然后上传到软网关服务中即可实现和该协议设备的对接,可以实现和不同协议设备对接,具备良好的可扩展性。
40、③设备消息缓存机制
41、本方案支持设备上报消息失败之后缓存消息的机制,最多可以保存48小时,最新一次上报的消息永久保存。
1.一种基于软网关和sqlite实现物联网平台对接设备协议的方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,
3.根据权利要求2所述的方法,其特征在于,
4.根据权利要求2所述的方法,其特征在于,
5.根据权利要求4所述的方法,其特征在于,
6.根据权利要求2所述的方法,其特征在于,
7.根据权利要求2所述的方法,其特征在于,
8.根据权利要求7所述的方法,其特征在于,
9.根据权利要求2所述的方法,其特征在于,
10.根据权利要求9所述的方法,其特征在于,