CN112711431A - 无线遥控器升级方法及*** - Google Patents
无线遥控器升级方法及*** Download PDFInfo
- Publication number
- CN112711431A CN112711431A CN202011586442.0A CN202011586442A CN112711431A CN 112711431 A CN112711431 A CN 112711431A CN 202011586442 A CN202011586442 A CN 202011586442A CN 112711431 A CN112711431 A CN 112711431A
- Authority
- CN
- China
- Prior art keywords
- firmware
- remote controller
- host
- file
- host computer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G08—SIGNALLING
- G08C—TRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
- G08C17/00—Arrangements for transmitting signals characterised by the use of a wireless electrical link
- G08C17/02—Arrangements for transmitting signals characterised by the use of a wireless electrical link using a radio link
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1829—Arrangements specially adapted for the receiver end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/12—Arrangements for detecting or preventing errors in the information received by using return channel
- H04L1/16—Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
- H04L1/18—Automatic repetition systems, e.g. Van Duuren systems
- H04L1/1867—Arrangements specially adapted for the transmitter end
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0823—Errors, e.g. transmission errors
- H04L43/0847—Transmission error
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/06—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
- H04W28/065—Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information using assembly or disassembly of packets
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种无线遥控器升级方法和***,该方法包括:主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,若第一持续时长大于预设空闲时长,则主机指示遥控器切换至固件传输模式;主机获取最新固件升级文件和固件分片传输信息,并向遥控器传输固件分片传输信息;主机依据固件分片传输信息对最新固件升级文件进行分片,形成固件分片逐个传输至遥控器;遥控器基于第二校验信息逐个验证每个接收的固件分片的完整性,直至遥控器完成所有固件分片的接收和验证;遥控器将所有固件分片合成为整体固件文件,基于整体固件文件执行固件升级流程。本发明实现遥控器固件升级,无需经常提示用户,不影响用户的正常使用。
Description
技术领域
本申请涉及遥控设备固件升级技术领域,尤其涉及一种无线遥控器升级方法及***。
背景技术
无线遥控器,一般指通过2.4G频段与主机(电视/投影/电视盒子等)连接的遥控器,无线遥控器有定制方案和通用方案的实现方式,定制方案使用定制的私有协议与主机连接和传输数据,通用方案一般采用蓝牙协议标准实现。
无线遥控器除了有按键指令传输功能外,常常还有语音数据,传感器(如陀螺仪,重力传感器,指纹传感器等)数据处理和传输等功能。因为遥控器的功能强大和业务复杂,需要经常通过OTA(Over The Air,空中下载技术)技术升级遥控器***固件,实现功能的不断迭代。
但是,经常提示遥控器需要升级固件,是一种用户体验不友好的方式,对用户正常使用造成干扰,降低遥控器的使用体验。
发明内容
本申请实施例的主要目的在于提供一种无线遥控器升级方法及***,旨在解决遥控器经常提示用户进行升级固件,造成遥控器使用体验差的技术问题。
为实现上述目的,本申请实施例提供一种无线遥控器升级方法,所述无线遥控器升级方法包括:
主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,若第一持续时长大于预设空闲时长,则主机指示遥控器切换至固件传输模式;
主机获取最新固件升级文件和固件分片传输信息,并向遥控器传输固件分片传输信息;其中,固件分片传输信息包括所述最新固件升级文件的固件大小、验证固件文件完整性的第一校验信息、固件分片数、分片大小和验证每个分片完整性的第二校验信息;
主机依据固件分片传输信息对最新固件升级文件进行分片,形成固件分片逐个传输至遥控器;
遥控器基于第二校验信息逐个验证每个接收的固件分片的完整性,若验证完整性成功,则遥控器请求主机发送下一个固件分片;若验证完整性失败,则遥控器请求主机重传当前固件分片;直至遥控器完成所有固件分片的接收和验证;
遥控器将所有固件分片合成为整体固件文件,并基于第一校验信息验证整体固件文件是否完整;若整体固件文件不完整,则遥控器请求主机重传所述最新固件升级文件的所有固件分片;若整体固件文件完整,则遥控器切换至普通模式,基于整体固件文件执行固件升级流程。
可选地,在所述主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤之前,还包括:
主机开机后,主机与遥控器建立无线连接,遥控器回连主机成功后,遥控器上报遥控器当前固件版本至主机,遥控器工作在普通模式;
主机定时轮询云端固件服务器,查询遥控器当前固件版本是否为最新固件版本;若当前固件版本不是最新固件版本,则主机后台下载最新固件版本的最新遥控器固件。
可选地,在所述主机指示遥控器切换至固件传输模式的步骤之后,还包括:
遥控器收到主机指示以切换至固件传输模式,停止事件上报进程,遥控器与主机的无线连接切换至串行流式传输模式,遥控器启动预置的固件下载客户端程序;遥控器通知主机切换到固件传输模式。
可选地,所述直至遥控器完成所有固件分片的接收和验证的步骤之前,还包括:
当遥控器在固件传输模式中检测到用户触发的按键指令时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式并向主机发送按键指令;
主机退出固件传输模式,切换至普通模式,主机处理并响应所述按键指令,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
可选地,在所述主机处理并响应所述按键指令的步骤之后,还包括:
主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
可选地,所述直至遥控器完成所有固件分片的接收和验证的步骤之前,还包括:
当遥控器在固件传输模式中断电或电量不足时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式;
主机退出固件传输模式,切换至普通模式,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
可选地,所述基于整体固件文件执行固件升级流程的步骤之前,还包括:
在遥控器确定整体固件文件完整时,遥控器统计未收到遥控器事件上报的第二持续时长,若第二持续时长大于预设等待时长,则遥控器基于整体固件文件执行固件升级流程。
可选地,遥控器的存储器包括启动装载分区、两个***分区和数据分区,所述整体固件文件存储在数据分区;
所述遥控器基于整体固件文件执行固件升级流程的步骤包括:
遥控器基于启动装载分区中的启动装载程序,加载预设加载分区标记指向的***分区中当前固件版本的固件运行***,另一个***分区作为备份分区;
遥控器从数据分区中加载新的整体固件文件,并将所述最新遥控器固件刷新到该备份分区,设置预设加载分区标记指向该备份分区;
遥控器重启,基于启动装载程序加载预设加载分区标记当前指向的***分区固件运行***。
可选地,所述遥控器重启的步骤之前,还包括:
在遥控器将最新遥控器固件刷新到备份分区的过程中,若遥控器检测到用户触发的按键指令、断电或电量不足,则遥控器基于启动装载程序加载非备份分区中当前固件版本的固件运行***;
在第二持续时长大于预设等待时长时,遥控器重新基于整体固件文件执行固件升级流程。
为实现上述发明目的,本申请还提供一种无线遥控器升级***,所述无线遥控器升级***包括遥控器和主机;
所述主机包括第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述第一计算机程序被所述第一处理器执行时实现如上述的无线遥控器升级方法中主机执行的步骤;
所述遥控器包括第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述第二计算机程序被所述第二处理器执行时实现如上述的无线遥控器升级方法中遥控器执行的步骤。
本申请通过为主机和遥控器设置普通模式和固件传输模式,固件传输模式不占用遥控器普通数据传输共用信道带宽,并且主机后台检测到遥控器处于空闲状态(第一持续时长大于预设空闲时长),主机将自行生成的固件分片传输信息给到遥控器,从而主机与遥控器之间逐个实现固件分片的验证和传输,实现单个固件分片验证和重传,避免固件升级文件的整体重传,提高了固件升级文件的传输成功率和效率,同时在遥控器接收所有固件分片后且合并为整体固件文件,在遥控器进行固件升级前,再对整体固件文件进行完整性验证,规避固件分片合并出错,仅在整体固件文件完整性验证通过后,遥控器才基于整体固件文件执行固件升级流程,遥控器和主机才切换至普通模式,从而遥控器在空闲时自主进行最新的固件升级,也无需经常提示用户进行固件升级,不影响用户的正常使用,且在遥控器和主机固件传输中应用分片传输,提高最新固件的传输效率,提高遥控器固件升级在不影响用户使用前提下的固件升级成功率。
附图说明
图1为本申请实施例一个可选实施例的投影仪的硬件结构示意图;
图2为本申请无线遥控器升级方法一实施例的流程示意图;
图3为本申请无线遥控器升级***中固件分片传输的时序流程示意图;、
图4为本申请无线遥控器升级***中固件分片中断重传的时序流程示意图;
图5为本申请遥控器存储器的分区分布示意图。
本申请目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。
本发明无线遥控器升级方法的实施设备为主机和遥控器,主机和遥控器一般通过2.4G频段进行无线通信,
如图1所示,主机和遥控器部分相同,即主机和遥控器均可包括:处理器1001,例如CPU,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、触控屏,可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如WI-FI接口)。存储器1005可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,遥控器还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。其中,传感器比如光传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示屏的亮度,接近传感器可在投影仪远离用户时,关闭显示屏和/或背光。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及固件升级程序。
在图1所示的终端中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的固件升级程序,在本发明具体例子中,图1的终端可为主机或遥控器,若图1终端为主机,则存储器1005中固件升级程序被处理器1001执行实现上述无线遥控器升级方法中主机执行的步骤。同理,若图1终端为遥控器,则存储器1005中固件升级程序被处理器1001执行实现上述无线遥控器升级方法中遥控器执行的步骤。
本领域技术人员可以理解,图1中示出的主机和遥控器的框架结构并不构成对主机和遥控器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
在本申请中,无线遥控器以静默方式的OTA升级方案,主体流程方案包括两个部分,一部分是遥控器升级固件静默传输到遥控器的存储器中,遥控器在街上主机发送的升级固件时,不能终端用户对遥控器的正常使用。一部分是遥控器检测到主机关机后,完成固件升级过程。从而,遥控器的固件升级相对用户是透明的,不影响用户的正常使用,也无需提示用户进行固件升级,同时遥控器自行进行最新固件升级,避免用户忘记固件升级而无法使用遥控器的新功能,提高了用户对遥控器的使用体验。
基于以上概述,本申请提供一种无线遥控器升级方法,在无线遥控器升级方法一实施例中,参照图2和图3,所述无线遥控器升级方法包括:
步骤S10,主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,若第一持续时长大于预设空闲时长,则主机指示遥控器切换至固件传输模式;
本实施例的固件(Firmware)通常是指负责终端设备中的基础且底层工作的软件/程序,换丽言之,固件是使硬件设备得以正常运行的程序代码。本实施例的固件可以具体为终端设备的操作***,如智能移动电话的固件可以为智能移动电话的操作***,车载电子***的固件可以车载电子***的操作***等。本实施例的固件也可以为终端设备中的某个硬件的驱动程序,如本实施例的固件可以为终端设备中的硬盘、鼠标、光驱或者USB(Universal Serial Bus,通用串行总线)闪存盘等的驱动程序。主机可为电视、投影仪、电视盒子等终端设备,遥控器为与遥控器配套的遥控设备,主机与遥控器之间通过2.4G频段连接。
因为2.4G频段属于公共无线频段,该频段频谱异常拥挤(WIFI 11b/g/n,微波炉,无绳电话等),且无线遥控器要考虑电池续航时间,都采用低功耗技术。比如常见的蓝牙遥控器,都采用低功耗蓝牙技术(BLE)。采用低功耗技术的2.4G频段通信,为了避免信号干扰,都采用自适应跳频技术,为了有更多的信道用于跳频通信且避免相邻信道的干扰,通信信道都采用窄带,所以传输速率不高。
比如蓝牙BLE,在2.4G频段上划分了40个信道,每个信道宽度为2Mhz。BLE理论值最高支持2M bps通信速率,但在实际应用中会受到各种原因影响,速率会低很多,例如信号干扰,功耗限制,双向传输,协议开销(协议头),CPU的能力,RF硬件的限制等等。
基于上述原因,本发明定义遥控器与主机连接时的两种工作模式,a:普通模式;b:固件传输模式。遥控器从主机下载固件时,切换到固件传输模式,不与遥控器的普通数据传输共用信道带宽,不影响遥控器的正常功能。其中:
a)普通模式:遥控器上报按键,语音,传感器等输入数据到主机,主机处理遥控器上报事件和数据。此模式下,遥控器在主机中相当于一个HID(human interface device,人性化接口装置)设备。具体到蓝牙遥控器,此模式下一般使用HOGP(HID over GATTprofile,一种BLE下的HID协议)实现,在低功耗下满足HID协议数据传输。
b)固件传输模式:遥控器从主机下载固件,其它数据传输暂停。此模式下,遥控器与主机的带宽只用于传输固件数据。此模式下遥控器对于主机相当于一个串口设备,只和主机做流式数据通信,且不需兼顾低功耗,提高数据传输速率。具体到蓝牙遥控器,一般采用SPP协议(Serial Port Profile,一种蓝牙实现串行数据通信的协议)实现。
主机处于普通模式时,主机统计统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,即统计遥控器未被用户使用的第一持续时长。若第一持续时长大于预设空闲时长(例如5分钟),表明遥控器处于较长时间未被用户使用,遥控器处于闲置状态,此时主机指示遥控器切换至固件传输模式,同时主机自己也由普通模式切换至固件传输模式。
步骤S20,主机获取最新固件升级文件和固件分片传输信息,并向遥控器传输固件分片传输信息;其中,固件分片传输信息包括所述最新固件升级文件的固件大小、验证固件文件完整性的第一校验信息、固件分片数、分片大小和验证每个分片完整性的第二校验信息;
在主机基于第一持续时长判定遥控器处于空闲状态,主机在已下载好遥控器最新固件升级文件的情况下,即可下发指令,指示遥控器切换至固件传输模式,开始遥控器固件静默传输,遥控器将接收到的最新固件升级文件存储在遥控器的数据(Data)存储分区。
具体地,主机监测遥控器上报事件,第一预设时长(例如5分钟)内没有上报事件,主机即下发指令给遥控器,切换至固件传输模式。遥控器收到指令后,切换至固件传输模式,停止事件上报进程,与主机的无线链接切换至串行流式传输模式,启动固件传输客户端(client)进程。遥控器切换动作完成后,通知主机也切换到固件传输模式,同时主机生成固件分片传输信息。主机收到遥控器通知后,无线链接切换至串行流式传输模式(SPP),生成固件分片传输信息,然后启动固件传输server进程。
具体地,在所述主机指示遥控器切换至固件传输模式的步骤之后,还包括:遥控器收到主机指示以切换至固件传输模式,停止事件上报进程,遥控器与主机的无线连接切换至串行流式传输模式,遥控器启动预置的固件下载客户端(client)程序;遥控器通知主机切换到固件传输模式。
步骤S30,主机依据固件分片传输信息对最新固件升级文件进行分片,形成固件分片逐个传输至遥控器;
因为2.4G频段干扰严重,发生传输错误的概率非常高,如果每次等到固件传输完成再校验整包固件文件完整性,容易造成多次的大文件重传,加大固件传输时间。因此本方案中固件传输使用分片技术,即待传输的最新固件升级文件切成多份小的分片文件形成多个固件分片;当发生传输错误,或者遥控器有输入事件处理需要停止传输模式时,下一次传输可以从之前停止的固件分片文件继续传输。
在固件分片传输开始时,主机先依据固件分片传输信息对最新固件升级文件进行分片,形成固件分片逐个传输至遥控器。例如,最新固件升级文件A3的固件分片传输信息包括:A3的固件大小为10M,A3整体完整性验证的第一验证信息为字符串a1,A3的固件分片数为10,分片大小1M,验证每个固件分片完整性的第二验证信息为字符组a2,然后主机逐个将A3分片后的10个固件分片传输至遥控器。
具体地,遥控器client程序向主机server请求固件分片传输信息,固件分片传输信息包括所述最新固件升级文件的固件大小、验证固件文件完整性的第一校验信息、固件分片数、分片大小和验证每个分片完整性的第二校验信息。遥控器client程序从主机server下载固件分片文件。
步骤S40,遥控器基于第二校验信息逐个验证每个接收的固件分片的完整性,若验证完整性成功,则遥控器请求主机发送下一个固件分片;若验证完整性失败,则遥控器请求主机重传当前固件分片;直至遥控器完成所有固件分片的接收和验证;
遥控器client程序向主机server请求固件分片传输信息,遥控器client从主机server下载固件分片文件,遥控器基于第二校验信息逐个验证每个接收的固件分片的完整性,当前固件分片验证完整性成功了才进行下一个固件分片的验证。例如遥控器下载固件分片1成功、下载固件分片2成功,下载固件分片3成功,下载固件分片4校验出错,遥控器client程序向主机server程序请求重新传输固件分片4,进而遥控器下载固件分片4成功,直至遥控器client下载最新固件升级文件10个固件分片。
步骤S50,遥控器将所有固件分片合成为整体固件文件,并基于第一校验信息验证整体固件文件是否完整;若整体固件文件不完整,则遥控器请求主机重传所述最新固件升级文件的所有固件分片;若整体固件文件完整,则遥控器切换至普通模式,基于整体固件文件执行固件升级流程。
在遥控器client程序将所有固件分片下载和基于第二校验信息校验完毕后,将所有的固件分片数据合成为整体固件文件,遥控器基于第一校验信息验证整体固件文件的完整性。遥控器clent程序会将整体固件文件完整性的校验结果返回给主机server程序,若校验结果为整体固件文件不完整,则重启固件传输过程,遥控器请求主机重传最新固件升级文件的所有固件分片;若校验结果为整体固件文件完整,遥控器和主机都会切换回普通模式,进而遥控器基于整体固件文件进行固件升级流程。
在本实施例中,通过为主机和遥控器设置普通模式和固件传输模式,固件传输模式不占用遥控器普通数据传输共用信道带宽,并且主机后台检测到遥控器处于空闲状态(第一持续时长大于预设空闲时长),主机将自行生成的固件分片传输信息给到遥控器,从而主机与遥控器之间逐个实现固件分片的验证和传输,实现单个固件分片验证和重传,避免固件升级文件的整体重传,提高了固件升级文件的传输成功率和效率,同时在遥控器接收所有固件分片后且合并为整体固件文件,在遥控器进行固件升级前,再对整体固件文件进行完整性验证,规避固件分片合并出错,仅在整体固件文件完整性验证通过后,遥控器才基于整体固件文件执行固件升级流程,遥控器和主机才切换至普通模式,从而遥控器在空闲时自主进行最新的固件升级,也无需经常提示用户进行固件升级,不影响用户的正常使用,且在遥控器和主机固件传输中应用分片传输,提高最新固件的传输效率,提高遥控器固件升级在不影响用户使用前提下的固件升级成功率。
进一步地,在本发明无线遥控器升级方法又一实施例中,在步骤S10主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤之前,还包括:
步骤A1,主机开机后,主机与遥控器建立无线连接,遥控器回连主机成功后,遥控器上报遥控器当前固件版本至主机,遥控器工作在普通模式;
步骤A2,主机定时轮询云端固件服务器,查询遥控器当前固件版本是否为最新固件版本;若当前固件版本不是最新固件版本,则主机后台下载最新固件版本的最新遥控器固件。
主机与遥控器建立无线连接,每次主机开机,遥控器回连主机成功后,遥控器和主机工作在普通模式。遥控器每次回连主机成功后都会上报遥控器的当前固件版本给主机。主机定时轮询云端固件服务器,查询遥控器的当前固件版本是否有更新版本,若当前固件版本有更新版本后,主机会在后台静默下载最新的遥控器固件,主机下载固件的过程相对用户是透明的。若主机确定当前固件版本没有更新版本,则主机继续保持普通模式,不作响应。从而主机每次开机后,就可以及时知晓遥控器当前固件版本,并且主机可在云端固件服务器更新固件版本时,及时下载最新固件版本的固件升级文件。
可选地,所述直至遥控器完成所有固件分片的接收和验证的步骤之前,还包括:
步骤B1,当遥控器在固件传输模式中检测到用户触发的按键指令时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式并向主机发送按键指令;
步骤B2,主机退出固件传输模式,切换至普通模式,主机处理并响应所述按键指令,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
可选地,参照图3和图4,在所述主机处理并响应所述按键指令的步骤之后,还包括:
主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
当遥控器在固件传输模式检测到用户按键(即检测到用户触发的按键指令)时,遥控器会保存当前固件分片文件的传输信息,然后通知主机server退出固件传输模式,恢复到普通模式处理遥控器检测的按键指令。主机处理完按键事件后,重新统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,在第一持续时长大于预设空闲时长,表明遥控器处于空闲状态,重新通知遥控器切换到固件传输模式,遥控器端client程序从上次最后传输的固件分片文件开始请求下载后续未传输完的剩余固件分片文件。如此,遥控器即使在固件传输模式因收到按键指令中断固件分片传输,遥控器再次进入固件传输模式时,不用重头开始传输固件分片,可直接从上次中断传输的固件分片接着传输后续固件分片,提高了遥控器与主机之间固件升级文件的传输成功率和效率。
此外,在所述直至遥控器完成所有固件分片的接收和验证的步骤之前,在固件分片未全部传输完成之前,无线遥控器升级方法还包括:
步骤C1,当遥控器在固件传输模式中断电或电量不足时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式;
步骤C2,主机退出固件传输模式,切换至普通模式,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
步骤C3,主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
当遥控器在固件传输模式中断电或电量不足时,与遥控器接收到用户输入的案件指令情形有些相关,在遥控器中断固件升级过程后,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式。待遥控器充电或电量充足后,遥控器与主机重新建立连接,主机重新统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,在第一持续时长大于预设空闲时长时,主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
进一步地,在本发明无线遥控器升级方法另一实施例中,所述基于整体固件文件执行固件升级流程的步骤之前,还包括:
步骤D,在遥控器确定整体固件文件完整时,遥控器统计未收到遥控器事件上报的第二持续时长,若第二持续时长大于预设等待时长,则遥控器基于整体固件文件执行固件升级流程。
在遥控器确定整体固件文件完整,完成最新固件升级文件的传输之后,主机端和遥控器端都回到普通模式,遥控器监测按键事件,统计无按键事件的第二持续时长,若第二持续时长大于预设等待时长(如6分钟),遥控器使用接收的整体固件文件升级遥控器固件,从而实现遥控器无感知静默升级。
在遥控器静默升级固件过程中,考虑到两种中断升级过程的情况:
1)遥控器升级过程中用户拔掉电池,会中断遥控器固件升级过程;
2)遥控器升级过程中用户输入按键事件,需要立刻响应用户输入。
因此,需要在遥控器静默升级中设计一种正常工作与升级固件同时运行的机制,避免出现上述两种情况时遥控器变砖或者无法响应用户使用。
在本申请中,参照图5,遥控器的存储器中设计了两个***固件分区,说明遥控器***分区分布,其中bootloader分区(启动装载分区)存储bootloader程序(启动装载程序),system A(***分区一),system B(***分区二),data分区(数据分区)存储数据,如***固件升级包。
具体地,遥控器的存储器包括启动装载分区、两个***分区和数据分区,所述整体固件文件存储在数据分区;步骤D中遥控器基于整体固件文件执行固件升级流程的步骤包括:
步骤d1,遥控器基于启动装载分区中的启动装载程序,加载预设加载分区标记指向的***分区中当前固件版本的固件运行***,另一个***分区作为备份分区;
步骤d2,遥控器从数据分区中加载新的整体固件文件,并将所述最新遥控器固件刷新到该备份分区,设置预设加载分区标记指向该备份分区;
步骤d3,遥控器重启,基于启动装载程序加载预设加载分区标记当前指向的***分区固件运行***。
bootloader程序(功能为初始化硬件及加载固件)根据预设的加载分区标记变量来加载其中一个***分区的固件运行***,另一个***分区作为备份,当遥控器执行静默升级时,从data(数据)分区加载新固件升级文件,刷新到备份的***分区,刷新成功后,再设置bootloader加载分区标记变量为新***分区(即原备份的***分区),然后自动重启从新***分区加载固件启动。
此外,当在遥控器固件升级过程中有上述2种中断情况发生时,仍然使用旧的***固件分区运行,直到满足静默升级条件后重新开始升级。
具体地,步骤d3遥控器重启的步骤之前,还包括:
步骤d4,在遥控器将最新遥控器固件刷新到备份分区的过程中,若遥控器检测到用户触发的按键指令、断电或电量不足,则遥控器基于启动装载程序加载非备份分区中当前固件版本的固件运行***;在第二持续时长大于预设等待时长时,遥控器重新基于整体固件文件执行固件升级流程。
在新***分区(原备份***分区)的固件升级完成并正式运行之前,若遥控器在将最新遥控器固件刷新到备份分区的过程中,检测到用户触发的按键指令、断电或电量不足,则遥控器基于启动装载程序加载非备份分区中当前固件版本的固件运行***,确保遥控器即使固件升级不成功,也能够正常使用;在遥控器恢复正常使用,上电或电量充足时,遥控器统计未收到遥控器事件上报的第二持续时长,在第二持续时长大于预设等待时长时,遥控器具有固件升级硬件条件且未被用户使用,遥控器重新基于整体固件文件执行固件升级流程,实现遥控器固件的静默升级。
为实现上述发明目的,本申请还提供一种无线遥控器升级***,所述无线遥控器升级***包括遥控器和主机;
所述主机包括第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述第一计算机程序被所述第一处理器执行时实现如上述无线遥控器升级方法中主机执行的步骤;
所述遥控器包括第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述第二计算机程序被所述第二处理器执行时实现如上述无线遥控器升级方法中遥控器执行的步骤。
关于主机与遥控器相关说明书拓展内容和技术效果推导,与上述无线遥控器升级方法相似,在此不做累述。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素,此外,本申请不同实施例中具有同样命名的部件、特征、要素可能具有相同含义,也可能具有不同含义,其具体含义需以其在该具体实施例中的解释或者进一步结合该具体实施例中上下文进行确定。
应当理解,尽管在本文可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本文范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语"如果"可以被解释成为"在……时"或"当……时"或"响应于确定"。再者,如同在本文中所使用的,单数形式“一”、“一个”和“该”旨在也包括复数形式,除非上下文中有相反的指示。应当进一步理解,术语“包含”、“包括”表明存在所述的特征、步骤、操作、元件、组件、项目、种类、和/或组,但不排除一个或多个其他特征、步骤、操作、元件、组件、项目、种类、和/或组的存在、出现或添加。此处使用的术语“或”和“和/或”被解释为包括性的,或意味着任一个或任何组合。因此,“A、B或C”或者“A、B和/或C”意味着“以下任一个:A;B;C;A和B;A和C;B和C;A、B和C”。仅当元件、功能、步骤或操作的组合在某些方式下内在地互相排斥时,才会出现该定义的例外。
应该理解的是,虽然本申请实施例中的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,其可以以其他的顺序执行。而且,图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,其执行顺序也不必然是依次进行,而是可以与其他步骤或者其他步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
需要说明的是,在本文中,采用了诸如S10、S20等步骤代号,其目的是为了更清楚简要地表述相应内容,不构成顺序上的实质性限制,本领域技术人员在具体实施时,可能会先执行S20后执行S10等,但这些均应在本申请的保护范围之内。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本申请各个实施例所述的方法。
上面结合附图对本申请的实施例进行了描述,但是本申请并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本申请的启示下,在不脱离本申请宗旨和权利要求所保护的范围情况下,还可做出很多形式,这些均属于本申请的保护之内。
Claims (10)
1.一种无线遥控器升级方法,其特征在于,所述无线遥控器升级方法包括:
主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长,若第一持续时长大于预设空闲时长,则主机指示遥控器切换至固件传输模式;
主机获取最新固件升级文件和固件分片传输信息,并向遥控器传输固件分片传输信息;其中,固件分片传输信息包括所述最新固件升级文件的固件大小、验证固件文件完整性的第一校验信息、固件分片数、分片大小和验证每个分片完整性的第二校验信息;
主机依据固件分片传输信息对最新固件升级文件进行分片,形成固件分片逐个传输至遥控器;
遥控器基于第二校验信息逐个验证每个接收的固件分片的完整性,若验证完整性成功,则遥控器请求主机发送下一个固件分片;若验证完整性失败,则遥控器请求主机重传当前固件分片;直至遥控器完成所有固件分片的接收和验证;
遥控器将所有固件分片合成为整体固件文件,并基于第一校验信息验证整体固件文件是否完整;若整体固件文件不完整,则遥控器请求主机重传所述最新固件升级文件的所有固件分片;若整体固件文件完整,则遥控器切换至普通模式,基于整体固件文件执行固件升级流程。
2.如权利要求1所述的无线遥控器升级方法,其特征在于,在所述主机统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤之前,还包括:
主机开机后,主机与遥控器建立无线连接,遥控器回连主机成功后,遥控器上报遥控器当前固件版本至主机,遥控器工作在普通模式;
主机定时轮询云端固件服务器,查询遥控器当前固件版本是否为最新固件版本;若当前固件版本不是最新固件版本,则主机后台下载最新固件版本的最新遥控器固件。
3.如权利要求2所述的无线遥控器升级方法,其特征在于,在所述主机指示遥控器切换至固件传输模式的步骤之后,还包括:
遥控器收到主机指示以切换至固件传输模式,停止事件上报进程,遥控器与主机的无线连接切换至串行流式传输模式,遥控器启动预置的固件下载客户端程序;遥控器通知主机切换到固件传输模式。
4.如权利要求3所述的无线遥控器升级方法,其特征在于,所述直至遥控器完成所有固件分片的接收和验证的步骤之前,还包括:
当遥控器在固件传输模式中检测到用户触发的按键指令时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式并向主机发送按键指令;
主机退出固件传输模式,切换至普通模式,主机处理并响应所述按键指令,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
5.如权利要求5所述的无线遥控器升级方法,其特征在于,在所述主机处理并响应所述按键指令的步骤之后,还包括:
主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
6.如权利要求5所述的无线遥控器升级方法,其特征在于,所述直至遥控器完成所有固件分片的接收和验证的步骤之前,还包括:
当遥控器在固件传输模式中断电或电量不足时,遥控器保存当前固件分片的传输信息,通知主机退出固件传输模式;
主机退出固件传输模式,切换至普通模式,主机重新执行所述统计遥控器处于普通模式且未收到遥控器事件上报的第一持续时长的步骤。
主机分析所述传输信息,确定上一次主机与遥控器传输的当前固件分片,并从该当前固件分片重新开始逐个传输后续固件分片至遥控器,以供遥控器完成所有固件分片的接收和验证。
7.如权利要求6所述的无线遥控器升级方法,其特征在于,所述基于整体固件文件执行固件升级流程的步骤之前,还包括:
在遥控器确定整体固件文件完整时,遥控器统计未收到遥控器事件上报的第二持续时长,若第二持续时长大于预设等待时长,则遥控器基于整体固件文件执行固件升级流程。
8.如权利要求7所述的无线遥控器升级方法,其特征在于,遥控器的存储器包括启动装载分区、两个***分区和数据分区,所述整体固件文件存储在数据分区;
所述遥控器基于整体固件文件执行固件升级流程的步骤包括:
遥控器基于启动装载分区中的启动装载程序,加载预设加载分区标记指向的***分区中当前固件版本的固件运行***,另一个***分区作为备份分区;
遥控器从数据分区中加载新的整体固件文件,并将所述最新遥控器固件刷新到该备份分区,设置预设加载分区标记指向该备份分区;
遥控器重启,基于启动装载程序加载预设加载分区标记当前指向的***分区固件运行***。
9.如权利要求8所述的无线遥控器升级方法,其特征在于,所述遥控器重启的步骤之前,还包括:
在遥控器将最新遥控器固件刷新到备份分区的过程中,若遥控器检测到用户触发的按键指令、断电或电量不足,则遥控器基于启动装载程序加载非备份分区中当前固件版本的固件运行***;
在第二持续时长大于预设等待时长时,遥控器重新基于整体固件文件执行固件升级流程。
10.一种无线遥控器升级***,其特征在于,所述无线遥控器升级***包括遥控器和主机;
所述主机包括第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的第一计算机程序,所述第一计算机程序被所述第一处理器执行时实现如上述权利要求1至9中任一项所述的无线遥控器升级方法中主机执行的步骤;
所述遥控器包括第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的第二计算机程序,所述第二计算机程序被所述第二处理器执行时实现如上述权利要求1至9中任一项所述的无线遥控器升级方法中遥控器执行的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011586442.0A CN112711431A (zh) | 2020-12-29 | 2020-12-29 | 无线遥控器升级方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011586442.0A CN112711431A (zh) | 2020-12-29 | 2020-12-29 | 无线遥控器升级方法及*** |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112711431A true CN112711431A (zh) | 2021-04-27 |
Family
ID=75545954
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011586442.0A Pending CN112711431A (zh) | 2020-12-29 | 2020-12-29 | 无线遥控器升级方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112711431A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194461A (zh) * | 2021-04-30 | 2021-07-30 | 清华四川能源互联网研究院 | 固件空中升级方法、装置、计算机设备及存储介质 |
CN113391833A (zh) * | 2021-06-16 | 2021-09-14 | 杭州爱华仪器有限公司 | 一种测量放大器的远程升级***及其方法 |
CN113613045A (zh) * | 2021-07-05 | 2021-11-05 | Oppo广东移动通信有限公司 | 蓝牙外设升级方法、装置、终端设备及存储介质 |
CN115987975A (zh) * | 2022-12-30 | 2023-04-18 | 深圳市章江科技有限公司 | 文件传输方法、***及计算机可读存储介质 |
CN116737193A (zh) * | 2022-09-23 | 2023-09-12 | 荣耀终端有限公司 | 软件升级方法、电子设备和通信*** |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602114A (zh) * | 2015-01-09 | 2015-05-06 | 乐视致新电子科技(天津)有限公司 | 传输及接收升级文件的方法、***、智能电视和遥控器 |
CN112134961A (zh) * | 2020-09-28 | 2020-12-25 | 深圳市元征科技股份有限公司 | 客户端的使用控制方法、客户端及计算机存储介质 |
-
2020
- 2020-12-29 CN CN202011586442.0A patent/CN112711431A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104602114A (zh) * | 2015-01-09 | 2015-05-06 | 乐视致新电子科技(天津)有限公司 | 传输及接收升级文件的方法、***、智能电视和遥控器 |
CN112134961A (zh) * | 2020-09-28 | 2020-12-25 | 深圳市元征科技股份有限公司 | 客户端的使用控制方法、客户端及计算机存储介质 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113194461A (zh) * | 2021-04-30 | 2021-07-30 | 清华四川能源互联网研究院 | 固件空中升级方法、装置、计算机设备及存储介质 |
CN113391833A (zh) * | 2021-06-16 | 2021-09-14 | 杭州爱华仪器有限公司 | 一种测量放大器的远程升级***及其方法 |
CN113613045A (zh) * | 2021-07-05 | 2021-11-05 | Oppo广东移动通信有限公司 | 蓝牙外设升级方法、装置、终端设备及存储介质 |
CN116737193A (zh) * | 2022-09-23 | 2023-09-12 | 荣耀终端有限公司 | 软件升级方法、电子设备和通信*** |
CN115987975A (zh) * | 2022-12-30 | 2023-04-18 | 深圳市章江科技有限公司 | 文件传输方法、***及计算机可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112711431A (zh) | 无线遥控器升级方法及*** | |
US11310730B2 (en) | Method of connecting to network for home appliance, home appliance, and method of connecting to network for home appliance system | |
CN107301064B (zh) | 蓝牙固件的升级方法、电视终端及计算机可读存储介质 | |
EP2840455B1 (en) | Method, apparatus and system for intelligently controlling device, and plug-and-play device | |
US8504067B2 (en) | System and method for updating data in remote devices | |
JP3928852B2 (ja) | 移動体通信端末 | |
US20060154691A1 (en) | Architecture and protocol for software defined radio system | |
US20040133887A1 (en) | Apparatus and method for upgrading software of a wireless mobile station | |
CN107608602B (zh) | 车载空调的控制方法、移动终端、控制***及存储介质 | |
CN110996405A (zh) | 耳机连接方法、终端、耳机盒子与计算机可读存储介质 | |
US20160085538A1 (en) | Over-the-air updates for ble devices | |
CN106775817A (zh) | 智能终端开屏广告的控制方法、***及智能终端 | |
CN111813433B (zh) | 遥控器中键值的更新方法、遥控器及存储介质 | |
CN113157300A (zh) | 一种数据处理方法、装置和存储介质 | |
CN112230943A (zh) | 应用程序的处理方法、装置及电子设备 | |
WO2012094853A1 (zh) | 终端软件的安装方法、装置和*** | |
CN114780127A (zh) | 嵌入式设备固件更新方法、嵌入式设备、开发端设备 | |
CN112383908A (zh) | 一种蓝牙设备的升级方法及*** | |
WO2022268068A1 (zh) | 无线通信方法、装置、电子设备及可读存储介质 | |
CN113362584B (zh) | 通信方法、装置及无人机 | |
CN103825937A (zh) | 一种控制嵌入式设备数据更新的方法、设备及*** | |
CN114095295B (zh) | 智能门铃信息继承方法、智能门铃和计算机可读存储介质 | |
CN114679439A (zh) | 一种用于物联网基于蓝牙ble的辅助下载升级包方法 | |
WO2022127546A1 (zh) | 网关业务处理方法、网关、接收端、***以及存储介质 | |
CN105265011A (zh) | 用户设备的自适应转换 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |