掌桥专利:专业的专利平台
掌桥专利
首页

一种智能家居设备无线升级的方法和装置及设备

文献发布时间:2023-06-19 10:27:30


一种智能家居设备无线升级的方法和装置及设备

技术领域

本发明涉及智能家居领域,尤其涉及一种智能家居设备无线升级的方法和装置及设备。

背景技术

随着技术的蓬勃发展,智能家居逐渐走入人们的生活,提供了便捷、舒适的选择。智能家居通过物联网技术将家中的各种智能家居设备连接到一起,提供多种服务和功能。智能家居设备是智能家居中至关重要的一环,目前智能家居设备软件的更迭速度很快,如何方便快捷的升级智能家居设备,成为了一个重要的问题。

在现有的智能家居设备升级的方案中,对于多微控制单元(MicrocontrollerUnit,MCU)的智能家居设备,只能通过有线连接上位机软件,通过开发工具进行升级,存在无法完成对主从MCU的定向无线升级(Over The Air,OTA)的问题。

发明内容

本发明提供一种智能家居设备无线升级的方法和装置及设备,解决现有的智能家居设备升级的方案无法完成对主从MCU的定向OTA的问题。

第一方面,本发明提供一种智能家居设备无线升级的方法,应用于智能家居设备,所述智能家居设备包含主微控制单元MCU和多个从MCU,所述方法包括:

接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

可选地,利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

可选地,分别发送升级固件到对应的待升级MCU后,还包括:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

可选地,分别发送升级固件到对应的待升级MCU前,还包括:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

可选地,发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

可选地,控制所述待升级MCU根据存储的升级数据进行升级后,还包括:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因。

可选地,控制所述待升级MCU根据存储的升级数据进行升级后,还包括:

将升级后的MCU由待升级状态恢复至使用状态。

第二方面,本发明提供一种无线升级的智能家居设备,包括存储器和处理器,其中:

所述存储器用于存储计算机程序;

所述处理器用于读取所述存储器中的程序并执行如下步骤:

接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

可选地,所述处理器利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

可选地,所述处理器分别发送升级固件到对应的待升级MCU后,还用于:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

可选地,所述处理器分别发送升级固件到对应的待升级MCU前,还用于:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

可选地,所述处理器发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

可选地,所述处理器控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因。

可选地,所述处理器控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

将升级后的MCU由待升级状态恢复至使用状态。

第三方面,本发明提供一种智能家居设备无线升级的装置,包括:

指令接收单元,用于接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

数据获取单元,用于从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

升级单元,用于利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

可选地,所述升级单元利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

可选地,所述升级单元分别发送升级固件到对应的待升级MCU后,还用于:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

可选地,所述升级单元分别发送升级固件到对应的待升级MCU前,还用于:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

可选地,所述升级单元发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

可选地,所述升级单元控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因。

可选地,所述升级单元控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

将升级后的MCU由待升级状态恢复至使用状态。

第四方面,本发明提供一种计算机程序介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面提供的一种智能家居设备无线升级的方法的步骤。

本发明提供的一种智能家居设备无线升级的方法和装置及设备,具有以下有益效果:

通过下载升级数据至存储器,并利用所述存储器中的升级数据进行MCU升级,代替有线的上位机工具,实现了智能家居设备的主MCU和/或从MCU的OTA升级,使智能家居设备的升级更灵活方便。

附图说明

图1为本发明实施例提供的一种智能家居设备无线升级的场景的示意图;

图2为本发明实施例提供的一种智能家居设备的内部示意图;

图3为本发明实施例提供的一种智能家居设备无线升级的方法;

图4为本发明实施例提供的一种智能家居设备无线升级的指令交互的流程图;

图5为本发明实施例提供的一种无线升级的智能家居设备的示意图;

图6为本发明实施例提供的一种智能家居设备无线升级的装置的示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,并不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

在本申请实施例的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;文本中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况,另外,在本申请实施例的描述中,“多个”是指两个或多于两个,其它量词与之类似应当理解,此处所描述的优选实施例仅用于说明和解释本申请,并不用于限定本申请,并且在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

需要说明的是,以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。

以下,对本公开实施例中的部分用语进行解释说明,以便于本领域技术人员理解。

(1)本公开实施例中术语“微控制单元”(Microcontroller Unit,MCU),又称单片微型计算机(Single Chip Microcomputer)或者单片机,是把中央处理器(CentralProcess Unit,CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)等周边接口整合在单一芯片上,形成芯片级的计算机。

(2)本公开实施例中术语“无线升级”(Over The Air,OTA),即空中下载,具体指远程无线升级技术。

(3)本公开实施例中术语“上位机”是指可以直接发出操控命令的计算机,相对应的,下位机是直接控制设备获取设备状况的计算机。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。

(4)本公开实施例中术语“物联网模块”,又称为Wi-Fi模块或串口Wi-Fi模块,属于物联网传输层,功能是将串口或TTL电平转为符合Wi-Fi无线网络通信标准的嵌入式模块。传统的硬件设备嵌入Wi-Fi模块可以直接利用Wi-Fi联入互联网,是实现无线智能家居等物联网应用的重要组成部分。

(5)本公开实施例中术语“局域网”(Local Area Network,LAN),局域网的覆盖范围一般是方圆几千米之内,其具备的安装便捷、成本节约、扩展方便等特点使其在各类办公室内运用广泛。

(6)本公开实施例中术语“广域网”,(英语:Wide Area Network,缩写为WAN),又称外网、公网,是连接不同地区局域网或城域网计算机通信的远程网,通常跨接很大的物理范围,所覆盖的范围从几十公里到几千公里,能连接多个地区、城市和国家,或横跨几个洲并能提供远距离通信,形成国际性的远程网络。

为了使本公开的目的、技术方案和优点更加清楚,下面将结合附图对本公开作进一步地详细描述,显然,所描述的实施例仅仅是本公开一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本公开保护的范围。

鉴于目前的智能家居设备升级的方案,只能通过有线连接上位机软件,通过开发工具进行升级,存在无法完成对主从MCU的定向无线升级(Over The Air,OTA)的问题。本申请提出一种智能家居设备无线升级的方法和装置及设备。

本申请的发明构思为:首先接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;然后从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;最后利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

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

下面结合附图对本申请实施例中的一种智能家居设备无线升级的方法和装置及设备进行详细说明。

实施例1

如图1所示,本发明实施例提供一种智能家居设备无线升级的场景的示意图,包括:

智能家居设备101,所述智能家居设备包含物联网模块、主MCU和多个从MCU,用于接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

上述智能家居设备在服务功能上可以为任意的智能家居设备,例如,图1中示例性的展示了三种智能家居设备,智能冰箱101-1、智能空调101-2、智能洗衣机101-3。图1中的智能家居设备只是对本发明实施例的智能家居设备的举例,并不对本发明实施例中的智能家居设备构成限定,任意符合要求的智能家居设备都可以应用到本发明实施例中。

如图2所示,本发明实施例提供一种智能家居设备的内部示意图。

智能家居设备内部有多个微控制单元MCU,其中,包括一个主微控制单元MasterMCU,和n+1个从微控制单元Slave MCU,上述主MCU可以实现与上述n+1个从MCU的通信,具体的通信关系如图2所示。

智能家居设备内部还包括物联网模块,所述物联网模块可以实现与主MCU的通信。

服务器103,用于发送升级指令至上述智能家居设备101,并接收上述智能家居设备101反馈的升级结果;

上述服务器将升级指令发送给对应的智能家居设备,例如,升级指令中包含智能家居设备1的升级指令1和智能家居设备2的升级指令2,则上述服务器将升级指令1发送给智能家居设备1,将升级指令2发送给智能家居设备2。

作为一种可选的实施方式,上述服务器将升级指令发送给全部可以发送的智能家居设备,接收到升级指令的智能家居设备识别接收的升级指令的兼容性和自身的升级条件,确定上述接收的升级指令与自身兼容,且升级条件符合要求,进行升级。

需要说明的是,上述升级指令可以为上述服务器转发控制端发送的,也可以为服务器在满足升级条件时自身发送的。

上述满足升级条件包括以下至少一项条件:

存在新的升级版本;

满足预设的升级周期。

在上述服务器转发控制端发送的升级指令的实施场景中,上述图1中还包括:

控制端104,用于根据用户的升级要求生成升级指令,并将上述升级指令发送至服务器。

上述控制端可以为多种形式的虚拟平台或设备,例如,图1中示例性的展示了云端平台104-1、移动端104-2、PC端104-3。图1中的控制端只是对本发明实施例的控制端的举例,并不对本发明实施例中的控制端构成限定,任意符合要求的控制端都可以应用到本发明实施例中。

需要说明的是,上述发送升级指令的方式可以为通过路由器转发,也可以是直接通过局域网传输。

在上述服务器通过路由器转发升级指令的实施场景中,上述图1中还包括:

路由器102,用于转发上述服务器发送的升级指令。

需要说明的是,上述智能家居设备和路由器之间通过局域网实现通信,上述服务器和控制端与上述路由器之间通过广域网实现通信。

当上述服务器和控制端与上述路由器在一个局域网下时,上述服务器和控制端也可以通过局域网与上述路由器实现通信。

本发明实施例提供一种智能家居设备无线升级的方法的流程图,如图3所示,包括:

步骤S301,接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

上述升级指令指示待升级MCU执行升级操作,具体可以将待升级MCU的标识携带在升级指令中。

上述升级指令还包括校验信息、智能家居设备的硬件版本号、升级数据的大小、升级数据的版本。

下面给出本发明实施例提供的一种升级指令的示例:

{

"MCUs":[{

"MCU":"0201",

"URL":http://server.something.com/path/to/firmware1,

"CRC32":"22222CAA",

"HW":"0001",

"Size":30,

"OldSW":"00.15"

}

]

}

其中,“"MCU":"0201"”为待升级的MCU的身份标识号,“"URL":http://server.something.com/path/to/firmware1”为和上述MCU0201对应的升级数据下载地址,“"CRC32":"22222CAA"”为校验信息,“"HW":"0001"”为智能家居设备的硬件版本号,“"Size":30”为升级数据的大小,“"OldSW":"00.15"”为升级数据的版本。

其中,通过校验信息确定上述升级指令是否存在错误;通过智能家居设备的硬件版本号筛选需要升级的智能家居设备。

上述升级指令只是对本发明实施例的升级指令的一种具体举例,并不对本发明实施例中的升级指令构成限定,任意符合要求的升级指令都可以应用到本发明实施例中。

步骤S302,从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

作为一种可选的实施方式,上述存储器为上述智能家居设备中的物联网模块的flash存储器。

上述智能家居设备通过主MCU为物联网模块供电,在主MCU的升级过程中,主MCU接收到状态切换指令之后,会将使用状态切换为待升级状态,上述切换状态的过程会导致物联网模块断电。将上述升级数据存储至物联网模块的flash存储器,可以在主MCU完成切换,重启后读取上述升级数据继续执行升级操作,避免了因断电为导致升级失败。

步骤S303,利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

通过物联网模块将升级数据下载到物联网模块flash存储器,然后由物联网模块控制MCU的升级过程,实现了用无线的物联网模块来代替有线的上位机工具,完成了OTA升级,使智能设备的升级更灵活方便。

作为一种可选的实施方式,上述利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

需要说明的是,MCU的状态包括待升级状态和使用状态,上述待升级状态为可执行MCU升级的状态,使用状态为不可执行MCU升级的正常工作状态。

作为一种可选的实施方式,上述待升级状态为bootloader状态。

智能家居设备通过查询所述待升级MCU的状态,确定所述待升级MCU中处于使用状态的MCU,并发送状态切换指令到上述处于使用状态的MCU,指示其切换至待升级状态;或

智能家居设备发送状态切换指令到所述待升级MCU,指示所述待升级MCU切换至待升级状态,所述待升级MCU中处于待升级状态的MCU维持状态不变,所述待升级MCU中处于使用状态的MCU将状态切换至待升级状态。

智能家居设备在收到所述待升级MCU完成状态切换的响应后,查询所述待升级MCU的状态,确定所述待升级MCU的状态为待升级状态。

因为物联网模块只能实现与主MCU的通信,无法实现与从MCU之间的直接通信,而主MCU可以实现与从MCU之间的通信,所以发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

作为一种可选的实施方式,分别发送升级固件到对应的待升级MCU前,还包括:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

若所述对应的待升级MCU中存在存储所述固件的空间,执行发送升级固件的操作;

若所述对应的待升级MCU中不存在存储所述固件的空间,反馈错误信息。

作为一种可选的实施方式,分别发送升级固件到对应的待升级MCU后,还包括:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

需要说明的是,每一次传输的待升级数据的大小小于所述接收缓存区的大小。

若所述待升级数据的大小小于所述接收缓存区的大小,一次将全部的待升级数据传输至对应的待升级MCU。

作为一种可选的实施方式,上述接收缓存区为buffer。

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

通过上述操作,完成了主MCU和/或从MCU的定向升级。

在控制所述待升级MCU根据存储的升级数据进行升级后,还包括:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因;

将上述升级结果反馈给服务器。

服务器在接收到上述升级结果后,根据接收到升级结果,确定是否存在升级失败的MCU,并进行进一步的处理。

将升级后的MCU由待升级状态恢复至使用状态,以使只能家居设备可以正常的运行工作。

上述服务器和智能家居设备的物联网模块以及MCU之间的通信通过信令的交互实现,如图4所示,本发明实施例提供一种智能家居设备无线升级的指令交互的流程图,主要包括以下流程:

步骤1、服务器向智能家居设备的物联网模块发送100#指令;

上述100#指令为升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址。

服务器可以一次下发面向一个或多个智能家居设备的多个MCU升级的命令。

步骤2、上述物联网模块接收并解析上述100#指令;

上述物联网模块在解析上述升级指令后,从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器,如果有多个待升级MCU需要升级则依次下载对应的升级数据至存储器。

步骤3、上述物联网模块发送101#指令至待升级MCU,查询所述待升级MCU的状态;

上述101#指令为MCU的状态查看指令,查询所述待升级MCU的状态。

步骤4、上述待升级MCU发送101#响应至上述物联网模块,上述101#响应中包含查询的MCU的状态;

步骤5、上述物联网模块发送102#指令至待升级MCU,指示MCU切换至待升级状态;

上述102#指令为MCU状态切换指令,指示MCU切换至待升级状态。

步骤6、上述待升级MCU发送102#响应至上述物联网模块,通知上述物联网模块结束状态切换;

步骤7、上述物联网模块发送101#指令至待升级MCU,查询所述待升级MCU的状态;

步骤8、上述待升级MCU发送101#响应至上述物联网模块,上述101#响应中包含查询的MCU的状态;

确保所述待升级MCU进入待升级状态。

步骤9、上述物联网模块发送103#指令至待升级MCU,获取所述待升级MCU的接收缓存区的大小;

上述103#指令为MCU的接收缓存区的大小查询指令,以确定对应的单次传输的升级数据的大小。

步骤10、上述待升级MCU发送103#响应至上述物联网模块,上述101#响应中包含MCU的接收缓存区的大小;

步骤11、上述物联网模块发送104#指令至待升级MCU,获取所述MCU的可用地址空间的大小;

上述104#指令为MCU的可用地址空间的大小查询指令,获取所述MCU的可用地址空间的大小,以确定所述对应的待升级MCU中是否存在存储所述固件的空间。

步骤12、上述待升级MCU发送104#响应至上述物联网模块,上述104#响应中包含查询的MCU的可用地址空间的大小;

上述物联网模块接收到104#响应后,分别发送升级固件到对应的待升级MCU。

步骤13、上述物联网模块发送200#指令至待升级MCU,将升级数据传输至对应的待升级MCU;

上述200#指令为升级数据传输指令,根据103#响应获取的接收缓存区的大小,一次传输不大于上述接收缓存区的大小的升级数据到指定MCU,直到数据完成传输。

步骤14、上述待升级MCU发送200#响应至上述物联网模块,上述200#响应反馈升级数据传输结束;

步骤15、上述物联网模块发送105#指令至待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级;

上述105#指令为升级指令,控制所述待升级MCU根据存储的升级数据进行升级。

上述升级的过程需要一定的时间,上述物联网模块和MCU的通信在上述升级过程中会中断一段时间。

步骤16、上述待升级MCU发送105#响应至上述物联网模块,上述105#响应反馈升级结束;

步骤17、上述物联网模块发送106#指令至待升级MCU,将升级后的MCU由待升级状态恢复至使用状态;

上述106#指令为状态切换指令,将升级后的MCU由待升级状态恢复至使用状态。

步骤18、上述待升级MCU发送106#响应至上述物联网模块,上述106#响应反馈状态切换结束;

步骤19、上述智能家居设备的物联网模块将升级结果上报至上述服务器。

实施例2

本发明实施例提供一种无线升级的智能家居设备500,包括存储器501和处理器502,如图5所示,其中:

所述存储器用于存储计算机程序;

所述处理器用于读取所述存储器中的程序并执行如下步骤:

接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

可选地,所述处理器利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

可选地,所述处理器分别发送升级固件到对应的待升级MCU后,还用于:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

可选地,所述处理器分别发送升级固件到对应的待升级MCU前,还用于:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

可选地,所述处理器发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

可选地,所述处理器控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因。

可选地,所述处理器控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

将升级后的MCU由待升级状态恢复至使用状态。

本发明实施例提供一种智能家居设备无线升级的装置,如图6所示,包括:

指令接收单元601,用于接收服务器发送的升级指令,所述升级指令包含待升级MCU和对应的升级数据下载地址,所述待升级MCU包括主MCU和/或从MCU;

数据获取单元602,用于从所述升级数据下载地址,下载对应的待升级MCU的升级数据至存储器;

升级单元603,用于利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,并将升级结果反馈给服务器。

可选地,所述升级单元利用所述存储器中待升级MCU的升级数据,升级所述待升级MCU,包括:

查询所述待升级MCU的状态,并发送状态切换指令到未切换至待升级状态的待升级MCU,指示切换至待升级状态;

分别发送升级固件到对应的待升级MCU,以使所述对应的待升级MCU使用所述升级固件从所述存储器获取对应的升级数据,并存储至所述对应的待升级MCU的接收缓存区;

发送升级指令到所述待升级MCU,控制所述待升级MCU根据存储的升级数据进行升级。

可选地,所述升级单元分别发送升级固件到对应的待升级MCU后,还用于:

获取所述对应的待升级MCU的接收缓存区的大小,根据所述接收缓存区的大小,确定对应的单次传输的升级数据的大小;

根据所述对应的单次传输的升级数据的大小,分多次将所述对应的待升级数据传输至所述对应的待升级MCU。

可选地,所述升级单元分别发送升级固件到对应的待升级MCU前,还用于:

获取对应的待升级MCU的可用地址空间的大小;

根据所述可用地址空间的大小,确定所述对应的待升级MCU中是否存在存储所述固件的空间。

可选地,所述升级单元发送状态切换指令到未切换至待升级状态的待升级MCU,包括:

确定所述未切换至待升级状态的待升级MCU为主MCU,发送所述状态切换指令到所述主MCU;

确定所述未切换至待升级状态的待升级MCU为从MCU,发送所述状态切换指令到主MCU,并通过所述主MCU将所述状态切换指令发送至所述未切换至待升级状态的从MCU。

可选地,所述升级单元控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

查询所述待升级的MCU的升级结果,所述升级结果至少包括以下一项:升级是否成功、升级结束时间、升级失败的原因。

可选地,所述升级单元控制所述待升级MCU根据存储的升级数据进行升级后,还用于:

将升级后的MCU由待升级状态恢复至使用状态。

本发明还提供一种计算机程序介质,其上存储有计算机程序,该程序被处理器执行时实现上述实施例1中提供的应用于智能家居设备的一种智能家居设备无线升级的方法的步骤。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或模块的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能模块可以集成在一个处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存储的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(solid state disk,SSD))等。

以上对本申请所提供的技术方案进行了详细介绍,本申请中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

相关技术
  • 一种智能家居设备无线升级的方法和装置及设备
  • 智能家居系统的设备的程序无线升级方法
技术分类

06120112554320