本发明涉及线控器,尤其是涉及一种多联机线控器升级方法和系统、电子设备、存储介质。
背景技术:
1、随着智能空调器的线控器多联物联技术发展,功能越来越多,系统越来越复杂,产品迭代周期快,对产品维护和更新造成较大的困难。制造厂家在开发新产品时,为了领先其它厂家推出新品,会在一些新的功能还未来得及研发完成时就要上线销售,使得用户无法体验到产品的最新技术。为此,各厂家会对自己的产品进行硬件预留,待软件研发成功后,再远程更新,做到硬件软件分离,前期可以实现让一部分功能先上线,待后续通过开发不断迭代新功能,通过ota升级更新线控器,实现更多功能,增加产品竞争力。
2、传统的多联机线控器升级有以下两种方式:
3、(1)一种是通过传统离线方式,需要专业人员上门操作,将工具烧录器的数据接口连接到线控器本体,进行固件升级动作,完成功能升级,此过程需要拆卸线控器本体,对产品损伤大,升级效率低,维护成本高。
4、(2)一种是使用单区模式的非后台式下载,老固件和新固件共享一个flash区。升级的时候,进入boot程序后先擦除老固件,然后直接把新固件下载到同一个bank中,下载完成后校验新固件的有效性,新固件有效则升级完成,否则要求重来。采用这种方式,如果发生中途掉电或者升级的固件校验无法通过,将会有永久无法开机的风险;而且,在进行固件下载和升级时,无法取消当前ota升级,中途取消升级会对线控器造成损坏,进入下载后不能操作线控器正常功能,影响用户体验等。
技术实现思路
1、本发明旨在至少解决现有技术中存在的技术问题之一。为此,本发明提出了一种多联机线控器升级方法和系统、电子设备、存储介质,能够提升线控器升级效率,降低升级失败风险。
2、一方面,根据本发明实施例的多联机线控器升级方法,服务器判断线控器是否符合升级条件;
3、当所述线控器符合升级条件时,所述服务器对所述线控器下发数据;
4、所述线控器的app将所述数据保存在第一存储区后,再从所述第一存储区将所述数据写入备份区,并在dataflash中写入数据下发状态;
5、当将所述数据写入所述备份区后,对所述备份区的所述数据进行校验,并在校验通过后,所述app向dataflash写入boot数据准备状态和校验值;
6、所述app强制所述线控器热上电,判断dataflash是否处于boot数据准备状态,如果是,则进入boot模式;
7、boot向dataflash写入app数据复制状态,并从所述备份区将所述数据复制到目标区,对所述app进行升级;
8、升级完成后,boot向dataflash写入ota数据升级完成状态,所述线控器进入app模式;
9、进入app模式后,所述app向dataflash写入线控器ota闲置状态,并擦除所述备份区的所述数据。
10、根据本发明的一些实施例,所述服务器判断线控器是否符合升级条件,具体包括:
11、所述服务器向所述线控器发送更新数据包广播;
12、所述线控器接收到所述更新数据包广播后,向所述服务器上报当前版本号;
13、当所述当前版本号低于待升级版本号时,所述服务器向所述线控器发送可升级命令。
14、根据本发明的一些实施例,所述服务器判断线控器是否符合升级条件,具体包括:
15、所述线控器向所述服务器发送数据更新请求和当前版本号;
16、当所述服务器收到所述数据更新请求和所述当前版本号,判断所述当前版本号是否低于待升级版本号,当所述当前版本号低于所述待升级版本号时,所述服务器向所述线控器发送可升级命令。
17、根据本发明的一些实施例,所述线控器的app将所述数据保存在第一存储区后,再从所述第一存储区将所述数据写入备份区,并在dataflash中写入数据下发状态的步骤之后,还包括:
18、所述app对所述备份区的所述数据进行校验;
19、当校验不通过时,所述app重新向所述服务器发送数据下发请求,由所述服务器重新向所述线控器下发所述数据。
20、根据本发明的一些实施例,所述app强制所述线控器热上电,判断dataflash是否处于boot数据准备状态,如果是,则进入boot模式的步骤之后,还包括:
21、boot对所述备份区的所述数据进行crc校验;
22、当校验不通过时,重新进行校验,当校验不通过的次数达到第一预设次数时,boot向dataflash写入线控器数据请求失败状态;
23、所述线控器退回app模式,且所述app擦除所述备份区的所述数据。
24、根据本发明的一些实施例,所述boot向dataflash写入app数据复制状态,并从所述备份区将所述数据复制到目标区,对所述app进行升级的步骤之后,还包括:
25、boot将所述数据复制到所述目标区后,对所述目标区进行数据校验;
26、当校验不通过时,重新进行校验,当校验不通过的次数达到第二预设次数时,boot向dataflash写入boot校验失败状态;
27、boot重新向所述服务器发送数据下发请求,由所述服务器重新向所述线控器下发所述数据。
28、根据本发明的一些实施例,所述方法还包括:
29、在boot模式中,当boot复制所述数据发生异常时,所述线控器重新上电;
30、boot将所述目标区的所述数据进行擦除后重写。
31、另一方面,根据本发明实施例的多联机线控器升级系统,包括服务器和线控器,所述线控器设置有app,所述多联机线控器升级系统用于执行上述方面实施例所述的多联机线控器升级方法。
32、另一方面,根据本发明实施例的电子设备,包括:
33、存储器,用于存储程序指令;
34、处理器,用于调用所述存储器中存储的程序指令,按照获得的程序指令执行上述实施例的多联机线控器升级方法。
35、另一方面,根据本发明实施例的存储介质,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行上述实施例所述的多联机线控器升级方法。
36、根据本发明实施例的多联机线控器升级方法和系统、电子设备和存储介质,至少具有如下有益效果采用双区模式,能够实现对线控器进行后台静默升级,并能够实现app和boot异常掉电数据保护,确保升级失败时不会对线控器造成损害,从而提高升级效率,保证升级安全性,提高升级成功率。
37、本发明的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
1.一种多联机线控器升级方法,其特征在于,包括以下步骤:
2.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述服务器判断线控器是否符合升级条件,具体包括:
3.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述服务器判断线控器是否符合升级条件,具体包括:
4.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述线控器的app将所述数据保存在第一存储区后,再从所述第一存储区将所述数据写入备份区,并在dataflash中写入数据下发状态的步骤之后,还包括:
5.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述app强制所述线控器热上电,判断dataflash是否处于boot数据准备状态,如果是,则进入boot模式的步骤之后,还包括:
6.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述boot向dataflash写入app数据复制状态,并从所述备份区将所述数据复制到目标区,对所述app进行升级的步骤之后,还包括:
7.根据权利要求1所述的多联机线控器升级方法,其特征在于,所述方法还包括:
8.一种多联机线控器升级系统,其特征在于,包括服务器和线控器,所述线控器设置有app,所述多联机线控器升级系统用于执行权利要求1-7中任一项所述的多联机线控器升级方法。
9.一种电子设备,其特征在于,包括:
10.一种存储介质,其特征在于,所述存储介质存储有计算机可执行指令,所述计算机可执行指令用于使计算机执行权利要求1-7中任一项所述的多联机线控器升级方法。