一种基于NB-IoT的路灯控制器的远程升级方法与流程

文档序号:31154950发布日期:2022-08-17 06:59阅读:62来源:国知局
一种基于NB-IoT的路灯控制器的远程升级方法与流程
一种基于nb-iot的路灯控制器的远程升级方法
技术领域
1.本发明涉及路灯控制器升级方法技术领域,尤其涉及一种基于nb-iot的路灯控制器的远程升级方法。


背景技术:

2.nb-iot(narrow band internet of things,窄带物联网)是3gpp(3rd generation partnership project,3gpp)为支持超低复杂性和低吞吐量物联网所引入蜂窝系统的一种lpwa蜂窝解决方案,其具有低成本、大连接、广覆盖等优点,智慧路灯是智慧城市的重要组成部分,通过路灯控制器来实现对路灯的精准控制,以达到照明与节能的双重目的,nb-iot通信技术适合路灯业务低带宽,大连接、广覆盖的需求,路灯控制器设备由于业务需求的变更,需要升级。
3.现有一般设备的升级方式一般都是通过文件传输协议ftp(file transfer protocol)或者简单文件传输协议tftp(trival file transfer protocal)设备进行升级,其中ftp是用于在网络上进行文件传输的一套标准协议,它工作在osi模型的第七层,cp模型的第四层,即应用层,使用tcp传输,客户在和服务器建立连接前要经过一个“三次握手”的过程,提供的是面向连接的服务。而tftp也是一个传输文件的简单协议,它基于udp协议而实现,任何传输起自一个读取或写入文件的请求,这个请求也是一个连接请求,如果服务器批准此请求,则服务器打开连接,数据以定长512字节传输,每个数据包包括一块数据,服务器发出下一个数据包以前必须得到客户对上一个数据包的确认,如果一个数据包的大小小于512字节,则表示传输结束。
4.ftp或tftp等协议出现在nb-iot之前,ftp基于tcp,由于tcp的特性,在传递数据前,建立连接需要耗时,传递数据时,确认、重传、拥塞等会消耗大量时间,容易连接超时,导致升级失败,并不适用于nb-iot这种低速率的网络。tftp运行在udp协议之上,但长度大小固定为512b,对于nb-iot网络来说这个报文过大,一次发送占用带宽资源时间过长,导致发送容易失败,这两种协议既不适用于nb-iot网络,也都不支持断点续传。这两种协议协议制定之初未考虑nb-iot网络的低带宽,延时大的特性,且不能根据实际的nb-iot网络情况调整报文大小,升级容易失败,在失败后,这些协议也不支持断点续传,都需要重新开始升级。


技术实现要素:

5.为实现上述目的,本发明采用了如下技术方案:一种基于nb-iot的路灯控制器的远程升级方法,包括升级服务器、核心网、基站和路灯控制器,所述路灯控制器包括主控mcu、nb-iot通信模块和存储器eerpom;所述主控mcu和存储器eerpom之间通过i2c接口进行通信,且主控mcu和nb-iot通信模块之间通uart进行通信;还包括以下步骤:升级服务器下发升级通知给待升级的路灯控制器;路灯控制器收到升级服务器升级通知;路灯控制器发送升级请求报文。
6.优选的,当路灯控制器收到升级服务器升级通知时,其流程为:
7.1、校验自己的版本号是否与下发的版本号相同,检验结果如果相同,则回复升级服务器拒绝升级的消息,版本号相同,无需升级;
8.2、检验结果如果不同,则清除上一次的升级控制信息,将升级控制信息存储到eeprom中。
9.优选的,当路灯控制器发送升级请求报文时,其流程为:
10.1、从eerpom中读取升级控制信息;
11.2、将image_offset,seqnumber以及请求包大小pktsize构造升级请求报文;
12.3、路灯控制器发送升级报文请求;
13.4、升级服务器构造升级应答报文回复给路灯控制器;
14.5、路灯控制器在收到升级应答报文后,检验报文的有效性后,将报文中的image内容以及image_offset,seqnumber等升级进度控制信息,存储到eeprom中;
15.6、终端将全部报文请求并接收完成之后,与升级控制信息中的文件校验和进行对比,如相同,则表示升级成功,向升级服务器发送升级完成的通知,并更新本地的bootloader,重启运行新的固件版本。
16.优选的,当升级服务器构造升级应答报文时,其流程为:
17.1、收到终端升级请求报文;
18.2、从升级服务器存储的image固件文件中的image_offset的位置读取pktsize的长度;
19.3、与seqnumber以及读取的报文一起构造升级应答报文。
20.优选的,当路灯控制器确认请求包大小pktsize时,其流程为:
21.1、读取nb-iot模组的状态信息;
22.2、根据当前的nb-iot模组的信号强度snr以及所在小区的参考信号接收功率rsrp,来决定向升级服务器请求的升级报文pktsize大小。
23.本发明提供的技术方案带来的有益效果是:
24.本发明的基于nb-iot的路灯控制器的远程升级方法,该方法结合nb-iot的实际网络特性,对于每次请求的升级报文大小,具有更高的可控性,该方法通过读取nb-iot模块的信噪比snr以及参考信号接收功率rsrp的情况,去动态申请不同大小的升级报文,一能更好的保证升级的可靠性,二是在请求升级报文成功之后,将升级控制信息写入到eeprom中,在升级失败的情况下,下次也能接着上一次升级失败的地方继续升级,不用重新升级。
附图说明
25.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1是本发明中基于nb-iot的路灯控制器的远程升级方法的网络拓扑图;
27.图2是本发明中路灯控制器的组成模块示意图;
28.图3是路灯控制器收到升级服务器升级通知时的流程图;
29.图4是路灯控制器发送升级请求报文时的流程图;
30.图5是升级服务器构造升级应答报文时的流程图;
31.图6是路灯控制器确认请求包大小pktsize时的流程图。
具体实施方式
32.为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
33.下面的描述中,为描述的清楚和简明,并没有对图中所示的所有多个部件进行描述。附图中示出了多个部件为本领域普通技术人员提供本发明的完全能够实现的公开内容。对于本领域技术人员来说,许多部件的操作都是熟悉而且明显的。
34.实施例:
35.如图1-6所示,本实施例提供了一种基于nb-iot的路灯控制器的远程升级方法,包括升级服务器、核心网、基站和路灯控制器,升级服务器管理可对多台路灯控制器进行升级,升级服务器与路灯控制器之间通过nb-iot网络进行通讯,路灯控制器包括主控mcu、nb-iot通信模块和存储器eerpom;主控mcu和存储器eerpom之间通过i2c接口进行通信,且主控mcu和nb-iot通信模块之间通uart进行通信,升级服务器通过nb-iot网络下发升级报文,最终将整个image文件下发至路灯控制器完成升级,这里描的升级是针对路灯控制器的主控mcu进行升级,主控mcu每次请求升级报文之前,通过nb-iot模块读取信噪比snr以及参考信号接收功率rsrp,并且根据snr和rsrp的范围来确定是否需要发送请求升级报文以及请求升级报文的大小,在每次请求升级报文成功之后,将相应的升级控制信息(image_offset,seqnumber,image_crc)等存储到eeprom中,同时将image_offset置0,seqnumber置1,也存入到eeprom中,随后进入升级报文请求流程,在下次发送升级报文请求或者网络断开导致升级失败之后,可以接着从此处开始断点续传,进行升级;还包括以下步骤:升级服务器下发升级通知给待升级的路灯控制器,通知的内容包括:image文件大小,image文件校验和,版本号;路灯控制器收到升级服务器升级通知;路灯控制器发送升级请求报文。
36.如图3示,当路灯控制器收到升级服务器升级通知时,其流程为:
37.1、校验自己的版本号是否与下发的版本号相同,检验结果如果相同,则回复升级服务器拒绝升级的消息,版本号相同,无需升级;
38.2、检验结果如果不同,则清除上一次的升级控制信息,将升级控制信息版本号,image文件大小,文件校验和,升级有效期存储到eeprom中。
39.如图4示,当路灯控制器发送升级请求报文时,其流程为:
40.1、从eerpom中读取升级控制信息;
41.2、将image_offset,seqnumber以及请求包大小pktsize构造升级请求报文,image_offset代表固件文件开始的偏移位置,初始位0,seqnumber代表消息序列号,每个报文唯一,由终端发起,终端根据升级服务器回复的升级应答报文的消息序列号来确定是否是自己请求的报文,初始为1,pktsize代表路灯控制器向升级服务器请求的升级报文大小;
42.3、路灯控制器发送升级报文请求;
43.4、升级服务器构造升级应答报文回复给路灯控制器;
44.5、路灯控制器在收到升级应答报文后,检验报文的有效性后,将报文中的image内容以及image_offset,seqnumber等升级进度控制信息,存储到eeprom中,image代表需要升级到路灯控制器的固件文件;
45.6、终端将全部报文请求并接收完成之后,与升级控制信息中的文件校验和进行对比,如相同,则表示升级成功,向升级服务器发送升级完成的通知,并更新本地的bootloader,重启运行新的固件版本,图4中,image_crc代表image文件的校验和,由路灯控制器计算好之后,在升级通知报文中发出,image_size代表image文件的大小,升级报文请求流程由路灯控制器发起,可以在收到升级请求,或者由于异常原因升级断开后的断点续传,图中,t1表示当前信号质量达不到升级要求或者未收到升级服务器的升级请求应答时,需要退避的时间,t2表示等待升级服务器回复升级请求应答的时间。
46.如图5示,当升级服务器构造升级应答报文时,其流程为:
47.1、收到终端升级请求报文;
48.2、从升级服务器存储的image固件文件中的image_offset的位置读取pktsize的长度;
49.3、与seqnumber以及读取的报文一起构造升级应答报文,升级的固件文件image存在升级服务器上,升级服务器下发升级通知,并根据路灯控制器的升级请求报文内容中的image_offset与pktsize,来决定固件文件image的读取位置与长度,并构造升级应答报文回复给路灯控制器。
50.如图6示,当路灯控制器确认请求包大小pktsize时,其流程为:
51.1、读取nb-iot模组的状态信息;
52.2、在每次发送升级请求报文之前,根据当前的nb-iot模组的信号强度信号与噪声的比值snr以及在小区的参考信号接收功率rsrp,rsrp是参考信号接收功率,是nb-iot网络中可以代表无线信号强度的关键参数,来决定向升级服务器请求的升级报文pktsize大小。
53.传统的ftp,tftp等应用于ip网络的升级方式,在设计之初未考虑nb-iot实际的低带宽,延时大的特性,容易导致拥塞,网络带宽资源占用过多,升级频繁失败等情况,并且不具备断点续传的功能。本发明能够结合nb-iot网络的低带宽,延时大的特性,根据当前的信号质量来决定请求升级报文的大小,同时,在升级时由于异常原因断开时,下次可进行断点续传,该方法结合nb-iot的实际网络特性,对于每次请求的升级报文大小,具有更高的可控性,该方法通过读取nb-iot模块的信噪比snr以及参考信号接收功率rsrp的情况,去动态申请不同大小的升级报文,一能更好的保证升级的可靠性,二是在请求升级报文成功之后,将升级控制信息写入到eeprom中,在升级失败的情况下,下次也能接着上一次升级失败的地方继续升级,不用重新升级。
54.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1