用于固件升级的方法、装置和智能家电与流程

文档序号:26826580发布日期:2021-09-29 04:51阅读:264来源:国知局
用于固件升级的方法、装置和智能家电与流程

1.本技术涉及智能家电技术领域,例如涉及一种用于固件升级的方法、装置和智能家电。


背景技术:

2.目前,物联网平台支持通过空中下载技术(over

the

air technology,ota)的方式进行设备升级,利用远程固件升级技术(firmware over

the

air,fota),用户可以使用手机端为家电设备中的固件进行升级。例如,判断家电设备中的固件版本是为最新,如果不是,则下载最新版本的固件,未家电设备中的固件进行升级。
3.fota的升级流程比较复杂,各厂商为了给用户提供良好的使用体验,通常掩盖fota的升级流程,实现固件的自动升级。还可在家电设备的非使用时间,自动对家电设备的固件进行升级,以进一步地提高用户的使用体验。
4.在实现本公开实施例的过程中,发现相关技术中至少存在如下问题:
5.在家电设备的应用场景中,存在使用频率高的家电设备和使用频率低的家电设备,例如使用频率高的家电设备可包括智能冰箱、智能空调等,使用频率低的家电设备可包括智能洗衣机、智能燃气灶、智能油烟机等。对于使用频率低的这些家电设备,在用户不使用的时间段内,通常使之处于关机状态,以节约能耗。在这种情况下,无法在使用频率低的家电设备的非使用时间内对其固件进行升级,其升级过程通常发生在用户等待使用该使用频率低的家电设备的过程中,若采用现有技术中掩盖fota的升级流程以自动升级的技术方案,用户无法了解升级进度,无法预知何时升级完毕,何时可以继续使用该家电设备,这降低了用户的使用体验。


技术实现要素:

6.为了对披露的实施例的一些方面有基本的理解,下面给出了简单的概括。所述概括不是泛泛评述,也不是要确定关键/重要组成元素或描绘这些实施例的保护范围,而是作为后面的详细说明的序言。
7.本公开实施例提供了一种用于固件升级的方法、装置和智能家电,以解决现有技术中掩盖fota升级流程以实现自动升级的过程,导致用户的使用体验较差的技术问题。
8.在一些实施例中,用于固件升级的方法应用于通信装置,所述通信装置包括中间件软件开发工具包(software development kit,sdk)、fota模块、机器对机器(machine to machine,m2m)模块(用于机器与机器之间的通信)和设备交互sdk,所述用于固件升级的方法包括:在第一接口被移动终端调用的情况下,通过所述中间件sdk、所述fota模块、所述m2m模块和所述设备交互sdk获得家电设备的远程固件版本信息,并获得与所述远程固件版本信息相对应的是否需要升级的判断结果,所述中间件sdk将所述判断结果通过所述第一接口发送至移动终端;在所述判断结果为可升级的情况下,响应所述移动终端对第二接口的调用,所述设备交互sdk与所述家电设备进行交互,所述中间件sdk通过所述第二接口向
所述移动终端反馈升级进度;其中,所述升级进度由所述设备交互sdk发送至所述中间件sdk。
9.可选地,所述设备交互sdk与家电设备进行交互,所述中间件sdk通过所述第二接口向所述移动终端反馈升级进度,包括:所述中间件sdk向所述设备交互sdk发送升级指令;所述设备交互sdk响应所述升级指令,与所述中间件sdk建立蓝牙低能耗(bluetooth low energy,ble)gatt(generic attribute profile)连接;所述设备交互sdk在所述中间件sdk获得固件升级包的固件描述信息;所述设备交互sdk向所述中间件sdk发送第一升级进度通知;所述中间件sdk通过所述第二接口向所述移动终端发送所述第一升级进度通知。
10.可选地,在所述设备交互sdk向所述中间件sdk发送第一升级进度通知之后,用于固件升级的方法还包括:所述设备交互sdk解析所述固件描述信息获得结构化固件包描述,并将携带所述结构化固件包描述的设备升级信息发送至所述家电设备;所述设备交互sdk接收所述家电设备反馈的与所述设备升级信息相对应的应答信息;其中,所述应答信息中包括是否可升级的信息;所述设备交互sdk向所述中间件sdk发送第二升级进度通知;所述中间件sdk通过所述第二接口向所述移动终端发送所述第二升级进度通知。
11.可选地,所述应答消息中包括可升级的信息,在所述设备交互sdk向所述中间件sdk发送所述第二升级进度通知之后,用于固件升级的方法还包括:所述设备交互sdk接收所述家电设备发送的用于请求子固件包的请求信息,并在所述中间件sdk获得子固件包;所述固件升级包包括一个或多个子固件包;所述设备交互sdk将第三升级进度发送至所述中间件sdk,所述中间件sdk将所述第三升级进度发送至所述移动终端;所述设备交互sdk对所述子固件包进行校验,并在校验通过后,将携带所述子固件包下载地址的子固件包下载完成通知发送至所述家电设备,使所述家电设备自行升级。
12.可选地,在所述家电设备升级完成所述固件升级包中的一个或多个子固件包后,用于固件升级的方法还包括:所述设备交互sdk接收所述家电设备升级结束后发送的携带升级结束标识和最新设备版本信息的信息;所述设备交互sdk接收携带升级结束标识和最新设备版本信息的信息后,确定升级成功,并将升级成功结果发送至所述中间件sdk;所述中间件sdk向所述设备交互sdk查询所述最新设备版本信息;所述中间件sdk通过所述第二接口向所述移动终端发送所述升级成功结果。
13.可选地,在中间件sdk向设备交互sdk发送升级指令之前,用于固件升级的方法还包括:中间件sdk在资源服务器下载所述固件升级包。
14.可选地,获得远程固件版本信息,包括:所述中间件sdk与所述设备交互sdk建立连接,获得所述设备交互sdk接收的所述家电设备发送的设备版本信息;所述中间件sdk将所述设备版本信息更新至所述m2m模块;所述m2m模块将所述设备版本信息发送至所述fota模块;所述中间件sdk向所述fota模块查询与所述设备版本信息对应的所述远程固件版本信息。
15.可选地,用于固件升级的方法还包括:所述中间件sdk向所述fota模块反馈所述升级进度。
16.在一些实施例中,用于固件升级的装置包括处理器和存储有程序指令的存储器,所述处理器被配置为在执行所述程序指令时,执行前述实施例提供的用于固件升级的方法。
17.在一些实施例中,智能家电包括前述实施例提供的用于固件升级的装置。
18.本公开实施例提供的用于固件升级的方法、装置和智能家电,可以实现以下技术效果:
19.通信装置可通过第一接口将固件版本信息发送至移动终端,以便于用户了解设备(家电设备)是否需要升级,并且,在升级过程中,该通信装置可将升级进度通过第二接口反馈至移动终端,以便于用户预知升级完成的时间,并知晓在何时可继续使用该设备,便于用户合理地安排时间,减少无意义的等待过程,提高了用户的使用体验。
20.以上的总体描述和下文中的描述仅是示例性和解释性的,不用于限制本技术。
附图说明
21.一个或一个以上实施例通过与之对应的附图进行示例性说明,这些示例性说明和附图并不构成对实施例的限定,附图中具有相同参考数字标号的元件视为类似的元件,并且其中:
22.图1是本公开实施例提供的一种固件升级的实施环境的示意图;
23.图2是本公开实施例提供的一种用于固件升级的方法的示意图;
24.图3是本公开实施例提供的部分升级过程以及反馈升级进度的示意图;
25.图4是本公开实施例提供的部分升级过程以及反馈升级进度的示意图;
26.图5是本公开实施例提供的部分升级过程以及反馈升级进度的示意图;
27.图6是本公开实施例提供的部分升级过程以及反馈升级进度的示意图;
28.图7是本公开实施例提供的一种用于固件升级的装置的示意图。
具体实施方式
29.为了能够更加详尽地了解本公开实施例的特点与技术内容,下面结合附图对本公开实施例的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本公开实施例。在以下的技术描述中,为方便解释起见,通过多个细节以提供对所披露实施例的充分理解。然而,在没有这些细节的情况下,一个或一个以上实施例仍然可以实施。在其它情况下,为简化附图,熟知的结构和装置可以简化展示。
30.本公开实施例的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本公开实施例的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含。
31.除非另有说明,术语“多个”表示两个或两个以上。
32.本公开实施例中,字符“/”表示前后对象是一种“或”的关系。例如,a/b表示:a或b。
33.术语“和/或”是一种描述对象的关联关系,表示可以存在三种关系。例如,a和/或b,表示:a或b,或,a和b这三种关系。
34.图1是本公开实施例提供的一种固件升级的实施环境的示意图。结合图1所示,固件升级指的是对家电设备13中的固件进行升级,这里的家电设备指的是智能家电设备,该智能家电设备包括处理器、存储器等,一些智能家电设备还可以安装应用程序(application,app)。
35.移动终端11可以是智能手机、平板电脑、超级移动个人计算机(ultra

mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等终端设备,且不限于此。
36.通信装置12由硬件以及软件构成,其软件的应用程序接口可被移动终端11调用,在应用程序接口被移动终端11调用后,移动终端11和通信装置可实现通信。对于单独的家电设备13,该通信装置12可集成在单独的家电设备13上,并与家电设备13进行通信(图中未示出);对于物联网的应用场景下,该通信装置12可独立设置在家电设备13外,或者,该通信装置12可集成在某一个家电设备13上,该通信装置12可与两个或多个家电设备13通信。
37.其中,通信装置12可通过wifi、zigbee、蓝牙等与移动终端11通信,通信装置12可通过蓝牙与家电设备13进行通信。
38.图2是本公开实施例提供的一种用于固件升级的方法的示意图,本公开实施例以该用于固件升级的方法由图1中所示的通信装置执行,进行示例性说明。该通信装置可包括中间件sdk、fota模块、m2m模块和设备交互sdk,中间件sdk配置有第一接口和第二接口(应用程序接口),且第一接口和第二接口可被移动终端调用。
39.结合图2所示,用于固件升级的方法包括:
40.s201、在第一接口被移动终端调用的情况下,通过中间件sdk、fota模块、m2m模块和设备交互sdk获得远程固件版本信息,并获得与远程固件版本信息相对应的是否需要升级的判断结果,中间件sdk将判断结果通过第一接口发送至移动终端。
41.例如用户在使用家电设备(例如智能洗衣机)前或者在使用家电设备(例如智能洗衣机)之后,用户对移动终端进行操作,移动终端响应用户的操作,调用第一接口;或者,在家电设备开机后,或者关机前,自动调用第一接口;或者,每隔设定时间段,例如一周、半月、一个月或更长时间,调用一次第一接口。
42.第一接口被移动终端调用后,通信装置获得是否需要升级的判断结果并将判断结果通过第一接口返回至移动终端,这样,用户通过移动终端即可了解到家电设备是否需要升级,便于用户决定是否此时使用该家电设备,或者,依据家电设备固件升级所需时长决定何时使用该家电设备。
43.在一些应用场景中,第一接口(例如命名为checkfota的应用程序接口)可提供一个回调函数作为入参,检测结果在回调函数中返回,例如,检测结果可包括一个int值:resultcode,不同的code值表示家电设备不同的状态,例如,可返回两种code,分别表示无需升级和可升级。
44.或者,可返回三种code,分别表示无需升级、正在升级和可升级。
45.在一些应用场景中,中间件sdk还通过第一接口向移动终端返回一个id对象,表示对返回结果的具体描述,例如,用户在id对象表示智能洗衣机,判断结果为可升级,这样即可表示智能洗衣机可升级。
46.在一些应用场景中,中间件sdk还通过第一接口向移动终端返回一个bool值,用于表示调用结果成功或失败,可用true表示调用成功,可用false表示调用失败。在调用结果为true的情况下,第一接口可返回两种或三种表示判断结果的code,在调用结果为false的情况下,第一接口返回表示错误码的code。
47.第一接口的回调函数可异步执行,这样不会阻塞主线程。
48.可选地,获得远程固件版本信息,包括:中间件sdk与设备交互sdk建立连接,获得设备交互sdk接收的家电设备发送的设备版本信息;中间件sdk将设备版本信息更新至m2m模块;m2m模块将设备版本信息发送至fota模块;中间件sdk向fota模块查询与设备版本信息对应的远程固件版本信息。这样即可获得远程固件版本信息。
49.在本公开实施例中,移动终端执行的动作,可为移动终端上安装的app执行的动作;家电设备执行的动作,可为家电设备上安装的app执行的动作。
50.中间件sdk可向版本服务器查询家电设备的本地固件版本信息,在中间件sdk获得本地固件版本信息与远程固件版本信息之后,在本地固件版本信息的版本号高于或等于远程固件版本信息的版本号的情况下,获得无需升级的判断结果,在本地固件版本信息的版本号低于远程固件版本信息的版本号的情况下,获得可升级的判断结果。
51.具体地,中间件sdk可通过超文本传输协议(hypertext transfer protocol,http)在版本服务器查询家电设备的本地固件版本信息,或者,通过超文本传输安全协议(hyper text transfer protocol over securesocket layer,https)在版本服务器查询家电设备的本地固件版本信息。
52.如果判断结果为可升级,则在中间件sdk向设备交互sdk发送升级指令之前,用于固件升级的方法还可包括:中间件sdk在资源服务器下载固件升级包。中间件sdk可在将判断结果通过第一接口发送至移动终端之后,再在资源服务器下载固件升级包;或者,中间件sdk也可先在资源服务器下载固件升级包,在下载过程中,再将判断结果通过第一接口发送至移动终端。
53.中间件sdk可通过http在资源服务器下载固件升级包,中间件sdk也可通过https在资源服务器下载固件升级包。
54.在中间件sdk向设备交互sdk发送升级指令之前下载固件升级包,便于在中间件sdk向设备交互sdk发送升级指令后的固件升级过程。
55.s202、在判断结果为可升级的情况下,响应移动终端对第二接口的调用,设备交互sdk与所述家电设备进行交互,在交互过程中家电设备进入升级模式并进行固件升级,中间件sdk通过第二接口向移动终端反馈升级进度。
56.其中,升级进度由设备交互sdk发送至中间件sdk。
57.在判断结果为可升级的情况下,可由用户操作移动终端,移动终端响应用户操作,调用第二接口;或者,在移动终端接收到可升级的判断结果的情况下,移动终端自动调用第二接口,使家电设备升级。
58.在第二接口被移动终端调用后,通信装置中的设备交互sdk与家电设备进行交互,在交互过程中家电设备进入升级模式并进行固件升级,设备交互sdk并将升级进度发送至中间件sdk,中间件sdk通过第二接口向移动终端反馈升级进度,这样,用户通过移动终端即可了解到家电设备的升级进度,便于用户依据家电设备的固件升级进度决定何时使用该家电设备。
59.在一些应用场景中,第二接口(例如命名为startfota的应用程序接口)可提供三个回调函数作为入参,第一个回调函数返回升级进度,例如第一个回调函数可返回一个int值,以该int值表示升级进度;第二个回调函数返回升级成功结果,例如第二个回调函数可返回一个bool值,以true表示升级成功结果;第三个回调函数返回升级失败结果,例如第三
个回调函数可返回一个bool值,以true表示升级失败的结果。
60.第二接口的回调函数可异步执行,这样不会阻塞主线程。
61.中间件sdk通过第二接口向移动终端反馈升级进度,可使用户通过移动终端了解到升级进度。此外,中间件sdk还可向fota模块反馈升级进度,以共享该升级进度,可以使其他设备通过fota模块查询到该家电设为的升级进度。
62.通信装置可通过第一接口将固件版本信息发送至移动终端,以便于用户了解设备(家电设备)是否需要升级,并且,在升级过程中,该通信装置可将升级进度通过第二接口反馈至移动终端,以便于用户预知升级完成的时间,并知晓在何时可继续使用该设备,便于用户合理地安排时间,减少无意义的等待过程,提高了用户的使用体验。
63.另外,通过两个接口(第一接口和第二接口)向用户反馈是否需要升级以及升级进度,便于在移动终端中调用。
64.在实际应用中,当家电设备固件升级完毕后,家电设备重启并重新注册至智慧家庭系统。
65.图3是本公开实施例提供的部分升级过程以及反馈升级进度的示意图。结合图3所示,设备交互sdk与家电设备进行交互,中间件sdk通过第二接口向移动终端反馈升级进度,可包括:
66.s301、中间件sdk向设备交互sdk发送升级指令。
67.s302、设备交互sdk响应升级指令,与中间件sdk建立ble gatt连接。
68.即,这里的设备交互sdk可为蓝牙sdk。
69.s303、设备交互sdk在中间件sdk获得固件升级包的固件描述信息。
70.在该步骤之前,中间件sdk已资源服务器下载固件估计包。设备交互sdk通过已经建立的ble gatt连接在中间件sdk获得固件升级包的固件描述信息,例如,设备交互sdk可通过offset与size的方式在中间件sdk获得固件升级包的固件描述信息。
71.s304、设备交互sdk向中间件sdk发送第一升级进度通知。
72.第一升级进度通知用于表示已经获得固件描述信息。设备交互sdk通过已建立的ble gatt连接向中间件发送第一升级进度通知。
73.s305、中间件sdk通过第二接口向移动终端发送第一升级进度通知。
74.中间件sdk还将第一升级进度通知发送至fota模块。
75.图4是本公开实施例提供的部分升级过程以及反馈升级进度的示意图。结合图4所示,设备交互sdk与家电设备进行交互,中间件sdk通过第二接口向移动终端反馈升级进度,可包括:
76.s401、中间件sdk向设备交互sdk发送升级指令。
77.s402、设备交互sdk响应升级指令,与中间件sdk建立ble gatt连接。
78.即,这里的设备交互sdk可为蓝牙sdk。
79.s403、设备交互sdk在中间件sdk获得固件升级包的固件描述信息。
80.s404、设备交互sdk向中间件sdk发送第一升级进度通知。
81.s405、中间件sdk通过第二接口向移动终端发送第一升级进度通知。
82.s406、设备交互sdk解析固件描述信息获得结构化固件包描述,并将携带结构化固件包描述的设备升级信息发送至家电设备。
83.设备交互sdk可在向中间件sdk发送第一升级进度通知之前解析固件描述信息,也可在向中间件sdk发送第一升级进度通知之后再解析固件描述信息。
84.s407、设备交互sdk接收家电设备反馈的与设备升级信息相对应的应答信息。
85.其中,应答信息中包括是否可升级的信息。
86.家电设备在接收到结构化固件包描述的设备升级信息后,如果家电设备处于可升级的状态,则向通信装置的设备交互sdk反馈与设备升级信息相对应的可升级的应答信息,例如在智能洗衣机当前未执行洗衣进程的情况下,智能洗衣机处于可升级的状态,在智能燃气灶未执行烹饪进程的情况下,智能燃气灶处于可升级的状态;如果家电设备处于不可升级的状态,则向通信装置的设备交互sdk反馈与设备升级信息相对应的不可升级的应答信息,例如在智能洗衣机执行洗衣进程的情况下,智能洗衣机处于不可升级的状态,在智能燃气灶执行烹饪进程的情况下,智能燃气灶处于不可升级状态。
87.如果家电设备反馈的应答信息中包括不可升级的信息,则设备交互sdk等待设定时长,再次向家电设备发送携带结构化固件包描述的设备升级信息,例如设备交互sdk等待5min或10min后,再次向家电设备发送携带结构化固件包描述的设备升级信息。
88.如果家电设备反馈的应答信息包括可升级的信息,则继续执行后续步骤。
89.s408、设备交互sdk向中间件sdk发送第二升级进度通知。
90.第二升级进度通知表示家电设备处于可升级的状态,并且即将对家电设备进行升级。
91.s409、中间件sdk通过第二接口向移动终端发送第二升级进度通知。
92.中间件sdk还将第二升级进度通知发送至fota模块。
93.图5是本公开实施例提供的部分升级过程以及反馈升级进度的示意图。结合图5所示,设备交互sdk与家电设备进行交互,中间件sdk通过第二接口向移动终端反馈升级进度,可包括:
94.s501、中间件sdk向设备交互sdk发送升级指令。
95.s502、设备交互sdk响应升级指令,与中间件sdk建立ble gatt连接。
96.即,这里的设备交互sdk可为蓝牙sdk。
97.s503、设备交互sdk在中间件sdk获得固件升级包的固件描述信息。
98.s504、设备交互sdk向中间件sdk发送第一升级进度通知。
99.s505、中间件sdk通过第二接口向移动终端发送第一升级进度通知。
100.s506、设备交互sdk解析固件描述信息获得结构化固件包描述,并将携带结构化固件包描述的设备升级信息发送至家电设备。
101.s507、设备交互sdk接收家电设备反馈的与设备升级信息相对应的应答信息。
102.其中,应答信息中包括是否可升级的信息。
103.s508、设备交互sdk向中间件sdk发送第二升级进度通知。
104.在应答信息中包括不可升级的信息的情况下,重复执行设备交互sdk将携带结构化固件包描述的设备升级信息发送至家电设备的步骤。
105.在应答信息中包括可升级的信息的情况下,执行后续步骤。
106.s509、中间件sdk通过第二接口向移动终端发送第二升级进度通知。
107.s510、设备交互sdk接收家电设备发送的用于请求子固件包的请求信息,并在中间
件sdk获得子固件包。
108.在应答信息中包括可升级的信息的情况下,执行该步骤;在应答信息中包括不可升级的信息的情况下,重复执行将携带结构化固件包描述的设备升级信息发送至家电设备的步骤。
109.家电设备在反馈包含可升级的应答信息之后,进入升级逻辑,例如停止部分硬件的当前工作,之后向设备交互sdk发送用于请求子固件包的请求信息。固件升级包中可包括一个或多个子固件包,家电设备每获得一个子固件包,利用该一个子固件包进行升级。
110.设备交互sdk通过已建立的ble gatt连接,在中间件sdk获得子固件包。例如,设备交互sdk可通过offset与size的方式在中间件sdk获得子固件包。
111.s511、设备交互sdk将第三升级进度发送至中间件sdk,中间件sdk将第三升级进度发送至移动终端。
112.中间件sdk还可将第三升级进度发送至fota模块。
113.s512、设备交互sdk对子固件包进行校验,并在校验通过后,将携带子固件包下载地址的子固件包下载完成通知发送至家电设备,使家电设备自行升级。
114.如果固件升级包中包括一个子固件升级包,则执行一次s510至s512;家电设备自行决定需要升级子固件包,如果固件升级包中包括多个子固件升级包,且家电设备决定升级多个子固件包,则执行多次s510至s512,执行次数与家电设备决定升级的子固件包的数量相同。
115.图6是本公开实施例提供的部分升级过程以及反馈升级进度的示意图。结合图6所示,设备交互sdk与家电设备进行交互,中间件sdk通过第二接口向移动终端反馈升级进度,可包括:
116.s601、中间件sdk向设备交互sdk发送升级指令。
117.s602、设备交互sdk响应升级指令,与中间件sdk建立ble gatt连接。
118.即,这里的设备交互sdk可为蓝牙sdk。
119.s603、设备交互sdk在中间件sdk获得固件升级包的固件描述信息。
120.s604、设备交互sdk向中间件sdk发送第一升级进度通知。
121.s605、中间件sdk通过第二接口向移动终端发送第一升级进度通知。
122.s606、设备交互sdk解析固件描述信息获得结构化固件包描述,并将携带结构化固件包描述的设备升级信息发送至家电设备。
123.s607、设备交互sdk接收家电设备反馈的与设备升级信息相对应的应答信息。
124.其中,应答信息中包括是否可升级的信息。
125.在应答信息中包括不可升级的信息的情况下,重复执行设备交互sdk将携带结构化固件包描述的设备升级信息发送至家电设备的步骤。
126.在应答信息中包括可升级的信息的情况下,执行后续步骤。
127.s608、设备交互sdk向中间件sdk发送第二升级进度通知。
128.s609、中间件sdk通过第二接口向移动终端发送第二升级进度通知。
129.s610、设备交互sdk接收家电设备发送的用于请求子固件包的请求信息,并在中间件sdk获得子固件包。
130.固件升级包包括一个或多个子固件包;
131.s611、设备交互sdk将第三升级进度发送至中间件sdk,中间件sdk将第三升级进度发送至移动终端。
132.s612、设备交互sdk对子固件包进行校验,并在校验通过后,将携带子固件包下载地址的自固件包下载完成通知发送至家电设备,使家电设备自行升级。
133.家电设备自行决定需要升级的子固件包,在家电设备决定需要升级的多个子固件包均升级完毕后,向设备交互sdk发送携带升级结束标识和最新设备版本信息的信息。
134.s613、设备交互sdk接收家电设备升级结束后发送的携带升级结束标识和最新设备版本信息的信息。
135.s614、设备交互sdk接收携带升级结束标识和最新设备版本信息的信息后,确定升级成功,并将升级成功结果发送至中间件sdk。
136.s615、中间件sdk向设备交互sdk查询最新设备版本信息。
137.中间件sdk还向m2m模块更新最新设备版本信息。
138.s616、中间件sdk通过第二接口向移动终端发送升级成功结果。
139.中间件sdk还向fota模块发送升级成功的结果。
140.在家电设备未能成功升级某个子固件包的情况下,家电设备向设备交互sdk发送携带升级失败的信息,设备交互sdk确定升级失败,并将升级失败结果发送至中间件sdk,中间件sdk将升级失败结果发送至移动终端。
141.在一些实施例中,用于固件升级的装置包括处理器和存储有程序指令的存储器,处理器被配置为在执行程序指令时,执行前述实施例提供的用于固件升级的方法。
142.图7是本公开实施例提供的一种用于固件升级的装置的示意图。结合图7所示,用于固件升级的装置包括:
143.处理器(processor)71和存储器(memory)72,还可以包括通信接口(communication interface)73和总线74。其中,处理器71、通信接口73、存储器72可以通过总线74完成相互间的通信。通信接口73可以用于信息传输。处理器71可以调用存储器72中的逻辑指令,以执行前述实施例提供的用于固件升级的方法。
144.此外,上述的存储器72中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
145.存储器72作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令/模块。处理器71通过运行存储在存储器72中的软件程序、指令以及模块,从而执行功能应用以及数据处理,即实现上述方法实施例中的方法。
146.存储器72可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器。
147.本公开实施例提供了一种智能家电,包含前述实施例提供的用于固件升级的装置。
148.本公开实施例提供了一种计算机可读存储介质,存储有计算机可执行指令,计算机可执行指令设置为执行前述实施例提供的用于固件升级的方法。
149.本公开实施例提供了一种计算机程序产品,计算机程序产品包括存储在计算机可
读存储介质上的计算机程序,计算机程序包括程序指令,当程序指令被计算机执行时,使计算机执行前述实施例提供的用于固件升级的方法。
150.上述的计算机可读存储介质可以是暂态计算机可读存储介质,也可以是非暂态计算机可读存储介质。
151.本公开实施例的技术方案可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括一个或一个以上指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本公开实施例中方法的全部或部分步骤。而前述的存储介质可以是非暂态存储介质,包括:u盘、移动硬盘、只读存储器(read

only memory,rom)、随机读取存储器(random access memory,ram)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
152.以上描述和附图充分地示出了本公开的实施例,以使本领域的技术人员能够实践它们。其他实施例可以包括结构的、逻辑的、电气的、过程的以及其他的改变。实施例仅代表可能的变化。除非明确要求,否则单独的部件和功能是可选的,并且操作的顺序可以变化。一些实施例的部分和特征可以被包括在或替换其他实施例的部分和特征。而且,本技术中使用的用词仅用于描述实施例并且不用于限制权利要求。如在实施例以及权利要求的描述中使用的,除非上下文清楚地表明,否则单数形式的“一个”(a)、“一个”(an)和“所述”(the)旨在同样包括复数形式。另外,当用于本技术中时,术语“包括”(comprise)及其变型“包括”(comprises)和/或包括(comprising)等指陈述的特征、整体、步骤、操作、元素,和/或组件的存在,但不排除一个或一个以上其它特征、整体、步骤、操作、元素、组件和/或这些的分组的存在或添加。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法或者设备中还存在另外的相同要素。本文中,每个实施例重点说明的可以是与其他实施例的不同之处,各个实施例之间相同相似部分可以互相参见。对于实施例公开的方法、产品等而言,如果其与实施例公开的方法部分相对应,那么相关之处可以参见方法部分的描述。
153.本领域技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,可以取决于技术方案的特定应用和设计约束条件。技术人员可以对每个特定的应用来使用不同方法以实现所描述的功能,但是这种实现不应认为超出本公开实施例的范围。技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
154.本文所披露的实施例中,所揭露的方法、产品(包括但不限于装置、设备等),可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,可以仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例。另外,在本公开实施例中的各功能单元可以集成在一个处理单元
中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
155.附图中的流程图和框图显示了根据本公开实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或一个以上用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这可以依所涉及的功能而定。框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1