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

基于窄带物联网的固件升级方法、终端设备及计算机可读存储介质

文献发布时间:2023-06-19 09:44:49


基于窄带物联网的固件升级方法、终端设备及计算机可读存储介质

技术领域

本发明涉及计算机技术领域,具体涉及一种固件升级方法、终端装置及计算机可读存储介质。

背景技术

固件是一种存在于电子设备中的软件,可与硬件结合实现特定的算法和产品功能,往往承担着基础且底层的工作。固件升级是指终端设备通过无线网络或本地传输的方式,下载获取固件升级包,然后对终端固件如手机或平板电脑等进行升级维护;以实现终端产品功能增强与问题修复的目的。

固件升级过程中,较为关键的步骤是固件升级文件的获取。固件升级多应用在嵌入式设备中。随着物联网产业的快速发展,越来越多的内存较小、功耗要求高的嵌入式设备不断出现并被广泛应用。现有的针对这类物联网嵌入式设备的固件升级技术主要有两种方案:第一种方案是使用窄带物联网(Narrow Band Internet of Things,NB-IoT)网络无线传输获取固件升级包;第二种方案是使用设备外接的USB或UART接口下载固件升级包。第一种方式依赖于运营商网络,在网络异常或设备本身缺陷导致无法连接运营商网络的情况下,该种升级方案将完全无法使用,另外该方案也存在一定的流量资费成本。第二种方案,通过外接接口配合专业升级软件的传输方式需要和设备有物理接触,而物联网设备是否提供物理接口受限于系统集成商的整体设计,这些物联网设备有些是安装在人无法直接接触的地方,因而无法很好通过物理接口进行升级。

发明内容

有鉴于此,有必要提供一种借助物联网能方便且高效地获取固件升级文件的固件升级方法,以解决上述问题。

为达到上述目的,本发明所提供的固件升级方法,运行于窄带物联网的终端设备上,所述终端设备内设置有NB-IoT模块,所述NB-IoT模块包括短距离无线通信模块和存储有所述终端设备的固件版本信息的存储器。所述固件升级方法包括以下步骤:

通过所述短距离无线通信模块广播通信请求,并判断是否有主设备响应该通信请求;

当接收到主设备响应所述通信请求的响应信息时,与所述主设备建立通信连接;

向所述主设备发送所述终端设备的固件版本信息,并控制所述主设备基于所述固件版本信息确定所述固件是否需升级;

当接收到所述主设备确定所述固件需升级的指令时,从所述主设备中获取固件升级文件包;以及

利用所获取到的固件升级文件包进行固件升级。

在一具体的实施例中,所述控制所述主设备基于所述固件版本信息确定所述固件是否需升级,具体包括:

控制所述主设备与所述服务器建立通信连接,并从所述服务器中获取所述固件最新的版本信息;

判断从所述服务器中获取到的固件的版本信息与所述终端设备的固件版本信息是否一致。

在一具体的实施例中,若从所述服务器中获取到的固件的版本信息与所述终端设备的固件版本信息不一致,接收到所述主设备发送的固件需升级的指令。

在一具体的实施例中,若从所述服务器中获取到的固件的版本信息与所述终端设备的固件版本信息一致,接收到所述主设备发送的固件无需升级的指令。

在一具体的实施例中,所述从所述主设备中获取固件升级文件包,具体包括:

所述主设备通过HTTP协议从所述服务器下载所述固件最新版本的升级文件包;

将从所述服务器下载的升级文件包通过所述短距离无线通信模块发送供给所述终端设备。

在一具体的实施例中,在当有主设备响应所述通信请求信息时,与所述主设备建立通信连接之后还包括:

接收所述主设备发送的鉴权信息,并判断所接收到的鉴权信息与所述终端设备中所存储的鉴权信息是否一致。

在一具体的实施例中,当所接收到的鉴权信息与存储的鉴权信息一致时,向所述主设备发送所述终端设备的固件版本信息。

在一具体的实施例中,当所接收到的鉴权信息与存储的鉴权信息一致时,向所述主设备发送鉴权失败的信息并断开与所述主设备之间的通信连接。

在一具体的实施例中,所述短距离无线通信模块为低功率蓝牙模块。

此外,为了解决上述问题,本发明还提供一种基于窄带物联网的终端装置。所述终端装置包括NB-IoT模块,所述NB-IoT模块包括短距离无线通信模块和存储有所述终端设备的固件版本信息的存储存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的固件升级程序,所述固件升级程序被所述处理器执行时实现上述固件升级方法的步骤。

另外,为解决上述问题,本发明还提供了一种计算机可读存储介质。所述计算机可读存储介质存储有固件升级程序,当所述固件升级程序被至少一个处理器执行时实现上述固件升级方法的步骤。

本发明所提供的固件升级方法通过借助主设备,并在需要进行固件升级时,通过移动设备与主设备之间建立短距离的无线通信连接,之后再通过主设备与服务器之间建立网络通信连接,并先让主设备从服务上获取需要升级的固件的升级文件包,然后再通过主设备将所获取到的固件升级文件包转发给出终端设备,并进行固件升级。如此,可降低终端设备在进行固件升级时对运营商网络的依赖,也无需在终端设备上增设物理接口;这种分步式的固件升级方法效率更高。

附图说明

图1为本发明一实施方式中的运行固件升级方法的固件升级系统的硬件结构的示意图。

图2为本发明一实施例中固件升级方法的步骤流程图。

图3为本发明另一实施方式中的固件升级方法的步骤流程图。

具体实施方式

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

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

请参见图1,所示为本发明一实施例中运行固件升级方法的固件升级系统的示意图。如图1所示,该固件升级系统100包括一终端设备10、一主设备20以及一服务器30。终端设备10与主设备20、主设备20与服务器30之间通过网络40进行通信连接。具体在本实施方式中,该终端设备10与主设备20之间通过短距离无线通信的方式建立通信连接,该主设备20与服务器30可通过局域网或广域网进行有线或无线的通信连接。该终端设备10为窄带物联网系统中的一设备,例如基于窄带物联网燃气系统中的智能燃气表或基于窄带物联网燃气系统中的智能水表等。

该主设备20可以以各种具有数据运算能力的终端来实施,例如,可以包括诸如手机、平板电脑、笔记本电脑、掌上电脑、个人数字助理(Personal Digital Assistant,PDA)、便捷式媒体播放器(Portable Media Player,PMP)、导航装置、可穿戴设备、智能手环、计步器等终端设备10,以及诸如数字TV、台式计算机等固定终端。优选的,该主设备20为设置有蓝牙单元的手机。

该服务器30为该窄带物联网系统及该固件升级系统100的控制中心。具体的,在本发明的实施方式中,该服务器30管理该固件升级系统100中的各终端设备10及存储有该终端设备10的固件升级文件包。当然,该服务器30上还可存储有该固件升级系统100的其它信息,例如主设备20与终端设备10之间的对应关系等。

请继续参见图1,所该终端设备10内设置有NB-IoT模块11,该NB-IoT模块11包括一存储器1111以及一短距离无线通信模块112。此外,该终端设备10还可包括显示单元12、输入单元13、以及处理器14等部件本领域技术人员可以理解,图2中示出的终端设备1结构并不构成对终端设备1的限定,终端设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

存储器111可用于存储软件程序以及各种数据。存储器111可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端设备10的使用所创建的数据(比如用户数据等)等。此外,存储器111可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。

在本实施方式中,该存储器111内存储有固件的版本信息、固件的更新日期、该终端设备10的编号或身份信息等信息。此外,该存储器111内还存储有终端设备10的鉴权信息。具体的,该鉴权信息可为终端设备10的编号、或者该终端设备10的拥有者的身份信息等。该鉴权信息预先存储在存储器111内。

短距离无线通信模块112可以包括一个或多个组件支持短距离通信的模块,其允许终端设备10与无线通信设备进行无线电通信。例如,短距离无线通信技术的一些示例包括蓝牙TM、射频识别(RFID)、红外数据协会(IrDA)、超宽带(UWB)、紫蜂TM等等。优选的,在本实施方式中,该短距离无线通信模块112为低功耗蓝牙(Bluetooth Low Energy,BLE)模块。

对应的,该主设备20内也设置有短距离无线通信模块21,该短距离无线通信模块21可同为BLE模块。

显示单元12用于显示由用户输入的信息或提供给用户的信息。显示单元12可包括显示面板,可以采用液晶显示器(Liquid Crystal Display,LCD)、有机发光二极管(Organic Light-Emitting Diode,OLED)等形式来配置显示面板。

输入单元13可用于接收用户通过输入设备例如键盘输入的数字或字符信息,以及产生与终端设备10的用户设置以及功能控制有关的键信号输入。具体地,输入单元13可包括触控面板以及其他输入设备。触控面板,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板上或在触控面板附近的操作),并根据预先设定的程式驱动相应的连接装置。触控面板可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器14,并能接收处理器14发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板。除了触控面板,输入单元13还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种,具体此处不做限定。

进一步的,触控面板可覆盖显示面板,当触控面板检测到在其上或附近的触摸操作后,传送给处理器14以确定触摸事件的类型,随后处理器14根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在本实施方式中,触控面板与显示面板是作为两个独立的部件来实现终端设备10的输入和输出功能,但是在某些实施例中,可以将触控面板与显示面板集成而实现终端设备10的输入和输出功能,具体此处不做限定。

处理器14是终端设备的控制中心,利用各种接口和线路连接整个终端设备的各个部分,通过运行或执行存储在存储器111内的软件程序和/或模块,以及调用存储在存储器111内的数据,执行终端设备的各种功能和处理数据,从而对终端设备进行整体监控。处理器14可包括一个或多个处理单元;优选的,处理器14可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器14中。

这里描述的各种实施方式可以以使用例如计算机软件、硬件或其任何组合的计算机可读介质来实施。对于硬件实施,这里描述的实施方式可以通过使用特定用途集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理装置(DSPD)、可编程逻辑装置(PLD)、现场可编程门阵列(FPGA)、处理器、控制器、微控制器、微处理器、被设计为执行这里描述的功能的电子单元中的至少一种来实施,在一些情况下,这样的实施方式可以在处理器14中实施。对于软件实施,诸如过程或功能的实施方式可以与允许执行至少一种功能或操作的单独的软件模块来实施。软件代码可以由以任何适当的编程语言编写的软件应用程序(或程序)来实施,软件代码可以存储在存储器111中并且由处理器14执行。

主设备20还包括与服务器30进行远距离通信连接的远距离通信模块22。具体的,该远距离通信模块22可为远距离无线通信模块,例如GSM网络、W-CDMA网络和TD-SCDMA网络中的至少一种。亦或,该远距离通信模块22可为远距离有限通信模块。服务器30上设置有与远距离通信模块22相对于的通信模块(图未示)。如此,主设备20与服务器30可进行远距离的有线或无线通信连接。

此外,该服务器30上设置有存储装置31,该存储装置31内存储有该服务器30运行时所需的必要程序和数据。在本发明的一具体实施方式中,该存储装置31至少存储有终端设备10的最新版本的固件升级文件包。

下面将结合附图2,并结合该固件升级系统100中的各装置进一步阐述本申请所提供的固件升级方法的执行过程和步骤。

请参见图2,所示为本发明一实施方式中的固件升级方法的步骤流程图。该固件升级方法应用于终端设备上10上。在本实施例中,根据不同的需求,图2所示的流程图中的步骤的执行顺序可以改变,某些步骤可以省略。

步骤201,通过所述短距离无线通信模块广播通信请求。

在一具体的实施方式中,该终端设备10向外通过短距离无线通信模块112广播通信请求。该通信请求用于请求与一预设的主设备20建立通信连接。在一可选的实施例中,该终端设备10按照预设的间隔时间通过低功耗蓝牙模块广播该通信请求信息。

步骤202,判断是否接收到主设备响应该通信请求信息的响应信息。若是,则执行步骤302;若否,则流程结束。

当主设备20接收到终端设备10广播的通信请求时,主设备20便向终端设备10发送响应该通信请求的响应信息,即终端设备10接收到主设备20发送回来的响应信息。

步骤203,与所述主设备建立短距离的无线通信连接,向所述主设备发送所述终端设备的固件版本信息。

终端设备10在接收到主设备20发送回来的响应信息时,与该主设备20建立通信连接,并主设备20发送终端设备10的固件版本信息。具体的,该终端设备10的固件版本信息存储在存储器14中,故而终端设备10从存储器14中读取到固件版本信息并将该读取到的固件版本信息发送给主设备20。

步骤204,控制所述主设备基于所述固件版本信息确定所述固件是否需升级。若是,则进入步骤205;若否,则流程结束。

在本申请的一具体实施方式中,步骤204具体包括:

终端设备10控制主设备20与所述服务器30建立通信连接,并从服务器30中获取所述固件最新的版本信息;并判断从服务器30中获取到的固件的版本信息与所述终端设备的固件版本信息是否一致。

具体的,当从所述服务器30中获取到的固件的版本信息与终端设备10的固件版本信息不一致,表明需要对终端设备10的固件进行升级,此时,主设备20向终端设备10发送固件需升级的指令,也即终端设备10接收到所述主设备30发送的固件需升级的指令。

当从所述服务器30中获取到的固件的版本信息与所述终端设备10的固件版本信息一致,则表明此时所述终端设备10当前的固件版本为最新版本,无需进行升级;该主设备20向终端设备10发送固件无需升级的指令,即终端设备10接收到所述主设备30发送的固件无需升级的指令。

在另一实施方式中,当终端设备10接收到所述主设备30发送的固件无需升级的指令时,该终端设备10断开与主设备20之间的通信连接。

步骤205,从所述主设备中获取固件升级文件包。

在本发明的一具体实现方式中,步骤205具体包括:

所述主设备20通过超文本传输协议(HyperText Transfer Protocol,HTTP)从所述服务器30上线下载所述固件最新版本的升级文件包;当该升级文件包下载到主设备20上之后,该主设备20再将从所述服务器30下载的升级文件包通过短距离无线通信的方式发送供给所述终端设备10。

步骤206,利用所获取到的固件升级文件包进行固件升级。

在本申请的一具体实施例中,当所述终端设备10从主设备20获取到最新版本的固件升级文件包时,再利用该固件升级文件包对终端设备10进行固件升级。

本发明所提供的固件升级方法通过借助主设备,并在需要进行固件升级时,通过移动设备与主设备之间建立短距离的无线通信连接,之后再通过主设备与服务器之间建立网络通信连接,并先让主设备从服务上获取需要升级的固件的升级文件包,然后再通过主设备将所获取到的固件升级文件包转发给出终端设备,并进行固件升级。如此,可降低终端设备在进行固件升级时对运营商网络的依赖,也无需在终端设备上增设物理接口;这种分步式的固件升级方法效率更高。

请参见图3,所示为本发明另一实施方式中的固件升级方法的步骤流程图。相较于图2所示的步骤流程图,在本实施例中,该固件升级方法在步骤202之后包括步骤2021。

步骤2021,接收所述主设备发送的鉴权信息,并判断所接收到的鉴权信息与所述终端设备中所存储的鉴权信息是否一致。若是,则进入步骤203;若否,则进入步骤2022。

具体的,该终端设备10的存储器111内预先存储有预设的鉴权信息,该预设的鉴权信息包括,但不限于,与终端设备10相关联的主设备20的身份验证信息,该身份验证信息可以是主设备20的身份识别码,或是该主设备20的拥有者的身份信息等。

步骤2022,断开与所述住设备之间的短距离无线通信连接。

当接收到的鉴权信息与所述终端设备10中所存储的鉴权信息不一致时,表明该主设备20对该终端设备10不具有访问权限,该主设备20的访问可能对该终端设备10造成信息泄露或功能损坏等,故此,为了避免这些问题的产生,终端设备10主动断开与主设备20之间的通信连接。

如此,本申请所提供的固件升级方法在终端设备10接收到主设备20响应其广播发送的通信请求时先验证该主设备20的鉴权信息。若鉴权信息验证通过,则表明该主设备20可访问该终端设备10,该终端设备10可通过该主设备20获取固件升级文件包并通过所获取到的固件升级文件包对其固件进行升级。若鉴权信息验证通过,则表明该主设备20未经授权不可访问该终端设备10。故此,可进一步提高终端设备10在固件升级过程中的安全性。

在另一实施方式中,本申请中的固件升级方法在步骤205之后还包括步骤:对所获取到的固件升级文件包进行验证,所述验证包括,但不限于检验该固件升级文件包是否完整,是否包含恶意插件等。若该固件升级文件包验证通过时,则进入步骤206。

如此,可确保终端设备10在进行固件升级时能准确而安全地进行升级更新。

本领域普通技术人员可以理解,实现上述实施例方法的全部或者部分步骤是可以通过至少一个程序指令相关的硬件来完成,所述至少一个程序可以存储于一计算机可读存储介质中,所述至少一个程序在执行时可实现本发明任意一实施方式中的固件升级方法的各步骤。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的固件升级方法。

以上是本发明实施例的实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明实施例原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。

相关技术
  • 基于窄带物联网的固件升级方法、终端设备及计算机可读存储介质
  • 固件升级方法、装置、终端设备及计算机可读存储介质
技术分类

06120112285003