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

基于红外传输实现产品升级的方法、装置及相关组件

文献发布时间:2023-06-19 19:20:08


基于红外传输实现产品升级的方法、装置及相关组件

技术领域

本发明实施例涉及OTA升级领域,尤其涉及一种基于红外传输实现产品升级的方法、装置及相关组件。

背景技术

智能家电类的产品经常需要迭代升级软件,但对于已组装成整机的产品,由于没有预留烧录窗口或已移除烧录窗口,如进行软件升级,需要通过拆机重新烧录升级程序,耗时耗力。尤其是对于经过试产、量产后已装成整机的产品,若出现需要升级程序的情况,则需要拆开整机外壳、烧录程序、重新装上外壳,显然是需要大量工时和人工资源的。

发明内容

本发明实施例提供了基于红外传输实现产品升级的方法、装置及相关组件,旨在解决现有技术中智能家电类的产品迭代升级软件操作复杂、耗时耗力的问题。

第一方面,本发明实施例提供了一种基于红外传输实现产品升级的方法,用于对作为家电产品的目标机进行固件升级,包括:

通过红外信号发送升级指令至目标机,使所述目标机根据所述升级指令写入升级模式标识,并复位进入BOOT区,再检测是否存在升级模式标识,若存在则停留在所述BOOT区等待升级,若不存在则跳转至APP区进入正常工作模式;

装载并解密升级固件包,将所述升级固件包进行分包得到若干个升级分包并生成升级包信息帧,并依次间隔发送所述升级包信息帧与所述升级分包至所述目标机;使所述目标机接收并解析所述升级包信息帧,检验所述升级包信息帧内的信息是否与所述目标机兼容,若兼容则继续执行升级流程;若不兼容则退出升级模式;其中,所述升级流程包括:接收并校验所述升级分包,并将校验通过的所述升级分包存储于内部,并擦写覆盖所述目标机APP区原有的数据,以及擦除保存的升级模式标识并重启,使所述目标机进入正常工作模式。

第二方面,本发明实施例还提供了一种基于红外传输实现产品升级的装置,所述装置包括:

信号发射模块,用于通过红外信号发送升级指令至目标机,使所述目标机根据所述升级指令写入升级模式标识,并复位进入BOOT区,再检测是否存在升级模式标识,若存在则停留在所述BOOT区等待升级,若不存在则跳转至APP区进入正常工作模式;

数据发送模块,用于装载并解密升级固件包,将所述升级固件包进行分包得到若干个升级分包并生成升级包信息帧,并依次间隔发送所述升级包信息帧与所述升级分包至所述目标机;使所述目标机接收并解析所述升级包信息帧,检验所述升级包信息帧内的信息是否与所述目标机兼容,若兼容则继续执行升级流程;若不兼容则退出升级模式;其中,所述升级流程包括:接收并校验所述升级分包,并将校验通过的所述升级分包存储于内部,并擦写覆盖所述目标机APP区原有的数据,以及擦除保存的升级模式标识并重启,使所述目标机进入正常工作模式。

第三方面,本发明实施例还提供了一种计算机设备,其中,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如上所述的方法。

第四方面,本发明实施例还提供了一种计算机可读存储介质,其中,所述存储介质存储有计算机程序,所述计算机程序当被处理器执行时可实现如上所述的方法。

本发明实施例提供了一种基于红外传输实现产品升级的方法、装置及相关组件,用于对作为家电产品的目标机进行固件升级,包括:通过红外信号发送升级指令至目标机,使所述目标机响应并进入升级模式等待升级;装载并解密升级固件包,将所述升级固件包进行分包得到若干个升级分包并生成升级包信息帧,并依次间隔发送所述升级包信息帧与所述升级分包至所述目标机;使所述目标机接收并解析所述升级包信息帧,通过检验所述升级包信息帧内的信息,选择执行升级流程或退出升级模式。本发明实施例通过使用OTA传输对产品烧写升级程序,实现对产品的批量升级,无需拆机,节省时间与成本,操作简单,大大高了工作效率。

附图说明

为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种基于红外传输实现产品升级的方法的流程示意图;

图2为本发明实施例提供的一种基于红外传输实现产品升级的方法的子流程示意图;

图3为本发明实施例提供的一种基于红外传输实现产品升级的方法的另一子流程示意图;

图4为本发明实施例提供的一种基于红外传输的产品升级的装置的结构示意图;

图5为本发明实施例提供的一种基于红外传输的产品升级的装置的子单元结构示意图。

具体实施方式

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

应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。

还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

请参阅图1,图1是本发明实施例提供的一种基于红外传输实现产品升级的方法的流程图。如图1所示,该方法包括以下步骤S100-S200。

S100、通过红外信号发送升级指令至目标机,使目标机根据升级指令写入升级模式标识,并复位进入BOOT区,再检测是否存在升级模式标识,若存在则停留在BOOT区等待升级,若不存在则跳转至APP区进入正常工作模式。

在本实施例中,掌机(也即实现本实施例功能的终端设备)通过红外发射头将红外信号发送到目标机,使得正处于正常工作模式的目标机进入升级模式等待升级。其中,掌机带有红外发射功能,目标机带有一红外接收头,若目标机的红外接收头短路或损坏,则无法接收掌机所发射的红外信号。另外,目标机需处于红外光的发射范围内,即目标机位于掌机发射红外信号的范围内,若目标机脱离掌机的红外光发射范围,则目标机无法接收到掌机所发送的红外信号,也就是说,在这种情况下,目标机对掌机的升级指令无响应,掌机发射红外信号无法使得目标机进入升级模式。

掌机所发送的红外信号包括升级指令,通过在掌机上按下一组特定键值可以将升级指令通过红外信号的方式发送至目标机,使得目标机进入升级模式,也就是说,特定键值用于遥控目标机进入升级模式。当然,为防止目标机的使用用户误触遥控器,导致目标机误入升级模式,因此目标机所配套的遥控器无法发出这一组特定键值。在掌机发送红外信号至目标机时,红外信号中的升级指令使得目标机退出当前的工作模式,写入升级模式标识,并将升级模式标识置位,即打开升级模式标识。如此,目标机可以检测到升级模式标识并响应。

在本实施例中,掌机发射红外信号与目标机接收红外信号皆基于UART协结构议,也可以说,掌机与目标机通过UART协议进行通讯。在掌机与目标机进行通讯时,掌机红外发射头按UART协议的每帧bit的电平高低来决定是否开启通讯,若决定开启通讯,则将红外光按一定的规则传送至目标机的红外接收头,若决定不开启通讯,则掌机不发送红外信号;目标机上的红外接收头将接收到的红外信号转换为电平信号,并对所转换的电平信号的波形图进行采样,即可解析掌机所发出的红外信号的具体信息,从而完成二者之间的一次通讯;其中,使用UART协议不仅是因为几乎所有的单片机都有硬件UART,可以直接解析数据,节省单片机资源,同时当目标机的红外接收头的信号引脚不在单片机的UART复用功能引脚上,无法使用硬件UART时,还可以通过软件模拟来解析UART帧数据,方便随时对掌机所发出的红外信号进行解析,提高工作效率。

处于工作模式的目标机在接收到升级指令并写入升级模式标识后,会自动复位;复位后,目标机进入BOOT区,检测是否目标机内部存在升级模式标识,若检测到升级模式标识后,目标机停留于BOOT区等待升级,若未检测到升级模式标识,则目标机跳转至APP区进入正常工作模式;另外,由于目标机在上电或复位后会首先进入BOOT区,因此,目标机通过检测是否存在升级模式标识来判断跳转至APP区或停留于BOOT区。

举个例子,目标机是一台正在吹风的空气净化器,当需要对该空气净化器进行升级时,将该空气净化器放置在掌机的红外信号范围内,用户按下掌机上的特定键值向空气净化器发送升级指令,空气净化器接收到“进入升级模式”的命令,此时会暂停正在运行的空净吹风功能,并且空气净化器内部的单片机会向特定的EEPROM地址处写入升级模式标识,写入完成后空气净化器自动复位重启,复位重启后首先进入BOOT区,在BOOT区检测识别到内部的升级模式标识,空气净化器停在BOOT区等待升级;若空气净化器内部的单片机单元写入升级模式标识失败,即空气净化器并未开启升级模式标识,如此,在空气净化器复位重启并进入BOOT区后,无法检测到升级模式标识,则空气净化器跳转至APP区,此次升级失败,目标机进入正常工作模式,待机或是执行空净吹风功能。

另外,在本实施例中,一台掌机还可以同时向多台目标机发送红外信号,从而提高升级效率。举例来说,设置有需要升级的三台功能相同的目标机,三台目标机皆置于掌机的红外信号发送范围内,按下掌机上的特定键值,同时向三台目标机发射红外信号,向三台目标机同时写入升级模式标识,使得三台目标机在接收红外信号中的升级指令后复位重启。

S200、装载并解密升级固件包,将升级固件包进行分包得到若干个升级分包并生成升级包信息帧,并依次间隔发送升级包信息帧与升级分包至目标机;使目标机接收并解析升级包信息帧,检验升级包信息帧内的信息是否与目标机兼容,若兼容则继续执行升级流程;若不兼容则退出升级模式;其中,升级流程包括:接收并校验升级分包,并将校验通过的升级分包存储于内部,并擦写覆盖目标机APP区原有的数据,以及擦除保存的升级模式标识并重启,使目标机进入正常工作模式。

在本实施例中,如图2所示,步骤S200包括步骤S201-S204:

S201、封装并加密原生程序烧录挡生成升级固件包;

S202、掌机装载并解密升级固件包;

S203、分割升级固件包生成一帧升级包信息帧与若干个升级分包;

S204、陆续发送升级包信息帧与升级分包至目标机。

在一具体实施例中,通过在一PC端上使用上位机软件将原生程序烧录档进行封装、加密,进而生成升级固件包。其中,升级固件包包含:该原生程序烧录档适用的项目号、MCU型号、版本、校验码以及烧录数据等信息;当然,对应的加密是为了防止原始程序烧录档中的数据被提取、泄露,保证了升级固件包的安全性与隐私性。

将已经封装加密的升级固件包装载至掌机,掌机会自动解密升级固件包,并展示该升级固件包所适用的项目号、MCU型号以及校验码,方便用户确认目标机是否适用该升级固件包进行升级,若不适用,用户可以取消本次升级任务,若该升级固件包适用于目标机,则在确认无误后,通过按下掌机上的Start键开始本次升级。

在用户确认无误按下Start键开始升级后,掌机开始将已经装载并解密的升级固件包发送到目标机上。首先,掌机按预设大小将升级固件包中的二进制数据分割成若干个升级分包,目的是避免占用目标机过高的内存,提升后续目标机执行升级流程的效率。根据升级固件包和若干个升级分包的信息,掌机在分割升级固件包的过程中还生成了一帧升级包信息帧,其中,升级包信息帧按预设模板生成,模板中的内容包括:原生程序烧录档适用项目号、MCU型号、总分包数量、最后一包升级分包的大小,且每一升级分包均包括固件数据和校验码。

掌机将分割生成的升级包信息帧发送至目标机,目标机在接收到升级包信息帧后对该升级包信息帧进行解析,通过检测升级包信息帧中的信息与目标机是否兼容,决定目标机的下一步工作,若升级包信息帧中的信息与目标机兼容则目标机继续执行升级流程;若升级包信息帧中的信息与目标机不兼容,则目标机忽略接下来掌机发送的升级分包,即退出升级模式;如此,是对掌机遥控目标机进行正确升级的进一步保障。掌机在检测到目标机接收并解析升级信息帧后处于等待接收升级分包的状态时,开始正式向目标机陆续发送若干个升级分包,每次发出一个升级分包都会等待预设时间(此预设时间较短)供目标机校验;其中,每一个分包都包含有升级包的信息以及校验码;掌机可通过检测当前已发送的升级分包数量来确定当前的升级进度;每一个升级分包中,都设置有校验码,用于校验升级分包中数据的正确性。

在本实施例中,如图3所示,目标机进行升级的升级流程包括步骤S301-S303:

S301、接收并校验升级分包,并将校验通过的升级分包存储于内部;

S302、擦写覆盖目标机APP区原有的数据,以及擦除保存的升级模式标识;

S303、重启并进入正常工作模式。

目标机接收升级分包,并根据升级分包的大小判断当前接收的升级分包是否为升级固件包的末包,并计算各升级分包的校验结果;比较校验结果与升级分包的校验位,若两者相同,则升级固件包校验通过,将该升级分包的信息存储于目标机的APP区;若不相同,则校验不通过,目标机重新接收升级固件包。接收到升级固件包并校验正确后,目标机擦除APP区原有的数据,将升级固件包中的数据写入APP区;当然,擦除APP区数据的操作不会影响正在执行的升级流程,因为在目标机内部,升级流程在BOOT区执行。目标机在接收校验通过所有分包并对APP区的数据进行擦写后,会擦除升级模式标识;目标机重启,由于没有了升级模式标识,目标机跳转至APP区,进入正常工作模式并可直接运行已经更新升级的程序,如此,一次完整的固件升级完成了。

在一具体实施例中,掌机通过红外信号对目标机写入升级模式标识,其中,升级模式标识位于EEPROM中的特定标志位,在目标机完成对升级固件包的存储并擦除APP区原有的数据后,升级模式标识也会被擦除,如此,在目标机重启检测不到升级模式标识后,判断当前不需要对程序进行升级,直接跳转至APP区,进入正常工作状态模式;直到下一次需要对目标机进行程序升级时,再次通过掌机发送红外信号至目标机在EEPROM中的特定标志位写入新的升级模式标识,使得目标机进入升级模式等待升级。

在本实施例中,一台掌机不仅可以同时对多台目标机发送红外信号,同时对多台目标机写入升级模式标识,使得多台目标机复位重启并进入等待升级模式;还可以同时对多台正处于等待升级模式的目标机发送升级固件包。

具体地,有三台已经完成升级模式标识写入的目标机,分别是目标机A、目标机B和目标机C,均为同一项目的产品;需要同时对三台目标机进行升序升级,将其设置于掌机的红外信号发射范围内,在掌机装载并解密升级固件包后,首先同时向三台目标机发送升级包信息帧,在三台目标机各自完成对升级包信息帧的校验后,分别陆续对三台目标机发送若干个升级分包,可理解的,一台掌机同时向三台目标机发送升级分包。

同时对目标机A、目标机B和目标机C发送升级固件包,目标机A第一次接收升级固件包成功了,则其重启后,目标机A功能已经被更新;若目标机B第一次接收升级固件包时,升级分包发送错误,需要掌机重新对目标机B发送升级固件包,在正确接收到升级固件包并重启后,目标机B功能亦被更新了;若目标机C多次接收升级固件包都失败了,可能是目标机C出现了问题,也可能是因为此次升级固件包与目标机C不兼容,故目标机C升级失败。

另外,在目标机接收升级固件包时,若发现有目标机接收错误,可以将目标机单独取出,稍后再进行重新发送或是对该目标机进行维修。

在本实施例中,无法通过一掌机同时遥控不同项目的产品进入升级模式。举例来说,设置一掌机,及不属于同一项目的目标机A、目标机B和目标机C,目标机A用于空气净化,目标机B用于加湿补水,目标机C用于送风,其中,目标机A与掌机所装载的升级固件包兼容;若通过该掌机遥控目标机A、目标机B和目标机C进行程序升级更新,由于不属于同一项目的产品,与升级固件包中的项目号、MCU型号不匹配,即目标机与升级固件包不兼容,因此,在本次升级结束后,掌机只对目标机A遥控程序升级成功,目标机B及目标机C与掌机中的升级固件包的项目号、MCU型号不匹配,在等待升级的过程中,接收升级包信息帧并检测到目标机B及目标机C与该升级固件包不匹配,会忽略接下来掌机所发送的升级分包,退出升级模式,因此目标机B与目标机C升级失败,也就是说,一台掌机仅能控制同一项目的多个产品进行程序升级。

综上,可以将多台目标机置于掌机的红外信号发射范围内,完成对目标机的程序升级,达到批量程序升级的目的,提高工作效率;同时,还可以通过改良掌机的红外遥控功能,扩大该掌机的红外信号发射范围,进而可以对更多的目标机进行批量程序升级。

本实施例的方法通过使用OTA传输对产品烧写升级程序,实现对产品的批量升级,无需拆机,节省时间与成本,操作简单,大大提高了工作效率。

请参见图4,图4为本发明实施例所提供的一种基于红外传输实现产品升级的装置400的结构示意图;

信号发射模块401,用于通过红外信号发送升级指令至目标机,使目标机根据升级指令写入升级模式标识,并复位进入BOOT区,再检测是否存在升级模式标识,若存在则停留在BOOT区等待升级,若不存在则跳转至APP区进入正常工作模式;

数据发送模块402,用于装载并解密升级固件包,将升级固件包进行分包得到若干个升级分包并生成升级包信息帧,并依次间隔发送升级包信息帧与升级分包至目标机;使目标机接收并解析升级包信息帧,检验升级包信息帧内的信息是否与目标机兼容,若兼容则继续执行升级流程;若不兼容则退出升级模式;其中,升级流程包括:接收并校验升级分包,并将校验通过的升级分包存储于内部,并擦写覆盖目标机APP区原有的数据,以及擦除保存的升级模式标识并重启,使目标机进入正常工作模式。

本实施例的装置通过使用OTA传输对产品烧写升级程序,实现对产品的批量升级,无需拆机,节省时间与成本,操作简单,大大提高了工作效率。

在一具体实施例中,如图5所示,数据发送模块402包括:

装载解密单元501,用于装载并解密升级固件包;

分割单元502,用于分割升级固件包生成一帧升级包信息帧与若干个升级分包;

发送单元503,用于陆续发送升级包信息帧与升级分包至目标机。

由于装置部分的实施例与方法部分的实施例相互对应,因此装置部分的实施例请参见方法部分的实施例的描述,这里暂不赘述。

本发明实施例还提供一种计算机设备,其包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上的基于红外传输实现产品升级的方法。

本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该计算机程序被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。

因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序。该计算机程序被处理器执行时使处理器执行上述空调器内外机通信方法的任意实施例。

所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。

本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。

该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台空调器执行本发明各个实施例所述方法的全部或部分步骤。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详细描述的部分,可以参见其他实施例的相关描述。

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

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

相关技术
  • 红外机芯组件噪声盲元查找方法、装置以及红外机芯组件
  • 一种基于TCP协议数据传输方法、系统及相关组件
  • 基于指标相关性实现多组件软件系统的故障根因推荐处理的方法、装置、处理器及存储介质
  • 基于XAuido2实现的PCM音频播放方法、装置及相关组件
技术分类

06120115870575