一种实现无线物联网设备固件升级的方法以及物联网与流程

文档序号:14130355阅读:180来源:国知局

本发明涉及一种无线物联网设备固件升级方法,特别是涉及一种利用无线组网实现无线物联网设备固件升级的方法以及物联网。



背景技术:

随着“物联网+”的迅猛发展,无线物联网设备(如可穿戴设备、智能家居等产品)得到极大普及,相应地无线固件升级也越来越重要。目前主要是采用点对点的无线固件升级方式,即把待升级的固件存放在一个无线设备a中,通过无线方式传输到另一个被升级的无线物联网设备b中。对于网络中有多个无线物联网设备的情形,这种点对点的无线固件升级方法效率低、时间长、同步性差、距离近。为解决这些问题,通常采用多个存放有待升级固件的无线设备,一对一地对网络中的无线物联网设备进行升级,缩短整个网络中的物联网设备的整体升级时间,提升同步效果,消除无线通信距离的影响。但是,这需要多个存放有待升级固件的无线设备,并且需要多人分别把存放有待升级固件的无线设备放置在点对点的通信距离范围内,需要增加人力物力。

因此,需要一种新的无线固件升级方法,能够缩短整个无线网络中的无线物联网设备的无线固件升级的总时间,提高无线固件升级效率,同步性好,无线固件升级效率高,以及能消除通信距离的限制。



技术实现要素:

本发明的目的是为了克服现有技术存在的缺陷,提供一种利用无线组网实现无线物联网设备固件升级的方法以及物联网。为了实现这一目的,本发明所采取的技术方案如下:

按照本发明实施例的第一方面,提供一种利用无线组网实现无线物联网设备固件升级的方法,其中所述无线物联网设备具有中继功能以及无线组网功能,所述方法包括以下步骤:无线网络中存放待升级固件的设备把待升级的固件文件数据包传送到通信距离范围内的无线物联网设备;以及接收到固件文件数据包的无线物联网设备通过无线组网方式把待升级的固件文件数据包传输到无线网络中的其他与固件适配的无线物联网设备。

按照一个实施例,所述的利用无线组网实现无线物联网设备固件升级的方法还包括以下步骤:未升级的无线物联网设备接入到物联网设备已经升级完成的无线网络中时,通过逐个接收已经升级完成的无线物联网设备发送的固件文件数据包,升级固件文件;或者,当已经固件升级的无线物联网设备接入到固件未升级的无线物联网设备的无线网络中时,可以对无线网络中的所有与固件适配的无线物联网设备进行固件升级。

按照再一个实施例,优选的是,未升级的无线物联网设备通过异步接收已经升级完成的无线物联网设备发送的不同分包序号的固件包,并通过固件包序号拼接固件文件分成的数据包,升级固件文件。

按照另一个实施例,所述的利用无线组网实现无线物联网设备固件升级的方法还包括以下步骤:通过有线或无线方式把待升级的固件文件传入到无线网络中存放待升级固件的设备。

按照又一个实施例,优选的是,无线物联网设备在接收到其他类型或型号的无线物联网设备的待升级的固件文件数据包时,通过无线组网方式把该固件文件数据包中继传输到相应类型或型号的无线物联网设备。

按照再又一个实施例,优选的是,存放待升级固件的设备把待升级的固件文件分成多个数据包,通过有线或无线方式逐包发送到无线网络中的无线物联网设备。

按照再另一个实施例,优选的是,无线物联网设备先把整个固件文件数据包接收完成后,再把固件文件分成多个数据包,通过无线组网方式把待升级的固件文件数据包逐个传输到无线网络中的其他与固件适配的无线物联网设备。

按照本发明实施例的第二方面,还是提供一种利用无线组网实现无线物联网设备固件升级的方法,其中所述无线物联网设备具有无线组网功能,所述方法包括以下步骤:无线网络中存放待升级固件的设备把待升级的固件文件数据包传送到通信距离范围内的无线中继设备和无线物联网设备;以及接收到固件文件数据包的无线中继设备通过无线组网方式把待升级的固件文件数据包转发到无线网络中的其他无线中继设备和/或无线物联网设备。

按照一个实施例,所述的利用无线组网实现无线物联网设备固件升级的方法还包括以下步骤:通过有线或无线方式把待升级的固件文件传入到无线网络中存放待升级固件的设备。

按照再一个实施例,优选的是,存放待升级固件的设备把待升级的固件文件分成多个数据包,通过有线或无线方式逐包发送到无线网络中的无线中继设备和无线物联网设备。

按照又一个实施例,优选的是,无线中继设备先把整个固件文件数据包接收完成后,再把固件文件分成多个数据包,通过无线组网方式把待升级的固件文件数据包逐个传输到无线网络中的其他无线中继设备和无线物联网设备。

按照本发明实施例的第三方面,提供一种物联网,包括存放待升级固件的设备以及无线物联网设备,其中所述无线物联网设备具有中继功能以及无线组网功能;存放待升级固件的设备用于对无线网络中通信距离范围内的无线物联网设备进行有线或无线固件升级;以及接收到固件文件数据包的无线物联网设备可通过无线组网方式把待升级的固件文件数据包传输到无线网络中的其他与固件适配的无线物联网设备。

按照一个实施例,优选的是,所述无线物联网设备可以存放待升级固件文件。

按照再一个实施例,优选的是,所述无线物联网设备可以向接入到物联网的未升级的无线物联网设备发送固件文件数据包,以升级固件文件。

按照又一个实施例,优选的是,所述无线物联网设备在接收到其他类型或型号的无线物联网设备的待升级的固件文件数据包时,通过无线组网方式把该固件文件数据包中继传输到相应类型或型号的无线物联网设备。

按照另一个实施例,优选的是,无线物联网设备先把整个固件文件数据包接收完成后,再把固件文件分成多个数据包,通过无线组网方式把待升级的固件文件数据包逐个传输到无线网络中的其他与固件适配的无线物联网设备。

按照本发明实施例的第四方面,还是一种物联网,包括存放待升级固件的设备以及无线物联网设备,此外还包括:无线中继设备;其中存放待升级固件的设备用于把待升级的固件文件数据包传送到通信距离范围内的无线中继设备和无线物联网设备;以及接收到固件文件数据包的无线中继设备通过无线组网方式把待升级的固件文件数据包转发到无线网络中的其他无线中继设备和/或无线物联网设备。

按照一个实施例,优选的是,无线中继设备先把整个固件文件数据包接收完成后,再把固件文件分成多个数据包,通过无线组网方式把待升级的固件文件数据包逐个传输到无线网络中的其他无线中继设备和无线物联网设备。

按照本发明实施例的利用无线组网实现无线物联网设备固件升级的方法以及物联网,能够缩短整个无线网络中的无线物联网设备的无线固件升级的总时间,提高无线固件升级效率,同步性好,无线固件升级效率高,以及能消除通信距离的限制。

下面将结合附图并通过实施例对本发明进行具体说明,其中相同或基本相同的部件采用相同的附图标记指示。

附图说明

图1是按照本发明一个实施例的物联网的示意图;

图2是按照本发明一个实施例的利用无线组网实现无线物联网设备固件升级的方法的示意性流程图;

图3是按照本发明一个实施例的未升级的无线物联网设备接入到物联网设备已经升级完成的无线网络的示意图;

图4是按照本发明一个实施例的包含多个不同型号或不同厂家或不同类型的无线物联网设备的物联网的示意图;

图5是按照本发明又一个实施例的把待升级固件文件分成多个数据包的示意图;

图6是按照本发明又一个实施例的固件升级流程的示意图;

图7是按照本发明再一个实施例的物联网示意图;以及

图8是按照本发明又一个实施例的利用无线组网实现无线物联网设备固件升级的方法的示意性流程图。

具体实施方式

如图1所示,是按照本发明一个实施例的物联网的示意图,包括存放待升级固件的设备(六边形框)和无线物联网设备(圆框),其中该物联网包含的多个无线物联网设备各具有中继功能;存放待升级固件的无线设备用于对无线网络中的无线物联网设备进行有线或无线固件升级;无线物联网设备具有无线组网功能,对满足相同无线组网协议的无线物联网设备可以自动参与组网,如wifi组网、zigbee组网和蓝牙mesh组网等,从而可以实现一对多、多对多,以及中继转发的通信方式。另外,无线物联网设备可选地包含有通过固件实现存放待升级固件的功能。

如图2所示,是按照本发明一个实施例的利用无线组网实现无线物联网设备固件升级的方法的示意性流程图,主要包括:无线网络中存放待升级固件的设备把待升级的固件文件数据包传送到通信距离范围内的无线物联网设备的步骤202;以及接收到固件文件数据包的无线物联网设备通过无线组网方式把待升级的固件文件数据包传输到无线网络中的其他与固件适配的无线物联网设备的步骤204。此外,在其他实施例中,如果待升级的固件没有传入到存放待升级固件的设备,则还可包括通过有线或无线方式把待升级的固件传入到无线网络中存放待升级固件的设备的步骤200。在又一实施例中,还可选地包括对接入到已经升级完成的物联网设备的无线网络中的未升级的无线物联网设备进行固件升级,或者当已经固件升级的无线物联网设备接入到固件未升级的无线物联网设备的无线网络中时对无线网络中的所有与固件适配的无线物联网设备进行固件升级的步骤206。下面通过实例进行具体说明。

在步骤200中,按照一个实施例,可通过有线方式(例如uart、spi、usb等)把待升级的固件传入到无线网络中存放待升级固件的设备;按照再一个实施例,可通过无线方式(例如wifi、zigbee、蓝牙等)把待升级的固件传入到无线网络中存放待升级固件的设备。

在步骤202中,存放待升级固件的设备,通过该设备的固件实现把待升级的固件文件分成多个数据包,通过有线或无线方式,逐包(可选地,每包包含有待升级固件分包的序号)发送到无线网络中的无线物联网设备。具体来说,如图1所示,存放待升级固件的设备把待升级的固件文件数据包逐包传送到无线网络中通信距离范围内的无线物联网设备1、3、6,无线物联网设备1、3、6实时接收待升级固件文件数据包。在又一个实施例中,可选地,无线物联网设备1、3、6实时接收待升级固件文件数据包,并保存待升级固件文件数据包。

在步骤204中,如图1所示,无线物联网设备1、3、6先接收待升级固件文件数据包,并且先把整个待升级固件文件数据包接收完成后,再把待升级固件文件分成多个数据包,通过无线组网方式,把待升级的固件文件数据包逐个传输到无线网络中的所有无线物联网设备。例如,无线物联网设备把待待升级的固件分成n包:p1、p2、……、pn,然后按照p1、p2、……、pn逐包发送待升级固件文件数据包。通过多个无线物联网设备转发,把待升级的固件文件数据包逐个发送到无线物联网设备。如图1中无线物联网设备1、3、6把待升级的固件文件数据包转发到无线物联网设备2、4、7、10,再由无线物联网设备2、4、7、10转发到无线物联网设备5、8、11,最后由无线物联网设备5、8、11转发到无线物联网设备9、12、13。由此升级整个网络中的13个无线物联网设备所需的时间是:t+3*δt,其中,t是升级一个无线物联网设备所需的时间;δt是一次转发所需的延时时间。

在此网络中只要δt<4t,那么升级整个无线网络中的无线物联网设备所需的时间就比逐个点对点升级的总时间短。

按照一个实施例,在步骤206中,未升级的无线物联网设备接入到已经升级完成的物联网设备的无线网络中时,如图3所示,无线网络中的无线物联网设备1、2、3、4、5、6、7、8、9、10、11、12是已经升级固件的设备。无线物联网设备13是未升级固件的设备,且状态是从未接入无线网络到接入进无线网络。无线物联网设备13可以通过逐个接收无线物联网设备1,和/或无线物联网设备3,和/或无线物联网设备6发送的待升级固件文件分成的数据包,升级固件文件。

在另一个实施例中,无线物联网设备13可以通过异步接收无线物联网设备1,和/或无线物联网设备3,和/或无线物联网设备6发送的不同分包序号的固件包,通过固件包序号拼接固件文件分成的数据包,来升级固件文件。其中无线物联网设备具有拆分固件文件,且根据分包序号选择传输固件文件数据包的功能,具体来说,无线物联网设备把待升级的固件分成n包:p1、p2、……、pn,然后在每个数据包前增加包序号si:s1p1、s2p2、……、snpn;接着,把待升级固件文件数据包可以不需要按包的序号逐包发送;待升级的无线物联网设备接收到待升级的固件文件数据包后,只要按照包序号si拼接起来,组成一个完整的固件文件,就可以了。如固件文件分成3个数据包,无线物联网设备13接收到无线物联网设备1发送的固件数据包1、3后,再接收无线物联网设备3发送的固件数据包2,把固件数据包1、2、3拼接起来,组成一个完整的固件文件。

在一个实施例中,还可升级特定型号的无线物联网设备,如图4所示,无线组网网络中包含有多个不同型号或不同厂家或不同类型的无线物联网设备,其中六边形框表示存放待升级固件的设备,方框表示无线物联网设备型号ⅰ,圆框表示无线物联网设备型号ⅱ。例如,对于无线网络中特定型号的无线物联网设备型号ⅰ的固件升级,可以通过无线网络中的其他型号或其他厂家的无线物联网设备型号ⅱ中继传输待升级固件文件数据包,完成对整个无线网络中无线物联网设备类型ⅰ的固件升级。

在又一个实施例中,与上述情形相反,无线网络中的无线物联网设备固件未升级,当有一个已经固件升级的无线物联网设备接入到无线网络中时,可以对无线网络中的所有与固件适配的无线物联网设备进行固件升级。对未升级的无线物联网设备接入无线网络后,可以通过无线网络中与固件适配的已经升级固件的无线物联网设备,自动无线升级该无线物联网设备固件。无线网络中只有一个无线物联网设备固件升级成功,无线网络中的其他与固件适配的无线物联网设备,可以通过已经升级成功无线物联网设备,自动无线升级固件。

在一个实施例中,上述把待升级固件文件分成多个数据包的实现方案如图5所示。具体来说,把待升级固件分成n个数据包,可选地,在每个数据包前增加一个数据包序号。

在一个实施例中,上述固件升级流程如图6所示,具体过程包括:

(1)无线物联网设备和存放待升级固件的设备进行握手,获取无线物联网设备是否要固件升级的信息。其中握手方式包括如下几种:a.首先无线物联网设备把当前设备信息(如固件适配型号、固件版本等信息)发送给存放待升级固件的设备,存放待升级固件的设备把无线物联网设备的当前设备信息与待升级的固件信息比较,如果匹配,就升级无线物联网设备;否则,不升级无线物联网设备;b.首先存放待升级固件的设备把待升级的固件信息发送给无线物联网设备,无线物联网设备把当前设备信息(如固件适配型号、固件版本等信息)与接收到的待升级的固件信息做比较,如果匹配,就升级无线物联网设备;否则,不升级无线物联网设备;

(2)存放待升级固件的设备把待升级固件拆分成n个数据包;

(3)存放待升级固件的设备逐个发送拆分后的待升级固件文件数据包;

(4)可选地,存放待升级固件的设备发送完m包待升级固件文件数据包后,发送当前m包数据包的校验值通知给无线物联网设备;

(5)可选地,无线物联网设备收到当前m包待升级固件文件数据包的校验值后,对当前m包待升级固件文件数据包进行校验;

(6)当前m包待升级固件文件数据包校验成功,保存当前m包待升级固件文件数据包;

(7)存放待升级固件文件的设备把待升级固件文件发送完成;

(8)无线物联网设备校验整个待升级固件文件;

(9)无线物联网设备校验整个待升级固件文件成功,进入更新固件文件。

如图7所示,是按照本发明再一个实施例的物联网示意图,包括存放待升级固件的设备(六边形框)和无线物联网设备(圆框),此外,还包括无线中继设备(星形框);其中无线物联网设备不具有中继功能。其中无线网络中存放待升级固件的设备用于把待升级的固件文件数据包传送到通信距离范围内的无线中继设备和无线物联网设备;以及接收到固件文件数据包的无线中继设备通过无线组网方式把待升级的固件文件数据包转发到无线网络中的其他无线中继设备和/或无线物联网设备。

如图8所示,是按照本发明又一个实施例的利用无线组网实现无线物联网设备固件升级的方法的示意性流程图,主要包括:无线网络中存放待升级固件的设备把待升级的固件文件数据包传送到通信距离范围内的无线中继设备和无线物联网设备的步骤802;以及接收到固件文件数据包的无线中继设备通过无线组网方式把待升级的固件文件数据包转发到无线网络中的其他无线中继设备和/或无线物联网设备的步骤804。此外,在其他实施例中,如果待升级的固件没有传入到存放待升级固件的设备,则还可包括通过有线或无线方式把待升级的固件传入到无线网络中存放待升级固件的设备的步骤800。下面通过实例进行具体说明。

在步骤800中,按照一个实施例,可通过有线方式(例如uart、spi、usb等)把待升级的固件传入到无线网络中存放待升级固件的设备;按照再一个实施例,还可通过无线方式(例如wifi、zigbee、蓝牙等)把待升级的固件传入到无线网络中存放待升级固件的设备。

在步骤802中,如图7所示,存放待升级固件的设备把待升级的固件文件分成多个数据包,并通过有线或无线方式,把固件文件数据包逐包传送到无线网络中通信距离范围内的无线中继设备1和无线物联网设备1、6。

在步骤804中,如图7所示,无线中继设备1实时接收固件文件数据包后,通过无线组网方式,把待升级的固件文件数据包转发到无线网络中的其他与固件适配的无线物联网设备2、10和无线中继设备2、3。可选地是,在一个实施例中,无线中继设备1实时接收待升级的固件文件数据包,并保存待升级的固件文件数据包。

还可选地是,在又一个实施例中,无线中继设备1先接收待升级的固件文件数据包,并且先把整个待升级的固件文件数据包接收完成后,再把待升级的固件文件分成多个数据包,通过无线组网方式,把待升级的固件文件数据包逐个转发到无线网络中的其他与固件适配的无线物联网设备和无线中继设备。

通过多个无线中继转发,把待升级的固件文件数据包逐个发送到无线物联网设备。如图7中无线中继1把待升级的固件文件数据包逐个转发到无线物联网设备1、2、6、10和无线中继设备2、3,再由无线中继设备2、3转发到无线物联网设备2、3、4、5、9、11和无线中继设备4、5,最后由无线中继设备4、5转发到无线物联网设备7、8、12、13。由此升级整个网络中的13个无线物联网设备所需的时间是:t+3*δt,其中t是升级一个无线物联网设备所需的时间,δt是一次转发所需的延时时间。在此网络中只要δt<4t,那么升级整个无线网络中的无线物联网设备所需的时间就比逐个点对点升级的总时间短。

在上面的各实施例中,虽然示出了存放待升级固件的设备、无线物联网设备、以及无线中继设备的具体数目,但这并不是限制,可以根据具体情况而变化。

利用无线组网的一对多、多对多,以及中继传输方式,整个无线网络中的无线物联网设备的固件升级所需时间是:t+n*δt,其中t是升级一个无线物联网设备所需的时间,δt是一次转发所需的延时时间,n是无线网络中转发的次数。因此,整个无线网络中的无线物联网设备的固件升级所需时间和无线网络中中继转发的次数有关,无线中继转发的次数越少,所需的时间越短,反之所需的时间越长。

以上通过具体的实施例对本发明进行了说明,但本发明并不限于这些具体的实施例。本领域技术人员应该明白,还可以对本发明做各种修改、等同替换、变化等等,例如将上述实施例中的一个步骤分为两个或更多个步骤来实现,或者相反,将上述实施例中的两个或更多个步骤的功能放在一个步骤中来实现。但是,这些变换只要未背离本发明的精神,都应在本发明的保护范围之内。另外,本申请说明书和权利要求书所使用的一些术语,并不是限制,仅仅是为了便于描述。此外,以上多处所述的“一个实施例”、“另一个实施例”等等,表示不同的实施例,当然也可以将其全部或部分结合在一个实施例中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1