一种用于无线联网门锁的软件在线升级方法与流程

文档序号:16325382发布日期:2018-12-19 05:53阅读:792来源:国知局
一种用于无线联网门锁的软件在线升级方法与流程

本发明属于软件升级领域,具体涉及一种用于无线联网门锁的软件在线升级方法。

背景技术

随着技术的发展,因电子门锁相比机械门锁拥有更佳的安全性和便利性,电子门锁在市场上越来越多的被应用于各种场所。目前,在诸如校园、酒店等场所,智能门锁安防系统越来越多的得到应用,以便对智能门锁进行集中管理。为了更好的满足用户的需求,智能门锁设备需要不时的对智能门锁内的软件进行升级,从而使智能门锁设备更加稳定可靠的运行。

现有技术,对诸如智能门锁等嵌入式设备的软件升级方法中,引导程序和功能程序为两个独立程序(即两个烧录文件),这导致针对嵌入式设备的软件升级需要下载两次程序,才能使嵌入式设备同时具备软件升级支持功能和正常的运行功能。

传统嵌入式设备软件升级如果第一次只针对传统嵌入式设备的芯片下载了引导程序,该引导程序通过通信模块从远程服务器接收功能程序数据,然后将收集完成得到功能程序数据更新至芯片中。如果在引导程序接收远程的功能程序数据时,通信发生异常,则会导致无法按时将功能程序下载至芯片中,从而导致芯片无法执行正常的功能。那么此时的解决方法要么利用下载器在现场重新将功能程序下载至芯片中,要么查出通信故障原因后重试,这给用户造成使用不便,系统升级成本高,并且升级效率不理想,从而导致时间成本、人力物力成本的增加。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术中由于故障导致无线联网门锁的软件在线升级失败时,进而导致软件无法执行正常的功能的问题,本发明提供一种用于无线联网门锁的软件在线升级方法。

(二)技术方案

为了达到上述的目的,本发明采用的主要技术方案包括:

一种无线联网门锁的软件升级方法,包括:

101、所述无线联网门锁接收服务器发送的待升级程序的数据,并设置待升级标志;

102、所述无线联网门锁接收到升级指令之后,该无线联网门锁自行重启,运行该无线联网门锁中已刻录程序中的引导段时,查看是否有待升级标志;

103、若有,则将所述待升级程序的数据写入已刻录程序中的程序段;

104、运行所述程序段中写入的数据;

其中,所述引导段和程序段为合并后的且烧录在所述无线联网门锁中的一个程序中的数据。

进一步的,所述步骤103中的将所述待升级程序的数据写入已刻录程序中的程序段,包括:

对所述待升级程序的数据进行校验;

若校验通过,则将所述待升级程序的数据写入已刻录程序中的程序段;

若检验不通过或没有待升级标志,则在所述步骤104中运行所述无线联网门锁中已刻录程序中的程序段的数据。

更进一步的,所述步骤103还包括:

在校验通过之后,将所述已刻录程序中程序段的原始数据擦除,写入所述待升级程序的数据。

更进一步的,所述步骤104之前,所述方法还包括:

对所述程序段已写入的所述待升级程序的数据进行校验;

若校验通过,则执行步骤104;

否则,所述无线联网门锁的待升级程序位于所述已刻录程序中的引导段,等待新的所述待升级程序的数据。

进一步的,所述步骤101之前,所述方法还包括:

所述无线联网门锁将该无线联网门锁中的每一个程序的引导程序和功能程序合并为一个程序,并设置合并后程序的引导段数据和程序段数据;

将合并后的程序烧录在所述无线联网门锁中。

(三)有益效果

本发明的有益效果是:本发明提供一种无线联网门锁的软件升级方法:无线联网门锁接收服务器发送的待升级程序的数据,并设置待升级标志;无线联网门锁接收到升级指令之后,该无线联网门锁自行重启,运行该无线联网门锁中已刻录程序中的引导段时,查看是否有待升级标志;若有,则将待升级程序的数据写入已刻录程序中的程序段;运行所述程序段中写入的数据。应用本发明软件升级方法的无线联网门锁,只需进行一次下载操作,无线联网门锁的软件同时具备引导功能及程序功能,如果引导段在升级过程中发生不可预知异常导致程序段未能正常升级,无线联网门锁则会停留在引导段,继续等待下一次升级,或者运行无线联网门锁中已刻录程序中的程序段的数据,而不是运行异常的程序段,从而保障了软件的正常运行。

附图说明

图1为本发明实施例一种无线联网门锁的软件升级方法的流程图。

具体实施方式

为了更好地解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。如图1所示,一种无线联网门锁的软件升级方法,包括:

101、无线联网门锁接收服务器发送的待升级程序的数据,并设置待升级标志,待升级标志会存储在无线联网门锁的外部存储设备中;

无线联网门锁接收服务器发送的待升级程序的数据的同时,接收服务器发送的第二crc(cyclicredundancycheck,简称crc)数值,并将第二crc数值和待升级程序的数据存储到无线联网门锁的外部存储设备中。

102、服务器在发送完待升级程序的数据后,会发送升级指令,无线联网门锁接收到升级指令之后,该无线联网门锁自行重启,运行该无线联网门锁中已刻录程序中的引导段时,查看是否有待升级标志;

若没有在已刻录程序中的引导段检测到待升级标志,则跳过下面的步骤,直接运行无线联网门锁中已刻录程序中的程序段的数据。

103、若有,则将待升级程序的数据写入已刻录程序中的程序段;

步骤103具体为:

如果无线联网门锁中已刻录程序中的引导段没有检测到待升级标志,则运行无线联网门锁中已刻录程序中的程序段的数据;

如果无线联网门锁中已刻录程序中的引导段检测到待升级标志,则对接收到的待升级程序的数据进行校验,若校验通过,将已刻录程序中程序段的原始数据擦除,然后将待升级程序的数据写入已刻录程序中的程序段;若检验不通过,则运行无线联网门锁中已刻录程序中的程序段的数据;

对接收到的待升级程序的数据进行校验的具体流程为:校验主要通过通用的crc算法计算出待升级程序数据的第一crc数值,然后将第一crc数值与第二crc数值进行比对。如果第一crc数值和第二crc数值相等,则校验通过。

104、对程序段已写入的待升级程序的数据进行校验,若校验通过,运行程序段中写入的数据;否则,无线联网门锁的待升级程序位于已刻录程序中的引导段,等待新的待升级程序的数据。

对接收到的待升级程序的数据进行校验的具体流程为:校验主要通过通用的crc算法计算出已写入程序段的待升级程序数据的第三crc数值,然后将第三crc数值与第二crc数值进行比对。如果第三crc数值和第二crc数值相等,则校验通过。

其中,在本实施例中,引导段和程序段为合并后的且烧录在无线联网门锁中的一个程序中的数据。无线联网门锁将该无线联网门锁中的每一个程序的引导程序和功能程序合并为一个程序,并设置合并后程度的引导段数据和程序段数据;将合并后的程序烧录在无线联网门锁中。

传统嵌入式软件升级引导程序和功能程序为两个独立程序,导致的针对芯片第一次编程需要下载两次程序,才能使芯片同时具备软件升级支持功能和正常的运行功能。本发明一种用于无线联网门锁的软件在线升级方法提出的引导程序(即引导段)和功能程序(即程序段)为两个程序段,但实际存在于同一个程序文件中,因此只需进行一次下载操作,即可实现无线联网门锁正常的运行功能,且同时支持软件升级。

同时,传统嵌入式软件升级如果第一次只针对芯片下载了引导程序,首先,通过该引导程序的通信模块从远程服务器接收功能程序数据,然后将收集完成得到功能程序升级数据更新至无线联网门锁中。如果在引导程序接收远程的功能程序升级数据时,通信发生异常,则会导致无法按时将功能程序下载至无线联网门锁中,从而导致无线联网门锁无法执行正常的功能程序。此时的解决方法要么利用下载器在现场重新将功能程序下载至芯片中,要么查出通信故障原因后重试,从而导致时间成本、人力物力成本的增加。而本发明提供的一种无线联网门锁的软件在线升级方法,可保证芯片可以运行功能程序段,具备基本的功能,不影响产品的运行。

本分明一种无线联网门锁的软件在线升级方法的无线联网门锁不管处于引导程序状态还是正常运行状态,均可接受服务器发送至无线联网门锁的升级指令。当无线联网门锁接收到升级指令后,无线联网门锁做好升级准备,服务器发送待升级的程序段数据,无线联网门锁接收并回应。无线联网门锁接收待升级的程序段数据完成后,服务器下发升级数据发送完毕指令,无线联网门锁将待升级标志置起,并存储在存储设备中。然后无线联网门锁重启,先运行已刻录程序中的引导段,引导段读取存储设备中的待升级标志,并进行判断。如果待升级标志置起,则将之前接收的待升级的程序数据段更新至无线联网门锁,至此完成程序段的升级,然后由引导程序段跳转至已升级的程序段,并开始执行已升级的程序段;如果待升级标志没有置起,则由引导程序段直接跳转至已刻录程序中的程序段,开始执行已刻录程序中的程序段,等待重新接收服务器发送的升级指令,进行下一次升级流程。

当引导程序在将待升级的程序段数据覆盖已刻录程序中的程序段过程中出现异常,而此时原有的程序段已被破坏,待升级的程序段也未能如期正确更新至无线联网门锁中,此时无线联网门锁就停留在引导段,即相当于只运行了引导段,而不会跳转至异常的程序段。即便无线联网门锁此时只运行了引导段,仍然能继续和服务器进行通信,此时服务器重新下发升级指令及待升级的程序段数据,待无线联网门锁接收完毕,重启开启新一轮的升级流程。

需要理解的是,以上对本发明的具体实施例进行的描述只是为了说明本发明的技术路线和特点,其目的在于让本领域内的技术人员能够了解本发明的内容并据以实施,但本发明并不限于上述特定实施方式。凡是在本发明权利要求的范围内做出的各种变化或修饰,都应涵盖在本发明的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1