智能家电的电控软件的远程升级方法及装置、介质与流程

文档序号:31673610发布日期:2022-09-28 01:30阅读:110来源:国知局
智能家电的电控软件的远程升级方法及装置、介质与流程

1.本发明涉及智能家电技术领域,尤其是涉及一种智能家电的电控软件的远程升级方法及装置、介质。


背景技术:

2.远程升级电控软件不仅能够节约生产和售后成本、提高售后效率、提升品牌口碑,而且对于持续优化智能设备性能、增加新功能、提升用户体验、加快新品上市进度等都有很显著的效果。在这过程中提高智能设备电控软件远程升级成功率就显得尤为重要。


技术实现要素:

3.为了解决上述技术问题或者至少部分地解决上述技术问题,本发明提供了一种智能家电的电控软件的远程升级方法及装置、介质。
4.第一方面,本发明实施例提供一种智能家电的电控软件的远程升级方法,由智能家电中的wifi模块执行,所述方法包括:
5.从所述智能家电的显示板中获取软硬件信息,并根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包;
6.若存在所述固件升级包,则将所述固件升级包下载至所述wifi模块的存储备份区,并在所述固件升级包下载完成后向所述显示板发送固件传输请求;
7.若在发送所述固件传输请求后的第一时长内接收到所述显示板反馈的启动传输命令,则将所述存储备份区中的固件升级包逐帧发送至所述显示板;
8.在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息;根据升级前和升级后的软硬件信息,判断所述电控软件是否升级成功;
9.若升级成功,则将所述存储备份区的标志位置0;若升级失败,则将所述存储备份区的标志位置1;在所述智能家电重启后,若所述标志位为1,则返回至步骤“向所述显示板发送固件传输请求”;若所述标志位为0,则结束本方法。
10.第二方面,本发明实施例提供一种智能家电的电控软件的远程升级装置,位于智能家电中的wifi模块中,所述装置包括:
11.第一获取模块,用于从所述智能家电的显示板中获取软硬件信息,并根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包;
12.固件下载模块,用于若存在所述固件升级包,则将所述固件升级包下载至所述wifi模块的存储备份区,并在所述固件升级包下载完成后向所述显示板发送固件传输请求;
13.固件传输模块,用于若在发送所述固件传输请求后的第一时长内接收到所述显示板反馈的启动传输命令,则将所述存储备份区中的固件升级包逐帧发送至所述显示板;
14.第二获取模块,用于在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息;根据升级前和升级后的软硬件信息,判断所述电控软件是否升级成功;
15.升级确认模块,用于若升级成功,则将所述存储备份区的标志位置0;若升级失败,则将所述存储备份区的标志位置1;在所述智能家电重启后,若所述标志位为1,则返回至所述固件下载模块中执行步骤“向所述显示板发送固件传输请求”;若所述标志位为0,则结束本装置提供的升级流程。
16.第三方面,本发明一个实施例提供一种计算设备,该设备包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行第一方面提供的方法。
17.第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
18.本发明实施例提供的智能家电的电控软件的远程升级方法及装置、介质,首先从所述智能家电的显示板中获取软硬件信息,并根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包;若存在所述固件升级包,则将所述固件升级包下载至所述wifi模块的存储备份区,并在所述固件升级包下载完成后向所述显示板发送固件传输请求;若在发送所述固件传输请求后的第一时长内接收到所述显示板反馈的启动传输命令,则将所述存储备份区中的固件升级包逐帧发送至所述显示板;在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息;根据升级前和升级后的软硬件信息,判断所述电控软件是否升级成功。如果升级成功,则存储备份区的标志位置0;若升级失败,则将所述存储备份区的标志位置1;在所述智能家电重启后,若所述标志位为1,则返回至步骤“向所述显示板发送固件传输请求”,重新进行升级处理。若所述标志位为0,则结束本方法。由于在升级失败后,将标志位置1,这样在重启后得知标志位为1,就会返回到上述步骤中的向所述显示板发送固件传输请求,重新进行升级,直到升级成功。有时可以一次升级成功,有时需要升级多次才能成功。总之,不论经过几次升级过程,最终都能升级成功,本发明实施例提供的方法基本可以保证升级成功率为百分之百,即大大提高升级成功率。而且如果重新升级的话,由于不必重新下载固件冲击包,因此可以大大提高升级效率。
附图说明
19.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
20.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
21.图1为本发明一个实施例中智能家电的电控软件的远程升级方法的流程示意图;
22.图2为本发明一个实施例中智能家电的电控软件的远程升级方法中wifi模块的处理流程图;
23.图3为本发明一个实施例中智能家电的电控软件的远程升级方法中显示板的处理流程图;
24.图4为本发明一个实施例中智能家电的电控软件的远程升级装置的结构框图。
具体实施方式
25.为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
26.第一方面,本发明实施例提供一种智能家电的电控软件的远程升级方法。
27.该方法可以由智能家电中的wifi模块执行,参见图1~3,本发明实施例提供的方法可以包括如下步骤s110~s150:
28.s110、从所述智能家电的显示板中获取软硬件信息,并根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包;
29.可理解的是,电控软件安装在显示板中,用于对显示板的处理流程或功能进行控制。
30.其中,软硬件信息可以包括多种信息,例如,所述智能家电的sn号、电控软件的型号、电控软件的软件版本号、硬件版本号等。其中,sn号为智能家电的产品序列号。电控软件的型号不同,电控软件的功能有差异。软件版本号体现的是电控软件的版本,硬件版本号体现的是电控软件的所在硬件显示板的版本。
31.在实际场景中,智能家电一上电,wifi模块可以通过循环发送软硬件信息查询指令至显示板,直到接收到显示板回复的软硬件信息。
32.在一个实施例中,s110中所述根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包,可以包括如下步骤s111~s112:
33.s111、查询所述云端中是否存在满足预设条件的固件升级包;其中,所述预设条件为:固件升级包对应的智能家电的sn号、电控软件的型号、电控软件的硬件版本号分别与从所述显示板中获取的智能家电的sn号、电控软件的型号、电控软件的硬件版本号一一对应相同,且固件升级包的软件版本号高于从所述显示板中获取的软件版本号;
34.s112、若存在满足所述预设条件的固件升级包,则所述云端中存在所述显示板的电控软件的固件升级包。
35.也就是说,预设条件为:固件升级包和智能家电上目前安装的电控软件,在除了软件版本号之外的其它软硬件信息上是相同的,而固件升级包的软件版本号高于智能家电上目前安装的电控软件的软件版本号。如果满足该条件,则说明云端存储有电控软件的固件升级包,如果不满足该条件,则说明云端上未存储有电控软件的固件升级包。
36.可见,查询软硬件信息的目的是为了确保让指定型号的设备升级,同时确保升级包状态一致性。在执行本发明实施例提供的方法之前,在云端已经部署有固件升级包。
37.在云端上存储有电控软件的固件升级包的情况下,才会执行如下步骤。
38.s120、若存在所述固件升级包,则将所述固件升级包下载至所述wifi模块的存储备份区,并在所述固件升级包下载完成后向所述显示板发送固件传输请求;
39.例如,将固件升级包下载到wifi模块的flash的备份区。
40.可理解的是,本发明实施例提供的方法是对显示板中的电控程序进行升级,在实际场景中,wifi模块上的程序也存在升级的需求,wifi模块的flash的备份区空间比较大,满足升级需求。在显示板升级时显示板独占备份区的使用权,在wifi模块升级时wifi模块
独占备份区的使用权。在升级结束后,wifi模块和显示板分时共享备份区。
41.可理解的是,在固件升级包下载完成后,wifi模块会向显示板发送固件传输请求,如果在发送固件传输请求后的一定的时间内得到显示板的回复,就开启固件升级包的传输流程。
42.当然,在固件升级包下载完成之后,wifi模块向显示板发送固件传输请求之前,wifi模块还可以向所述显示板发送升级请求,使得wifi模块和显示板均进行状态切换,切换状态后wifi模块和显示板不能进行其它的工作,只进行固件升级。
43.即,在一个实施例中,s120中在所述固件升级包下载完成后,且在向所述显示板发送固件传输请求之前,所述方法还包括:
44.向所述显示板发送升级请求,切换到升级状态,并将传输通道在当前的第一波特率切换到第二波特率;其中,所述第二波特率高于所述第一波特率;
45.判断在发送所述升级请求后的第二时长内是否接收到所述显示板反馈的确认信息;
46.若是,则执行步骤“向所述显示板发送固件传输请求”;
47.否则,退出所述升级状态,并将传输通道切换至所述第一波特率;
48.其中,所述显示板在接收到所述升级请求后进行重启,在重启后进入引导模式,并在所述引导模式下反馈确认信息。
49.例如,wifi模块循环向显示板发送升级请求,等待显示板的回复。当wifi模块在发送升级请求后,wifi模块切换到升级状态,切换到升级状态后只能进行固件升级的相关操作。并且将传输通道第一波特率切换到第二波特率,第一波特率为初始的默认的波特率,在非升级状态下为第一波特率,在升级状态下为第二波特率,第二波特率高于第一波特率,这样在传输固件升级包时可以提高传输速度。当显示板接收到升级请求后,会进行重启,在重启之后进入引导模式,即开启了bootloader程序,在引导模式下向wifi模块回复确认信息。如果wifi模块在1min内接收到该确认信息,则向显示板发送固件传输请求。如果wifi模块在1min内未接收到确认信息,则退出升级状态,将传输通道的第二波特率切换到第一波特率,结束升级流程。
50.其中,升级时的第二波特率远远大于常规状态下的第一波特率,这样可以大大缩短固件升级包的传输时间,提高升级的效率。
51.在一个实施例中,本发明实施例提供的方法还可以包括:
52.若接收到所述显示板发送来的退出升级命令后,退出升级状态,将传输通道切换至所述第一波特率;
53.其中,若所述显示板在进入到引导模式后的第二时长后没有接收到所述固件传输请求,则退出引导模式,并向所述wifi模块发送所述退出升级命令。
54.例如,显示板在进入到引导模式之后,向wifi模块发送确认信息,然后等待wifi模块发送来的固件传输请求。如果在进入到引导模式后的1min之内没有接收到固件传输请求,则退出引导模式,同时向wifi模块发送退出升级命令,当wifi模块接收到退出升级命令之后,便会退出升级状态,而且将第二波特率切换到第一波特率,回到初始状态。
55.当然,如果显示板在进入引导模式后的1min之内接收到wifi模块发送来的固件传输请求,则向wifi模块返回确认信息,并在回复确认信息后向wifi模块发送nak命令,即启
动传输命令。
56.其中,第二时长可以根据需要设置,不限于上述举例中提到的1min。
57.可见,在wifi模块中设置了在发送升级请求后接收显示板反馈的确认信息的时间限制,即第二时长(例如,1min),在显示板中也设置了在进入到引导模式后接收到固件传输请求的时间限制,即第二时长(例如,1min)。这是考虑到在智能家电的升级过程中会受到环境、自身因素的干扰,在数据传输过程中可能发生丢包的问题,为了防止因为丢包问题而导致显示板变砖,设置了退出升级命令。所谓的变砖是指显示板一直处于引导模式而不能退出,导致显示板不能正常使用。由于设置了第二时长、退出升级命令,可以使得显示板和wifi模块均进行第二时长的通信检测,如果超出第二时长没有接收到正确的指令,则退出升级状态和引导模式,等待下一次升级。
58.s130、若在发送所述固件传输请求后的第一时长内接收到所述显示板反馈的启动传输命令,则将所述存储备份区中的固件升级包逐帧发送至所述显示板;
59.例如,wifi模块在发送固件传输请求后的15s内接收到启动传输命令,则wifi模块可以根据xmodem协议开始传输数据,具体将固件升级包逐帧传输至显示板,这样显示板逐帧接收到固件升级包的数据。如果在15s之内没有接收到启动传输命令,则wifi模块会退出升级状态,并从第二波特率切换到第一波特率,从而回到初始的状态。
60.在一个实施例中,s130中所述将所述存储备份区中的固件升级包逐帧发送至所述显示板,具体可以包括如下步骤s131~s132:
61.s131、在向所述显示板发送所述固件升级包的每一帧数据后,接收所述显示板发送来的反馈信息;
62.s131、若所述反馈信息为ack信息,则向所述显示板发送所述固件升级包的下一帧数据;若所述反馈信息为nak信息,则向所述显示板重新发送当前帧数据;若所述反馈信息为can信息,则退出升级状态,并将传输通道切换至所述第一波特率;
63.其中,所述显示板在接收到所述每一帧数据后,对数据帧进行校验,在校验成功后向所述wifi模块反馈ack信息;在校验失败后向所述wifi模块反馈nak信息;若对同一帧数据的校验失败次数达到第一次数后,向所述wifi模块反馈can信息。
64.也就是说,wifi模块每传输一帧数据后,等待显示板的回复,根据显示板的回复信息确定是发送下一帧数据,还是重新发送本帧数据,或者退出升级状态。具体的,当wifi模块向显示板发送来一帧数据之后,显示板收到这一帧数据,然后对这一帧数据进行校验,校验后发现该帧数据正确,则向wifi模块反馈ack信息,该信息表征校验正确,ack信息即为确认信息。当wifi模块接收到显示板发送来的ack信息后,发送下一帧数据。如果显示板经过校验后发现数据存在错误,则发送nak信息,该nak信息表明显示板接收到了数据但是数据存在错误,wifi模块接收到nak信息后,会重新发送本帧数据。但是如果显示板连续多次接收到的数据经过校验发现都存在错误,则向wifi模块反馈can信息,该信息表明对于同一帧数据的校验次数达到第一次数,当wifi模块接收到can信息,则退出升级状态,从第二波特率切换到第一波特率,即结束本次的升级。当前,显示板在发送can信息后,也会退出引导模式。
65.其中,第一次数可以根据需要设置,例如,设置为10。
66.在一个实施例中,在数据传输过程中还可以包括:
67.在向所述显示板发送所述固件升级包的第一帧数据后,若接收到所述显示板发送来的启动传输命令,则重新发送所述第一帧数据;若接收到所述显示板发送来的退出引导模式的通知信息后,退出所述升级状态,并将传输通道切换至所述第一波特率;
68.其中,若所述显示板在发送所述启动传输命令后的第三时长内没有接收到所述第一帧数据,则每隔第四时长向所述wifi模块发送一次所述启动传输命令,直到接收到所述第一帧数据;若连续发送所述启动传输命令的次数达到第二次数,则退出所述引导模式,并通知所述wifi模块。
69.可见,上述过程主要针对第一帧数据。具体的,wifi模块在发送第一帧数据之后,但是显示板在发送启动传输命令后的一定时间内(例如,2s)却没有收到第一帧数据,此时显示板会每隔一定的时间(例如,1s)发送一次启动传输命令。如果wifi模块在发送第一帧数据之后接收到启动传输命令,则说明显示板没有接收到第一帧数据,此时会重新发送第一帧数据。如果显示板在发送一次启动传输命令后的一定时间内接收到了第一帧数据,就不会再发送启动传输命令。但是如果显示板在连续发送第二次数(例如,15次)的启动传输命令后,仍没有收到第一帧数据,则说明显示板和wifi模块之间的传输通道出现了问题。此时显示板会退出引导模式,并通知wifi模块。wifi模块在接收到该通知后,会退出升级状态,由第二波特率切换到第一波特率,结束本次升级。
70.可见,在开始传输时,wifi模块中设置了在发送固件传输请求后接收启动传输命令的时间限制,即第一时长(例如,15s);也在显示板中设置了在没有接收到第一帧数据时连续发送启动传输命令的最大次数,即第二次数(例如,15次);这些设置的目的都是为了保证升级的成功率。
71.s140、在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息;根据升级前和升级后的软硬件信息,判断所述电控软件是否升级成功;
72.即,在传输完成后,wifi模块可以循环发送软硬件信息查询指令给显示板,等待显示板的回复。当wifi模块接收到显示板回复的软硬件信息后,便可以根据在s110中获取的软硬件信息和s140中获取的软硬件信息进行对比,从而判断电控软件的升级是否成功。
73.在一个实施例中,在s140中,在固件升级包传输完成后,在从显示板中获取升级后的软硬件信息之前,本发明实施例提供的方法还可以包括:
74.在所述固件升级包传输完成后,向所述显示板发送eot命令;
75.若接收到所述显示板针对所述eot命令反馈的确认信息后,则退出升级状态,并将传输通道切换至所述第一波特率;
76.其中,若所述显示板接收到所述eot命令,则退出所述引导模式,并针对所述eot命令反馈确认信息。
77.也就是说,当固件升级包传输完成后,wifi模块会向显示板循环发送eot命令,等待显示板的回复,该命令用于告知显示板数据传输完成。当显示板接收到eot命令之后,显示板会向wifi模块回复确认信息,并退出引导模式。当wifi模块接收到确认信息后会退出升级状态,由第二波特率切换到第一波特率。
78.在wifi模块退出升级状态后,会向显示板循环发送软硬件信息查询指令,以查询升级后的软硬件信息,等待显示板的回复。在接收到显示板回复的软硬件信息后,便可以进行对比分析,从而确定是否升级成功。
79.在一个实施例中,s140中判断所述电控软件是否升级成功的过程可以包括:若升级前和升级后的软硬件信息中除了软件版本号之外的其它信息均一一对应相同,且升级后的软硬件信息中的软件版本号高于升级前的软硬件信息中的软件版本号,则升级成功;否则升级失败。
80.例如,经过对比发现,升级前和升级后的软硬件信息中除了软件版本号之外都相同,升级后的软件版本号v2高于升级前的软件版本号v1,可见升级是成功的。由于在查询时进行过对比,这里再次进行对比,可以确保从云端查询到的固件升级包、下载的固件升级包、安装的固件升级包是一致的。
81.s150、若升级成功,则将所述存储备份区的标志位置0;若升级失败,则将所述存储备份区的标志位置1;在所述智能家电重启后,若所述标志位为1,则返回至步骤“向所述显示板发送固件传输请求”;若所述标志位为0,则结束本方法。
82.即,如果本次升级成功,则将flash的备份区的标志位置0,这样在下一次设备重启后,得知备份区的标志位为0,表明升级成功,不会重新安装固件升级包。如果本次升级失败,则将flash的标志位置1,表明在备份区中存储有已经下载的固件升级包,但是上一次升级失败。所以当智能家电重启后发现备份区的标志位为1,则会向显示板发送固件传输请求,或者向显示板发送升级请求,重新进行升级。由于在备份区中存储有固件升级包,因此不需要再从云端下载。
83.在每一次升级完成后,不论成功还是失败,只要退出了升级状态,wifi模块和显示板都会回归到正常的用户程序,进行常规控制。
84.实际上,不论何种原因造成的升级失败,只要在wifi模块的备份区中下载了固件升级包,备份区的标志位都会被置1,这样在家电设备重启后,都会重新进行升级,直到升级成功。也就是说,因为事先将固件升级包存储在wifi模块的flash的备份区中,若本次升级过程中出现异常,则可以在设备重启时直接读取wifi模块flash的标志位,重新进行固件升级包传输,直至升级成功。可见,大部分情况下可以一次升级成功,有时需要升级多次才能成功。总之,不论经过几次升级过程,最终都能升级成功,本发明实施例提供的方法基本可以保证升级成功率为百分之百。
85.在本发明一个实施例中,升级过程具体可以包括如下内容:
86.首先,在云端上预先部署好该智能家电的电控软件的固件升级包。智能家电一上电,wifi模块就循环查询电控软件对应的硬件描述信息直到有返回,并同时记录此时的电控软件的软件版本号v1。然后wifi模块通过查新接口向云端去检测是否有新版本存在。如果有新版本,则从云端将固件升级包下载到wifi模块flash的备份区。当固件升级包完全下载到wifi模块的flash里后,wifi模块向显示板发送升级请求,并同时切换到升级状态和第二波特率。显示板接收到升级请求后重启,进入到引导模式。wifi模块再向显示板发送固件传输指令,wifi模块与显示板通过xmodem协议进行传输。其中,xmodem协议是一种使用拨号调制解调器的个人计算机通信中广泛使用的异步文件运输协议。这种协议以128字节块的形式传输数据,并且每个块都使用一个校验和过程来进行错误检测。
87.然后,在进行xmodem传输时,显示板首先发送启动传输命令,协商校验方式,并通知wifi模块开始传输数据。wifi模块若在一定时间内(例如,15秒)内收到显示板的启动传输命令,则向显示板发送第一帧数据;若没有收到显示板的启动传输命令,则退出升级状
态,切回至默认的第一波特率。判断显示板是否收到wifi模块发送的第一帧数据包,若收到,则对其进行校验,校验正确,则回复ack信息;校验错误,则回复nak信息,重新接收本帧数据,如果连续多次收到错误数据帧,则发送can信息,取消本次升级。而且,若显示板在发送启动传输命令的一定时间(例如,2秒)内没有收到第一帧数据,则每隔一段时间(例如,1秒)发送一次启动传输命令,如果连续发送多次(例如,15次)仍没有收到第一帧数据,则显示板退出引导模式。显示板收到一帧数据后,wifi模块向显示板循环传输数据包直到固件升级包传输完成。
88.接着,传输完成后,wifi模块退出升级状态并切回默认的第一波特率,此时显示板可以重启。wifi模块循环查询升级后的软硬件信息直到有信息返回,并同时记录此时的电控软件版本号v2。比较升级前版本号v1和升级后版本号v2,若v2大于v1,则电控软件升级成功;否则电控软件升级失败。最后wifi模块与显示板回到正常用户程序,进行常规控制。
89.在上述实施例中,在云端部署固件升级包时为确保对指定的型号设备升级,同时确保升级包状态一致性,软硬件信息中包括智能家电的sn号、电控软件的型号、软件版本号、硬件版本号等信息。在进行固件升级包传输时,也增加了容错机制,wifi模块在发送固件传输指令后的一定时间内是否接收到显示板回复的启动传输命令,显示板在连续发送多次的启动传输命令后是否接收到第一帧数据。另外智能家电在实际运行时会受到环境、自身因素的干扰,在wifi模块与显示板通信时可能存在丢包,为防止在升级过程中显示板变砖,增加了退出升级指令,在wifi模块和显示板均进行一定时间的通信检测,若超过该一定的时间仍没有接收到正确的指令,则退出升级状态和引导模式。重启时利用本地存储的固件升级包再次进行升级,直至升级成功,从而确保每次从云端下载下来的固件升级包都能正确升级,升级成功率能达到百分之百,可见本发明实施例提供的方法可以大大提高电控软件的升级效率、升级成功率。
90.第二方面,本发明实施例提供一种智能家电的电控软件的远程升级装置,位于智能家电中的wifi模块中,参见图4,所述装置包括:
91.第一获取模块,用于从所述智能家电的显示板中获取软硬件信息,并根据所述软硬件信息查询云端中是否存在所述显示板的电控软件的固件升级包;
92.固件下载模块,用于若存在所述固件升级包,则将所述固件升级包下载至所述wifi模块的存储备份区,并在所述固件升级包下载完成后向所述显示板发送固件传输请求;
93.固件传输模块,用于若在发送所述固件传输请求后的第一时长内接收到所述显示板反馈的启动传输命令,则将所述存储备份区中的固件升级包逐帧发送至所述显示板;
94.第二获取模块,用于在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息;根据升级前和升级后的软硬件信息,判断所述电控软件是否升级成功;
95.升级确认模块,用于若升级成功,则将所述存储备份区的标志位置0;若升级失败,则将所述存储备份区的标志位置1;在所述智能家电重启后,若所述标志位为1,则返回至所述固件下载模块中执行步骤“向所述显示板发送固件传输请求”;若所述标志位为0,则结束本装置提供的升级流程。
96.在一个实施例中,所述软硬件信息包括所述智能家电的sn号、电控软件的型号、电控软件的软件版本号和硬件版本号;
97.对应的,所述第一获取模块,包括:
98.第一查询单元,用于查询所述云端中是否存在满足预设条件的固件升级包;其中,所述预设条件为:固件升级包对应的智能家电的sn号、电控软件的型号、电控软件的硬件版本号分别与从所述显示板中获取的智能家电的sn号、电控软件的型号、电控软件的硬件版本号一一对应相同,且固件升级包的软件版本号高于从所述显示板中获取的软件版本号;
99.第一确定单元,用于若存在满足所述预设条件的固件升级包,则确定所述云端中存在所述显示板的电控软件的固件升级包。
100.在一个实施例中,第二获取模块执行的步骤“根据升级前和升级后的软硬件信息,判断所述电控软件是否成功升级”,具体包括:若升级前和升级后的软硬件信息中除了软件版本号之外的其它信息均一一对应相同,且升级后的软硬件信息中的软件版本号高于升级前的软硬件信息中的软件版本号,则升级成功;否则升级失败。
101.在一个实施例中,固件下载模块在所述固件升级包下载完成后,且在向所述显示板发送固件传输请求之前,还用于:向所述显示板发送升级请求,切换到升级状态,并将传输通道在当前的第一波特率切换到第二波特率;其中,所述第二波特率高于所述第一波特率;判断在发送所述升级请求后的第二时长内是否接收到所述显示板反馈的确认信息;若是,则执行步骤“向所述显示板发送固件传输请求”;否则,退出所述升级状态,并将传输通道切换至所述第一波特率;其中,所述显示板在接收到所述升级请求后进行重启,在重启后进入引导模式,并在所述引导模式下反馈确认信息。
102.在一个实施例中,装置还可以包括:
103.升级退出模块,用于若接收到所述显示板发送来的退出升级命令后,退出升级状态,将传输通道切换至所述第一波特率;其中,若所述显示板在进入到引导模式后的第二时长后没有接收到所述固件传输请求,则退出引导模式,并向所述wifi模块发送所述退出升级命令。
104.在一个实施例中,固件传输模块包括:
105.第一接收单元,用于在向所述显示板发送所述固件升级包的每一帧数据后,接收所述显示板发送来的反馈信息;
106.第一处理单元,用于若所述反馈信息为ack信息,则向所述显示板发送所述固件升级包的下一帧数据;若所述反馈信息为nak信息,则向所述显示板重新发送当前帧数据;若所述反馈信息为can信息,则退出升级状态,并将传输通道切换至所述第一波特率;其中,所述显示板在接收到所述每一帧数据后,对数据帧进行校验,在校验成功后向所述wifi模块反馈ack信息;在校验失败后向所述wifi模块反馈nak信息;若对同一帧数据的校验失败次数达到第一次数后,向所述wifi模块反馈can信息。
107.在一个实施例中,装置还包括:
108.第二处理单元,用于在向所述显示板发送所述固件升级包的第一帧数据后,若接收到所述显示板发送来的启动传输命令,则重新发送所述第一帧数据;若接收到所述显示板发送来的退出引导模式的通知信息后,退出所述升级状态,并将传输通道切换至所述第一波特率;其中,若所述显示板在发送所述启动传输命令后的第三时长内没有接收到所述第一帧数据,则每隔第四时长向所述wifi模块发送一次所述启动传输命令,直到接收到所述第一帧数据;若连续发送所述启动传输命令的次数达到第二次数,则退出所述引导模式,
并通知所述wifi模块。
109.在一个实施例中,第二获取模块在所述固件升级包传输完成后,从所述显示板中获取升级后的软硬件信息之前,还用于:在所述固件升级包传输完成后,向所述显示板发送eot命令;若接收到所述显示板针对所述eot命令反馈的确认信息后,则退出升级状态,并将传输通道切换至所述第一波特率;其中,若所述显示板接收到所述eot命令,则退出所述引导模式,并针对所述eot命令反馈确认信息。
110.可理解的是,本发明实施例提供的装置中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
111.第三方面,本发明实施例提供一种计算设备,该设备包括:至少一个存储器和至少一个处理器;所述至少一个存储器,用于存储机器可读程序;所述至少一个处理器,用于调用所述机器可读程序,执行第一方面提供的方法。
112.可理解的是,本发明实施例提供的设备中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
113.第四方面,本发明实施例提供一种计算机可读介质,所述计算机可读介质上存储有计算机指令,所述计算机指令在被处理器执行时,使所述处理器执行第一方面提供的方法。
114.具体地,可以提供配有存储介质的系统或者装置,在该存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机(或cpu或mpu)读出并执行存储在存储介质中的程序代码。
115.在这种情况下,从存储介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此程序代码和存储程序代码的存储介质构成了本发明的一部分。
116.用于提供程序代码的存储介质实施例包括软盘、硬盘、磁光盘、光盘(如cd-rom、cd-r、cd-rw、dvd-rom、dvd-ram、dvd-rw、dvd+rw)、磁带、非易失性存储卡和rom。可选择地,可以由通信网络从服务器计算机上下载程序代码。
117.此外,应该清楚的是,不仅可以通过执行计算机所读出的程序代码,而且可以通过基于程序代码的指令使计算机上操作的操作系统等来完成部分或者全部的实际操作,从而实现上述实施例中任意一项实施例的功能。
118.此外,可以理解的是,将由存储介质读出的程序代码写到插入计算机内的扩展板中所设置的存储器中或者写到与计算机相连接的扩展模块中设置的存储器中,随后基于程序代码的指令使安装在扩展板或者扩展模块上的cpu等来执行部分和全部实际操作,从而实现上述实施例中任一实施例的功能。
119.可理解的是,本发明实施例提供的计算机可读介质中有关内容的解释、具体实施方式、有益效果、举例等内容可以参见第一方面提供的方法中的相应部分,此处不再赘述。
120.本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
121.本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、挂件或它们的任意组合来实现。当使用软件实现时,可以将这些功能
存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
122.以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1