一种智能家电远程升级控制方法与流程

文档序号:16879649发布日期:2019-02-15 22:00阅读:184来源:国知局
一种智能家电远程升级控制方法与流程

本发明实施例涉及家电设备控制技术,尤指一种智能家电远程升级控制方法。



背景技术:

目前,食品加工机(如豆浆机)智能化已成为一种趋势,通过远程服务器后台对食品加工机程序进行升级成为智能设备越来越常用的功能,但由于远程升级涉及本地设备、通信模块(如2g模块或者wifi模块)及后台服务器,一旦数据出现异常,将造成程序升级失败,考虑到目前食品加工机内程序存储容量都较小,一般情况下只能擦除原有程序再进行写入,无法进行程序备份,因此,一旦出现程序升级失败,机器将无法使用,而且无法通过后台再次升级。



技术实现要素:

本发明实施例提供了一种智能家电远程升级控制方法,能够提高升级过程的安全可靠性,降低远程升级失败的概率,提升用户使用体验。

为了达到本发明实施例目的,本发明实施例提供了一种智能家电远程升级控制方法,该智能家电的控制芯片包括存储区,该存储区小于100k,该存储区包括:启动boot区和固件区;程序运行在固件区;该方法包括:

在对固件区的数据进行擦除以对固件区进行远程升级之前,对boot区接收到的最新版本的升级数据进行校验;

在校验结果为升级数据无异常时,擦除固件区的数据,并通过升级数据对固件区进行升级。

可选地,对boot区接收到的最新版本的升级数据进行校验包括:

根据最新版本的升级数据,在boot区进行预升级;

在预升级完成后检测预设的校验标志位是否正确;

当检测出校验标志位正确时确定升级数据无异常,当检测出校验标志位错误时确定升级数据异常。

可选地,校验标志位设置在固件区中的预设地址上。

可选地,智能家电可以包括:通讯模块;通讯模块用于从服务器下载最新版本的升级数据,并将升级数据发送给boot区。

可选地,该方法还可以包括:在校验结果为升级数据异常时,将校验结果反馈给通讯模块,并通过通讯模块重新下载最新版本的升级数据。

可选地,该方法还可以包括:

对通讯模块在通讯过程中接收到的每一帧升级数据进行循环冗余校验码crc校验;

当crc校验通过时,确定升级数据无异常;当crc校验未通过时,确定升级数据异常。

可选地,该方法还可以包括:在进行预升级之前,将固件区的数据发送到通讯模块进行备份,并在确认升级数据异常时,通过所备份的固件区的数据对固件区进行数据恢复。

可选地,该方法还可以包括:在确认升级数据异常时,通过手动触发预设的硬件升级配置对固件区进行升级。

可选地,该方法还可以包括:

在对boot区的升级数据进行校验之前,先对通讯模块的通讯线路是否正常进行检测,以确定boot区是否接收到升级数据。

可选地,智能家电的存储区还可以包括:标志区;

该方法还可以包括:在固件区进行升级过程中,在标志区设置升级标志,并在固件区升级结束后,清除标志区的升级标志。

本发明实施例的有益效果可以包括:

1、本发明实施例的该智能家电的控制芯片包括存储区,该存储区小于100k,该存储区可以包括:启动boot区和固件区;程序运行在固件区;该方法可以包括:在对固件区的数据进行擦除以对固件区进行远程升级之前,对boot区接收到的最新版本的升级数据进行校验;在校验结果为升级数据无异常时,擦除固件区的数据,并通过升级数据对固件区进行升级。通过该实施例方案,避免了一旦通信模块下载数据异常或者丢失等情况下机器升级失败,从而导致机器无法使用,使得机器可以维持升级前版本并正常使用,同时可以再次完成升级,从而提高了升级过程的安全可靠性,降低了远程升级失败的概率,提升了用户使用体验。

2、本发明实施例对boot区接收到的最新版本的升级数据进行校验可以包括:根据最新版本的升级数据,在boot区进行预升级;在预升级完成后检测预设的校验标志位是否正确;当检测出校验标志位正确时确定升级数据无异常,当检测出校验标志位错误时确定升级数据异常。该实施例方案,易于实施、可靠性高。

3、本发明实施例的校验标志位设置在固件区中的预设地址上。通过该实施例方案,进一步提高了升级固件可靠性,避免了程序代码区数据错误而导致机器无法使用。

4、本发明实施例的智能家电可以包括:通讯模块;通讯模块用于从服务器下载最新版本的升级数据,并将升级数据发送给boot区。该方法还可以包括:在校验结果为升级数据异常时,将校验结果反馈给通讯模块,并通过通讯模块重新下载最新版本的升级数据。通过该实施例方案,可以将异常信号反馈给通信模块,通信模块重新执行固件升级流程,避免了异常数据造成固件升级无法进行,确保固件升级可靠性。

5、本发明实施例的方法还可以包括:对通讯模块在通讯过程中接收到的每一帧升级数据进行循环冗余校验码crc校验;当crc校验通过时,确定升级数据无异常;当crc校验未通过时,确定升级数据异常。该实施例方案中crc校验可针对每一个通信位校验,可靠性高,避免了数据通信链路异常造成升级故障,进一步提升了远程固件升级数据通信可靠性。

6、本发明实施例的方法还可以包括:在进行预升级之前,将固件区的数据发送到通讯模块进行备份,并在确认升级数据异常时,通过所备份的固件区的数据对固件区进行数据恢复。通过该实施例方案,可以避免擦除固件区后数据异常造成固件无法恢复现象,确保机器本身可以正常工作,避免了升级失败造成严重后果。

7、本发明实施例的方法还可以包括:在确认升级数据异常时,通过手动触发预设的硬件升级配置对固件区进行升级。通过该实施例方案,可以避免机器无法使用,降低维修成本。

本发明实施例的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明实施例的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

附图说明

附图用来提供对本发明实施例技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明实施例的技术方案,并不构成对本发明实施例技术方案的限制。

图1为本发明实施例的智能家电远程升级控制方法流程图;

图2为本发明实施例的对boot区接收到的最新版本的升级数据进行校验的方法流程图;

图3为本发明实施例中对通讯模块接收到的数据使用crc校验方式进行校验的方法流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。

在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

实施例一

本发明实施例提供了一种智能家电远程升级控制方法,该智能家电的控制芯片包括存储区,该存储区小于100k,该存储区包括:启动boot区和固件区;程序运行在固件区;如图1所示,该方法可以包括s101-s102:

s101、在对固件区的数据进行擦除以对固件区进行远程升级之前,对boot区接收到的最新版本的升级数据进行校验;

s102、在校验结果为升级数据无异常时,擦除固件区的数据,并通过升级数据对固件区进行升级。

可选地,智能家电的存储区还可以包括:标志区;

该方法还可以包括:在固件区进行升级过程中,在标志区设置升级标志,并在固件区升级结束后,清除标志区的升级标志。

可选地,智能家电可以包括:通讯模块;通讯模块用于从服务器下载最新版本的升级数据,并将升级数据发送给boot区。

在本发明实施例中,具有远程升级功能的机器,程序存储区一般可以划分为三个区:boot区,固件区及标志区。

在本发明实施例中,基于上述的三个分区,目前的升级流程如下:机器正常工作时,程序运行在固件区,当后台服务器检测到新版本程序时,服务器通知通信模块,通信模块下载最新版本的程序固件,然后通信模块通知机器需要固件升级,机器在标志区设置升级标志,然后进入boot区,boot区中接收通信模块发送升级数据,将固件区程序进行升级,升级完成后清除标志区升级标志,程序进入固件区,机器完成升级流程。

在本发明实施例中,一般情况下,小家电使用芯片程序存储区大都在16k及32k,考虑到成本,程序代码量基本占用大部分程序存储区,所以,在进行固件远程升级的时候,无法将代码下载完成后再进行判断,只能先将固件区代码擦除,然后将接收到的数据按数据帧写入到固件区,在这样过程中,一旦固件区数据擦除将无法恢复,此时,若通信模块下载数据异常或者通信线路中断,固件区将永久无法恢复,升级失败,机器无法使用。

在本发明实施例中,针对上述问题,本发明实施例方案在boot区升级擦除固件区之前,先对boot区接收到的最新版本的升级数据进行校验,在校验结果为升级数据无异常,升级过程无异常时,才擦除固件区的数据,并通过升级数据对固件区进行升级。可以避免一旦通信模块下载数据异常或者丢失情况下避免机器升级失败,导致机器无法使用,机器可以维持升级前版本并正常使用,同时可以再次完成升级,从而提高了升级过程的安全可靠性,降低了远程升级失败的概率,提升了用户使用体验。

实施例二

该实施例在实施例一的基础上,给出了对boot区接收到的最新版本的升级数据进行校验的一种具体实施方式。

可选地,如图2所示,对boot区接收到的最新版本的升级数据进行校验可以包括s201–s203:

s201、根据最新版本的升级数据,在boot区进行预升级;

s202、在预升级完成后检测预设的校验标志位是否正确;

s203、当检测出校验标志位正确时确定升级数据无异常,当检测出校验标志位错误时确定升级数据异常。

在本发明实施例中,进入boot区后,先与通信模块进行一次预升级,即第一次升级时,先不擦除固件区数据,仅接收通信模块数据并校验,确认到所有数据完整无异常后再进行第二次升级,此时才将固件区擦除,再次接收通信模块数据并完成升级,从而避免机器升级失败导致机器无法使用,提高升级过程的安全可靠性。

在本发明实施例中,在程序代码编写时候,可以在特定地址预设校验标志位,预升级完成后,若检测到预设的校验标志位错误时,则判定固件升级数据异常,退出升级模式,不进行固件升级;若检测到预设的校验标志位正确时,则判定固件升级数据正常,可以根据当前的升级数据进行第二次升级。

在本发明实施例中,在一般升级流程中,数据流正确与否通过帧数量和数据校验判断,数据本身是否正确无法进行判断,而数据本身出现异常也将导致机器无法正常工作,本发明实施例方案中,在程序设计时候,可以在固件区特定地址写入预设校验标志,当接收到通信模块数据时,通过特定地址校验标志判断,从而确定数据是否存在异常,当数据出现异常时,可以退出本次升级,避免升级异常导致机器无法使用。通过该实施例方案,可以进一步提高升级固件可靠性,避免程序代码区数据错误导致机器无法使用。

可选地,校验标志位可以设置在固件区中的预设地址上。

实施例三

该实施例在实施例二的基础上,给出了预升级数据异常后,机器通知通信模块重新获取服务器最新版本数据的实施例方案。

可选地,该方法还可以包括:在校验结果为升级数据异常时,将校验结果反馈给通讯模块,并通过通讯模块重新下载最新版本的升级数据。

在本发明实施例中,预升级过程中,若判断固件升级错误,机器可以在boot区通知通信模块固件数据异常,通信模块可以重新向服务器下载最新版本数据,确保固件升级顺利进行。

在本发明实施例中,一般情况下,通信模块仅负责数据中转功能,即将机器控制指令发送给服务器或者操作端,将服务器或者操作端指令数据发送给机器,若通信模块本身数据存储出错,则发送给机器中数据也会出错,因此一旦机器在boot区接收到数据异常后,可以反馈给通信模块,通信模块重新向服务器获取数据,更新上一次下载异常数据,保证固件升级顺利进行。通过该实施例方案,可以将异常信号反馈给通信模块,通信模块重新执行固件升级流程,避免异常数据造成固件升级无法进行,确保固件升级可靠性。

实施例四

该实施例在上述任意实施例的基础上,给出了对通讯模块接收到的数据使用crc(循环冗余校验码)校验方式的实施例方案。

可选地,如图3所示,该方法还可以包括s301-s302:

s301、对通讯模块在通讯过程中接收到的每一帧升级数据进行crc校验;

s302、当crc校验通过时,确定升级数据无异常;当crc校验未通过时,确定升级数据异常。

在本发明实施例中,通讯模块的每帧数据发送后可以增加crc校验,机器接收数据后按照crc校验,若校验不通过,则判断该次数据异常,重新发送。

在本发明实施例中,一般情况,通信校验有奇偶校验、和校验及crc校验等,考虑小家电通信线路所处环境(涉及大功率加热及电机工作),线路所受干扰较大,crc校验可针对每一个通信位校验,可靠性高,避免数据通信链路异常造成升级故障,可进一步提升远程固件升级数据通信可靠性。

实施例五

该实施例在上述任意实施例的基础上,给出了通信模块备份上一版本升级数据,在异常情况下实现数据恢复的实施例方案。

可选地,该方法还可以包括:在进行预升级之前,将固件区的数据发送到通讯模块进行备份,并在确认升级数据异常时,通过所备份的固件区的数据对固件区进行数据恢复。

在本发明实施例中,当机器进入boot区进行预升级前,可以将固件区数据发送给通信模块进行备份,在进行预升级流程时,或在正式升级流程中发现升级数据异常时,可以向通信模块请求发送备份区数据,以恢复原有固件区,避免升级失败造成机器无法使用。

在本发明实施例中,一般情况下,通信模块属于it(互联网技术)类模组,如wifi(无线保真)模块或者2g(第二代手机通信技术规格)模块,存储空间达到几百k,甚至1m以上,因此相对于存储小家电程序代码而言,占用存储区空间较小,因此,可以将机器固件区数据回传到通信模块进行备份,这样,一旦固件升级过程中机器固件区数据擦除完后而出现数据异常时,机器可以从通信模块备份区恢复上一版本数据,保证机器可正常使用,同时可以进行再次固件升级,避免机器程序异常而无法工作。

在本发明实施例中,通过该实施例方案,可以避免擦除固件区后数据异常造成固件无法恢复现象,确保机器本身可以正常工作,避免升级失败造成严重后果。

实施例六

该实施例在上述任意实施例的基础上,给出了手动升级的实施例方案。

可选地,该方法还可以包括:在确认升级数据异常时,通过手动触发预设的硬件升级配置对固件区进行升级。

在本发明实施例中,可以在机器上设置硬件升级配置,当发现升级失败时,可手动触发该硬件升级配置,重新升级。

在本发明实施例中,一般情况下,一旦升级失败而程序没有识别,则机器就无法使用,此时,只能通过返厂,手动使用程序烧录设备将机器程序重新更新,从而使得由于升级失败可能造成大量返修,增大了手动维修数量,因此,可以在机器上预设硬件升级配置,该配置可以是升级开关,也可以是其他控制信号,机器上电后首先进入boot区判断升级设置,若判定硬件升级配置,判定有硬件触发升级信号,则可以直接进入升级状态,这样,一旦出现升级失败,可以通过手动方案重新升级,确保升级失败后造成机器无法使用。通过该实施例方案,可以为升级失败提供一种解决方案,避免机器无法使用,降低维修成本。

实施例七

该实施例在上述任意实施例的基础上,给出了通讯线路检测的实施例方案。

可选地,该方法还可以包括:

在对boot区的升级数据进行校验之前,先对通讯模块的通讯线路是否正常进行检测,以确定boot区是否接收到升级数据。

在本发明实施例中,为了避免由于通讯线路故障而使得升级无法正常运行,可以在对boot区的升级数据进行校验之前,先对通讯模块的通讯线路是否正常进行检测,以确定boot区是否接收到升级数据,从而进一步提高升级可靠性。

本发明实施例的有益效果可以包括:

1、本发明实施例的该智能家电的控制芯片包括存储区,该存储区小于100k,该存储区可以包括:启动boot区和固件区;程序运行在固件区;该方法可以包括:在对固件区的数据进行擦除以对固件区进行远程升级之前,对boot区接收到的最新版本的升级数据进行校验;在校验结果为升级数据无异常时,擦除固件区的数据,并通过升级数据对固件区进行升级。通过该实施例方案,避免了一旦通信模块下载数据异常或者丢失等情况下机器升级失败,从而导致机器无法使用,使得机器可以维持升级前版本并正常使用,同时可以再次完成升级,从而提高了升级过程的安全可靠性,降低了远程升级失败的概率,提升了用户使用体验。

2、本发明实施例对boot区接收到的最新版本的升级数据进行校验可以包括:根据最新版本的升级数据,在boot区进行预升级;在预升级完成后检测预设的校验标志位是否正确;当检测出校验标志位正确时确定升级数据无异常,当检测出校验标志位错误时确定升级数据异常。该实施例方案,易于实施、可靠性高。

3、本发明实施例的校验标志位设置在固件区中的预设地址上。通过该实施例方案,进一步提高了升级固件可靠性,避免了程序代码区数据错误而导致机器无法使用。

4、本发明实施例的智能家电可以包括:通讯模块;通讯模块用于从服务器下载最新版本的升级数据,并将升级数据发送给boot区。该方法还可以包括:在校验结果为升级数据异常时,将校验结果反馈给通讯模块,并通过通讯模块重新下载最新版本的升级数据。通过该实施例方案,可以将异常信号反馈给通信模块,通信模块重新执行固件升级流程,避免了异常数据造成固件升级无法进行,确保固件升级可靠性。

5、本发明实施例的方法还可以包括:对通讯模块在通讯过程中接收到的每一帧升级数据进行循环冗余校验码crc校验;当crc校验通过时,确定升级数据无异常;当crc校验未通过时,确定升级数据异常。该实施例方案中crc校验可针对每一个通信位校验,可靠性高,避免了数据通信链路异常造成升级故障,进一步提升了远程固件升级数据通信可靠性。

6、本发明实施例的方法还可以包括:在进行预升级之前,将固件区的数据发送到通讯模块进行备份,并在确认升级数据异常时,通过所备份的固件区的数据对固件区进行数据恢复。通过该实施例方案,可以避免擦除固件区后数据异常造成固件无法恢复现象,确保机器本身可以正常工作,避免了升级失败造成严重后果。

7、本发明实施例的方法还可以包括:在确认升级数据异常时,通过手动触发预设的硬件升级配置对固件区进行升级。通过该实施例方案,可以避免机器无法使用,降低维修成本。

本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。

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