CN114172899B - 基于ZigBee网络的OTA升级方法和*** - Google Patents
基于ZigBee网络的OTA升级方法和*** Download PDFInfo
- Publication number
- CN114172899B CN114172899B CN202210125833.5A CN202210125833A CN114172899B CN 114172899 B CN114172899 B CN 114172899B CN 202210125833 A CN202210125833 A CN 202210125833A CN 114172899 B CN114172899 B CN 114172899B
- Authority
- CN
- China
- Prior art keywords
- upgrading
- ota
- node
- program
- latest
- 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.)
- Active
Links
Images
Classifications
-
- 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]
-
- 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
-
- 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
- H04W76/00—Connection management
- H04W76/10—Connection setup
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本申请涉及一种基于ZigBee网络的OTA升级方法的控制方法和***,该方法包括:接收OTA批量升级指令时,到达第一随机延时时间后,启动OTA客户端程序,发起OTA升级请求,协调器接收OTA升级请求时,下发最新升级程序;各路由节点接收并保存最新升级程序,基于最新升级程序完成OTA升级,在完成OTA升级后,启动OTA服务端程序发送升级准备完成消息,协调器接收升级准备完成消息并上报上位机,接收到OTA批量升级指令时,到达第二随机延时时间后,发送OTA升级请求,父节点接收OTA升级请求,发送最新升级程序,各终端节点设备基于接收的最新升级程序完成OTA升级,本申请解决相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,升级效率低造成业务数据延迟的问题。
Description
技术领域
本申请涉及ZigBee组网应用领域,特别是涉及一种基于ZigBee网络的OTA升级方法和***。
背景技术
随着我国物联网正进入发展的快车道,ZigBee技术也正逐步被国内越来越多的用户接受。ZigBee技术也已在部分智能传感器场景中进行了应用。智慧城市建设成为运营商推进物联网的重要落脚点。
目前情况基于ZigBee 3.0协议栈的OTA升级流程是OTA客户端直接从OTA 服务端获取升级镜像包,然后保存在本地的存储空间,最后写入存储器启动分区并重启节点设备。ZigBee网络的理论传输速率为10kbps ~ 250 kbps,但实际传输速率最高30kbps,速率比较低,大多数情况下,一台协调器组网携带的节点设备超过64个节点设备,在这种情况下,每个节点同时请求升级,严重影响OTA的升级效率。如果升级软件包大于300KB,那么64个节点升级完成需要接近一个小时左右的时间,如此,升级效率低、速度慢;并且,在节点设备在升级过程中,由于每个节点设备都要从协调器节点下载软件升级包,占用了业务数据的带宽,与协调器之间的业务数据会严重延迟,导致用户体验效果非常差。
发明内容
本申请实施例提供了一种基于ZigBee网络的OTA升级方法,以至少解决相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,导致升级效率低、速度慢、造成业务数据延迟的问题。
第一方面,本申请实施例提供了一种基于ZigBee网络的OTA升级方法,所述方法包括:
各路由节点接收OTA批量升级指令时,设置第一随机延时时间,在到达所述第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
协调器接收OTA升级请求时,下发最新升级程序;
各路由节点接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
所述协调器接收所述升级准备完成消息并上报上位机;
各终端节点设备接收到所述OTA批量升级指令时,设置第二随机延时时间,到达所述第二随机延时时间之后,发送所述OTA升级请求;
父节点接收所述OTA升级请求,发送所述最新升级程序,其中,所述父节点为与该终端节点设备相连接最近的路由节点;
各终端节点设备基于接收的所述最新升级程序完成OTA升级。
在其中一些实施例中,所述各路由节点接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级包括:
将最新升级程序的版本与保存的升级程序的版本进行比较;
若所述保存的升级程序的版本与所述最新升级程序的版本不同,则将所述最新升级程序写入当前路由节点的存储空间,基于所述最新升级程序完成OTA升级。
在其中一些实施例中,在各路由节点完成OTA升级之后,所述方法还包括:
将所述OTA服务端地址修改为对应的路由器节点地址。
在其中一些实施例中,所述第一随机延时时间或所述第二随机延时时间小于240秒。
在其中一些实施例中,所述最新升级程序为最新升级镜像包程序,所述最新升级镜像包程序的容量大于300KB。
在其中一些实施例中,各路由节点接收OTA批量升级指令之前,所述方法还包括:
在当前ZigBee网络包括一个协调器的情况下,通过所述协调器将各节点设备加入所述ZigBee网络,其中,所述节点设备包括所述路由节点和所述终端节点中至少一种。
在其中一些实施例中,在当前节点设备没有加入其他ZigBee网络的情况下,所述方法还包括:
对当前ZigBee网络进行信道扫描,确定当前节点使用的最优信道;
对所述最优信道设置网络ID,其中,所述网络ID为通过协调器选定的网络标识符,所述网络标识符的值小于0x3FFF;
在所述网络ID设置完成时,所述当前节点发送连接请求命令;
所述协调器接收连接请求命令时,发送ACK确认帧。
在其中一些实施例中,所述协调器下携带的节点设备的个数大于或等于64个。
在其中一些实施例中,所述终端节点为智能传感器设备。
第二方面,本申请实施例提供了一种基于ZigBee网络的OTA升级***,其特征在于,所述***包括协调器、若干路由节点和若干终端节点设备;
各路由节点,用于接收OTA批量升级指令时,设置第一随机延时时间,在到达所述第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
所述协调器,用于接收OTA升级请求时,下发最新升级程序;
各路由节点,还用于接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
所述协调器,还用于接收所述升级准备完成消息并上报上位机;
各终端节点设备,用于接收到所述OTA批量升级指令时,设置第二随机延时时间,到达所述第二随机延时时间之后,发送所述OTA升级请求;父节点接收所述OTA升级请求,发送所述最新升级程序,其中,所述父节点为与该终端节点设备相连接最近的路由节点;
各终端节点设备,还用于基于接收的所述最新升级程序完成OTA升级。
相比于相关技术,首先,本实施例通过路由器节点将协调器设备和终端节点设备连接起来,在协调器节点设备和路由器节点设备建立连接之后,每个路由器节点设备在第一随机延时时间之后,从协调器节点设备获取最新升级程序(OTA升级软件包),这样可以尽量减少大批量路由器节点设备向协调器节点获取软件升级包的并发数量,然后,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息,协调器接收升级准备完成消息并上报上位机;如此,方便用户确认路由器节点设备已经完成升级准备,进而下发节点设备的OTA批量升级指令,接着,路由器节点和终端节点设备建立连接之后,每个终端节点在第二随机延时时间之后,从路由器节点(即各父节点)获取最新的软件升级包,这样可以尽量减少大批量终端节点设备向路由器节点获取软件升级包的并发数量,即把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,相较于相关技术中每个节点设备都要从协调器节点下载软件升级包,占用了业务数据的带宽,与协调器之间的业务数据会严重延迟,导致用户体验效果非常差,本实施例不仅提升了批量节点设备同时请求OTA升级的升级效率,且给用户带来了良好的升级体验感,解决了相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,导致升级效率低、速度慢、造成业务数据延迟的问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的基于ZigBee网络的OTA升级方法的第一流程图;
图2是根据本申请实施例的ZigBee树形组网拓扑图;
图3是根据本申请实施例的基于ZigBee网络的OTA升级方法的控制方法的第二流程图;
图4是根据本申请实施例的节点设备入网流程图;
图5是根据本申请实施例的基于ZigBee网络的OTA升级***的结构框图;
图6是根据本申请实施例的电子设备的内部结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。
除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、***、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指大于或者等于两个。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。
首先为了方便理解,现在对本发明撰写过程中所涉及的术语进行介绍,具体如下:
ZigBee:ZigBee技术是一种新兴的短距离、低功耗、低成本、低数据传输率的无线通信技术。
ZigBee OTA(Over-the-AirTechnology,简称OTA)升级:升级是指ZigBee终端节点通过ZigBee无线网络下载远程协调器节点上的升级包,对***或应用进行升级的技术。
OTA服务端:一般是指ZigBee网络中的协调器节点或者是路由器节点,主要用于存储ZigBee终端节点的升级镜像包。在和OTA Client建立连接后发起OTA升级命令。
OTA客户端:一般是指ZigBee网络中的节点设备,和OTA服务端建立连接后会发起OTA升级请求,从OTA服务端获取升级镜像包,完成升级任务。
协调器节点:ZigBee协调器是网络各节点信息的汇聚点,是网络的核心节点,负责组建、维护和管理网络,并通过串口实现各节点与上位机的数据传递。ZigBee协调器有较强的通信能力、处理能力和发射能力,能够把数据发送至远程控制端。
路由器节点:负责转发数据包,进行数据的路径寻找和路由维护,允许节点加入网络并辅助其子节点通信;路由器节点是终端节点和协调器节点的中继,它为终端节点和协调器节点之间的通信进行接力。
终端节点:终端节点可以直接与协调器节点相连,也可以通过路由器节点与协调器节点相连。
本申请提出一种基于ZigBee网络的OTA升级方法,图1是根据本申请实施例的基于ZigBee网络的OTA升级方法的第一流程图,如图1所示,该方法包括如下步骤:
步骤S101,各路由节点接收OTA批量升级指令时,设置第一随机延时时间,在到达第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
本实施例,由于设置的第一随机延时时间不确定,例如,可以1秒、2秒或其他,则各路由节点启动OTA客户端程序的时间不同,导致发起OTA升级请求的时间也不同,例如,当前路由节点为3个,分别为路由节点1、路由节点2和路由节点3,在当前时间为8点0分0秒的情况下,若路由节点1设置的第一随机延时时间为10秒,若路由节点2设置的第一随机延时时间为20秒,若路由节点3设置的第一随机延时时间为30秒,则路由节点1启动OTA客户端程序,发起OTA升级请求的时间为8点0分10秒;则路由节点2启动OTA客户端程序,发起OTA升级请求的时间为8点0分20秒;则路由节点3启动OTA客户端程序,发起OTA升级请求的时间为8点0分30秒。
步骤S102,协调器接收OTA升级请求时,下发最新升级程序;其中,最新升级程序的大小根据实际的需求设定,此处不做具体限定;
本实施例接收OTA批量升级指令时,由于各路由节点设置第一随机延时时间不同,则各路由节点发起OTA升级请求的时间不同,因此,协调器接收OTA升级请求的时间也不同,以使下发最新升级程序的时间也不同,如此,把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,从而极大的降低了大批量的节点设备(路由节点)连接OTA服务端(即协调器的OTA服务端)的并发量;
步骤S103,各路由节点接收并保存最新升级程序,基于最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
需要说明的是,OTA服务端程序主要是用于处理对终端节点的OTA升级数据。
步骤S104,协调器接收升级准备完成消息并上报上位机;如此,方便用户确认路由器节点设备已经完成升级准备,进而下发节点设备的OTA批量升级指令。其中,本领域技术人员易于理解的是,上位机是指可以直接发出操控命令的计算机,本实施中的上位机包括但不限制于PC(例如,台式机、一体机、笔记本电脑、平板电脑)、host computer、mastercomputer和upper computer。
步骤S105,各终端节点设备接收到OTA批量升级指令时,设置第二随机延时时间,到达第二随机延时时间之后,发送OTA升级请求;
步骤S106,父节点接收OTA升级请求,发送最新升级程序,其中,父节点为与该终端节点设备相连接最近的路由节点;
由于各终端节点设备设置第二随机延时时间不确定,例如,第二随机延时时间可以是1秒、2秒或其他,此处不做具体限定,则各终端节点设备发送OTA升级请求的时间也不同,以使父节点(即路由节点)接收OTA升级请求不同,则各父节点发送最新升级程序的时间也不同,把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,避免了大批量的终端节点设备同时向路由器节点获取软件升级包,从而极大的降低了大批量的节点设备连接OTA服务端(即协调器的OTA服务端)的并发量;
需要说明的是,图2是根据本申请实施例的ZigBee树形组网拓扑图,如图2所示,在成功建立ZigBee网络之后,从上到下形成一个树形的结构,根部节点是协调器节点(Co-ordinator),然后是若干路由器节点(Router),最末端是终端节点设备(End Device),建立ZigBee网络由若干条子分支ZigBee网络组成,可以理解的是,子分支ZigBee网络组成不同时,各终端节点设备的父节点可能相同,也可能不同,参照图2,在由协调器节点Co-ordinator、路由节点Router1、路由节点Router2、终端节点设备End Device3组成的子分支ZigBee网络中,终端节点设备End Device3的父节点为与该终端节点设备End Device3相连接最近的路由节点Router2,在另一ZigBee网络子分支上,终端节点设备End Device2的父节点也是为路由节点Router2,而在另一ZigBee网络子分支上,终端节点设备End Device5的父节点为路由节点Router5;
步骤S107,各终端节点设备基于接收的最新升级程序完成OTA升级。
通过上述步骤S101至步骤S107,首先,本实施例通过路由器节点将协调器设备和终端节点设备连接起来,在协调器节点设备和路由器节点设备建立连接之后,每个路由器节点设备在第一随机延时时间之后,从协调器节点设备获取最新升级程序(OTA升级软件包),这样可以尽量减少大批量路由器节点设备向协调器节点获取软件升级包的并发数量,然后,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息,协调器接收升级准备完成消息并上报上位机;如此,方便用户确认路由器节点设备已经完成升级准备,进而下发节点设备的OTA批量升级指令,接着,路由器节点和终端节点设备建立连接之后,每个终端节点在第二随机延时时间之后,从路由器节点(即各父节点)获取最新的软件升级包,这样可以尽量减少大批量终端节点设备向路由器节点获取软件升级包的并发数量,即把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,相较于相关技术中每个节点设备都要从协调器节点下载软件升级包,占用了业务数据的带宽,与协调器之间的业务数据会严重延迟,导致用户体验效果非常差,本实施例不仅提升了批量节点设备同时请求OTA升级的升级效率,且给用户带来了良好的升级体验感,解决了相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,导致升级效率低、速度慢、造成业务数据延迟的问题。
在其中一些实施例中,各路由节点接收并保存最新升级程序,基于最新升级程序完成OTA升级包括如下步骤:
将最新升级程序的版本与保存的升级程序的版本进行比较;
若保存的升级程序的版本与最新升级程序的版本不同,则将最新升级程序写入当前路由节点的存储空间,基于最新升级程序完成OTA升级。
上述步骤可以理解为,当路由器节点获取到最新的软件升级包文件后保存并对比自身的软件版本,如果获取的软件版本不同于当前版本,则把新版本写入存储设备,再启动和终端节点连接的OTA服务端程序;如果获取的软件版本和当前的软件版本相同,则直接启动OTA服务端程序。
在其中一些实施例中,在各路由节点完成OTA升级之后,所述方法还包括如下步骤:
将OTA服务端地址修改为对应的路由器节点地址。本实施例在各路由节点从协调器节点设备获取最新升级程序(OTA升级软件包)时,将OTA服务端地址修改为对应的路由器节点地址,然后,在路由器节点设备上启动一个OTA代理服务端程序,该程序相当于协调器的OTA服务端程序,方便后续当终端节点设备连接到网络之后,OTA客户端和它父节点的OTA服务端程序进行升级数据传输。
在其中一些实施例中,第一随机延时时间或第二随机延时时间小于240秒。当然在一些其他实施例中,根据实际需求,第一随机延时时间或第二随机延时时间还是设置为小于120秒或其他,此处不做具体限定。
图3是根据本申请实施例的基于ZigBee网络的OTA升级方法的第二流程图,如图3所示,在一实施例中,在第一随机延时时间或第二随机延时时间小于240秒的情况下,该方法包括:
节点设备成功入网后,判断节点设备是否为路由节点(即路由器节点);若否,等待用户下发OTA批量升级指令,若是,执行240以内的随机延时(即第一随机延时时间),启动OTA客户端程序并连接协调器的OTA服务器,从协调器下载最新软件升级包,判断最新软件升级包的软件版本与节点设备存储的软件版本是否相同,若否,路由节点(即路由器节点)首先进行OTA升级,若是,启动路由器节点OTA代理服务端程序,等待终端节点设备连接;发送“升级准备已完成”的消息到协调器,并通知客户,客户批量下发升级节点设备指令,终端节点设备接收到升级指令后执行随机延时(即第二随机延时时间),启动客户端程序,终端节点设备从父节点设备获取升级文件并完成升级。本实施例使用路由器节点设备做为代理OTA服务端的OTA升级方法,同时使用随机延时机制避免了大批量节点设备的并发连接,从而有效解决ZigBee网络OTA升级效率低、影响ZigBee业务的问题。
随着用户需求的不断增加,最新版本的升级程序的容量也在不断变大,在其中一些实施例中,最新升级程序为最新升级镜像包程序,最新升级镜像包程序的容量大于300KB。
在本实施例中,在最新升级程序容量大于300KB的情况下,通过上述步骤S101至步骤S107,不仅提升了批量节点设备同时请求OTA升级的升级效率,且给用户带来了良好的升级体验感,解决了相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,导致升级效率低、速度慢、造成业务数据延迟的问题。
在其中一些实施例中,各路由节点接收OTA批量升级指令之前,该方法还包括如下步骤:
在当前ZigBee网络包括一个协调器的情况下,通过协调器将各节点设备加入ZigBee网络,其中,节点设备包括路由节点和终端节点中至少一种。
图4是根据本申请实施例的节点设备入网流程图,如图4所示,在其中一些实施例中,在当前节点设备没有加入其他ZigBee网络的情况下,方法还包括如下步骤:
首先,对当前ZigBee网络进行信道扫描,确定当前节点使用的最优信道;
需要说明的是,在组建ZigBee网络过程中,ZigBee网络初始化只能是由网络协调器发起的,在组建网络之前,需要判断本节点是否与其他ZigBee网络网络连接,如果节点已经与其他ZigBee网络网络连接时,此节点只能作为该ZigBee网络网络的子节点,该子节点可以是路由节点和终端节点中至少一种。在图4中,在判断节点存在其他网络ZigBee网络时,在节点为路由器的情况下,执行路由器入网流程。
指的注意的是,一个ZigBee网络中有且仅有一个ZigBee协调器。本实施例中所涉及的协调器均为ZigBee协调器,所有终端节点设备为ZigBee终端节点,所有路由节点为ZigBee路由节点设备。
具体地,对当前ZigBee网络进行信道扫描,确定当前节点使用的最优信道包括如下步骤:
在信道扫描时,对指定的信道或者默认的信道进行能量检测,以避免可能的干扰;
以递增的方式对进行到的能量值进行信道排序,保留能量值在预设能量值范围的可用信道,并对可用信道标注,换言之,抛弃那些能量值超出了可允许能量水平的信道,选择可允许能量水平的信道并标注这些信道是可用信道;
进行主动扫描,搜索节点通信半径内的网络信息;
需要说明的是,该网络信息以信标帧的形式在网络中广播,节点通过主动信道扫描方式获得这些信标帧,然后根据信标帧获取当前节点使用的最优信道,其中,最优信道存在最少的ZigBee网络,即最好是没有ZigBee设备;
另外,在主动扫描期间,MAC层将丢弃PHY层数据服务接收到的除信标以外的所有帧,以提高扫描速度。
接着,对最优信道设置网络ID,其中,网络ID为通过协调器选定的网络标识符(PANID),网络标识符的值小于0x3FFF;且网络标识符不能为广播地址0xFFFF;另外,网络标识符(PAN ID)具有唯一的地址,网络标识符(PAN ID)不仅在所使用的信道中必须是唯一的,而且也不能和其他ZigBee网络的网络标识符(PAN ID)相互冲突;
本实施例可以通过侦听其他网络的ID并择一个不会冲突的ID作为网络ID,也可以通过侦听人为的指定扫描的信道,确定不和其他网络冲突的网络标识符(PAN ID)作为网络ID,此处不做具体限定;
在网络ID设置完成时,当前节点发送连接请求命令;
协调器接收连接请求命令时,发送ACK确认帧。协调器接收连接请求命令时,发送ACK确认帧包括如下步骤:
判断当前资源是否充足;其中,当前资源为协调器可以下挂的节点设备剩余个数;
若当前资源(即协调器可以下挂的节点设备剩余个数)不充足,协调器连接设备,并发送连接失败响应;
若当前资源(即协调器可以下挂的节点设备剩余个数)充足,协调器向设备发送连接请求响应,设备向协调器发送ACK确认帧。
在一实施例中,协调器下携带的节点设备的个数大于或等于64个,本实施例中,协调器下携带的节点设备的个数大于或等于64个的情况下,通过上述步骤S101至步骤S107,本实施例把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,不仅提升了批量节点设备同时请求OTA升级的升级效率,且给用户带来了良好的升级体验感;例如,在协调器下携带的节点设备为64个的情况下,通过上述步骤S101至步骤S107,经过测试得到完成OTA批量升级的时间为30分钟左右,相较于之前升级软件包大于300KB,且64个节点升级完成需要接近一个小时左右的时间,其升级时间提高50%的效率。当然在一些其他实施例中,根据用户需求协调器下携带的节点设备的个数还是其他,此处不做具体限定,易于理解的是,协调器下携带的节点设备的个数不不同,其对应的升级时间也不同;
在一实施例中,终端节点为智能传感器设备。本实施例中,智能传感器设备包括但不限制于智能温湿度传感器、智能加速度传感器、智能光学心率传感器、智能生物电阻抗传感器、智能皮电反应传感器、气压传感器、电容传感器、霍尔传感器和环境光传感器。
需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本实施例还提供了一种基于ZigBee网络的OTA升级***,该***用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。
图5是根据本申请实施例的基于ZigBee网络的OTA升级***的结构框图,如图5所示,***包括协调器51、若干路由节点52和若干终端节点设备53;
各路由节点52,用于接收OTA批量升级指令时,设置第一随机延时时间,在到达第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
协调器51,用于接收OTA升级请求时,下发最新升级程序;
各路由节点52,还用于接收并保存最新升级程序,基于最新升级程序完成OTA升级,在各路由节点52完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
协调器51,还用于接收升级准备完成消息并上报上位机;
各终端节点设备53,用于接收到OTA批量升级指令时,设置第二随机延时时间,到达第二随机延时时间之后,发送OTA升级请求;父节点接收OTA升级请求,发送最新升级程序,其中,父节点为与该终端节点设备53相连接最近的路由节点52;
各终端节点设备53,还用于基于接收的最新升级程序完成OTA升级。
首先,本实施例通过路由器节点将协调器设备和终端节点设备连接起来,在协调器节点设备和路由器节点设备建立连接之后,每个路由器节点设备在第一随机延时时间之后,从协调器节点设备获取最新升级程序(OTA升级软件包),这样可以尽量减少大批量路由器节点设备向协调器节点获取软件升级包的并发数量,然后,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息,协调器接收升级准备完成消息并上报上位机;如此,方便用户确认路由器节点设备已经完成升级准备,进而下发节点设备的OTA批量升级指令,接着,路由器节点和终端节点设备建立连接之后,每个终端节点在第二随机延时时间之后,从路由器节点(即各父节点)获取最新的软件升级包,这样可以尽量减少大批量终端节点设备向路由器节点获取软件升级包的并发数量,即把传输最新升级程序(OTA升级软件包)的带宽占用量分散到各个路由器节点,相较于相关技术中每个节点设备都要从协调器节点下载软件升级包,占用了业务数据的带宽,与协调器之间的业务数据会严重延迟,导致用户体验效果非常差,本实施例不仅提升了批量节点设备同时请求OTA升级的升级效率,且给用户带来了良好的升级体验感,解决了相关技术中ZigBee网络的大批量节点设备同时请求OTA升级时,导致升级效率低、速度慢、造成业务数据延迟的问题。
需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。
本实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
步骤S101,各路由节点接收OTA批量升级指令时,设置第一随机延时时间,在到达第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
步骤S102,协调器接收OTA升级请求时,下发最新升级程序;
步骤S103,各路由节点接收并保存最新升级程序,基于最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
步骤S104,协调器接收升级准备完成消息并上报上位机;
步骤S105,各终端节点设备接收到OTA批量升级指令时,设置第二随机延时时间,到达第二随机延时时间之后,发送OTA升级请求;
步骤S106,父节点接收OTA升级请求,发送最新升级程序,其中,父节点为与该终端节点设备相连接最近的路由节点;
步骤S107,各终端节点设备基于接收的最新升级程序完成OTA升级。
需要说明的是,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
另外,结合上述实施例中的基于ZigBee网络的OTA升级方法,本申请实施例可提供一种存储介质来实现。该存储介质上存储有计算机程序;该计算机程序被处理器执行时实现上述实施例中的任意一种基于ZigBee网络的OTA升级方法。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端。该计算机设备包括通过***总线连接的处理器、存储器、网络接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于ZigBee网络的OTA升级方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
在一个实施例中,图6是根据本申请实施例的电子设备的内部结构示意图,如图6所示,提供了一种电子设备,该电子设备可以是服务器,其内部结构图可以如图6所示。该电子设备包括通过内部总线连接的处理器、网络接口、内存储器和非易失性存储器,其中,该非易失性存储器存储有操作***、计算机程序和数据库。处理器用于提供计算和控制能力,网络接口用于与外部的终端通过网络连接通信,内存储器用于为操作***和计算机程序的运行提供环境,计算机程序被处理器执行时以实现一种基于ZigBee网络的OTA升级方法,数据库用于存储数据。
本领域技术人员可以理解,图6中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的电子设备的限定,具体的电子设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,该计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink) DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
本领域的技术人员应该明白,以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于ZigBee网络的OTA升级方法,其特征在于,所述方法包括:
各路由节点接收OTA批量升级指令时,设置第一随机延时时间,在到达所述第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
协调器接收所述各路由节点发送的OTA升级请求时,下发最新升级程序;
各路由节点接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
所述协调器接收所述升级准备完成消息并上报上位机;
各终端节点设备接收到所述OTA批量升级指令时,设置第二随机延时时间,到达所述第二随机延时时间之后,发送OTA升级请求;
父节点接收所述各终端节点设备发送的OTA升级请求,发送所述最新升级程序,其中,所述父节点为与该终端节点设备相连接最近的路由节点;
各终端节点设备基于接收的所述最新升级程序完成OTA升级。
2.根据权利要求1所述的方法,其特征在于,所述各路由节点接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级包括:
将最新升级程序的版本与保存的升级程序的版本进行比较;
若所述保存的升级程序的版本与所述最新升级程序的版本不同,则将所述最新升级程序写入当前路由节点的存储空间,基于所述最新升级程序完成OTA升级。
3.根据权利要求1所述的方法,其特征在于,在各路由节点完成OTA升级之后,所述方法还包括:
将所述OTA服务端地址修改为对应的路由器节点地址。
4.根据权利要求1所述的方法,其特征在于,所述第一随机延时时间或所述第二随机延时时间小于240秒。
5.根据权利要求1所述的方法,其特征在于,所述最新升级程序为最新升级镜像包程序,所述最新升级镜像包程序的容量大于300KB。
6.根据权利要求1所述的方法,其特征在于,各路由节点接收OTA批量升级指令之前,所述方法还包括:
在当前ZigBee网络包括一个协调器的情况下,通过所述协调器将各节点设备加入所述ZigBee网络,其中,所述节点设备包括所述路由节点和所述终端节点中至少一种。
7.根据权利要求6所述的方法,其特征在于,在当前节点设备没有加入其他ZigBee网络的情况下,所述方法还包括:
对当前ZigBee网络进行信道扫描,确定当前节点使用的最优信道;
对所述最优信道设置网络ID,其中,所述网络ID为通过协调器选定的网络标识符,所述网络标识符的值小于0x3FFF;
在所述网络ID设置完成时,所述当前节点发送连接请求命令;
所述协调器接收连接请求命令时,发送ACK确认帧。
8.根据权利要求6所述的方法,其特征在于,所述协调器下携带的节点设备的个数大于或等于64个。
9.根据权利要求1至8中任一项所述的方法,其特征在于,所述终端节点为智能传感器设备。
10.一种基于ZigBee网络的OTA升级***,其特征在于,所述***包括协调器、若干路由节点和若干终端节点设备;
各路由节点,用于接收OTA批量升级指令时,设置第一随机延时时间,在到达所述第一随机延时时间之后,启动OTA客户端程序,发起OTA升级请求;
所述协调器,用于接收所述各路由节点发送的OTA升级请求时,下发最新升级程序;
各路由节点,还用于接收并保存所述最新升级程序,基于所述最新升级程序完成OTA升级,在各路由节点完成OTA升级之后,启动OTA服务端程序,发送升级准备完成消息;
所述协调器,还用于接收所述升级准备完成消息并上报上位机;
各终端节点设备,用于接收到所述OTA批量升级指令时,设置第二随机延时时间,到达所述第二随机延时时间之后,发送OTA升级请求;父节点接收所述各终端节点发送的OTA升级请求,发送所述最新升级程序,其中,所述父节点为与该终端节点设备相连接最近的路由节点;
各终端节点设备,还用于基于接收的所述最新升级程序完成OTA升级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210125833.5A CN114172899B (zh) | 2022-02-10 | 2022-02-10 | 基于ZigBee网络的OTA升级方法和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210125833.5A CN114172899B (zh) | 2022-02-10 | 2022-02-10 | 基于ZigBee网络的OTA升级方法和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114172899A CN114172899A (zh) | 2022-03-11 |
CN114172899B true CN114172899B (zh) | 2022-05-27 |
Family
ID=80489608
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210125833.5A Active CN114172899B (zh) | 2022-02-10 | 2022-02-10 | 基于ZigBee网络的OTA升级方法和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114172899B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494559A (zh) * | 2009-01-13 | 2009-07-29 | 中兴通讯股份有限公司 | 一种实现家庭网关升级的方法和*** |
CN107104836A (zh) * | 2017-05-04 | 2017-08-29 | 深圳市欧瑞博电子有限公司 | Zigbee设备的固件升级方法和装置 |
CN107579863A (zh) * | 2017-10-17 | 2018-01-12 | 锐捷网络股份有限公司 | 终端ota升级方法、装置及*** |
CN107589956A (zh) * | 2017-10-24 | 2018-01-16 | 杨鲲 | 一种分布式优先级镜像页ota固件升级方法及*** |
CN108664262A (zh) * | 2018-05-09 | 2018-10-16 | 顺丰科技有限公司 | 无线分拣设备的固件批量升级方法、***及存储介质 |
CN111726235A (zh) * | 2020-06-16 | 2020-09-29 | 四川九州电子科技股份有限公司 | 基于组播协议的数据通信终端自动化批量升级方法及*** |
CN112363742A (zh) * | 2020-11-03 | 2021-02-12 | 北京牛电科技有限责任公司 | 一种固件***升级方法、装置、设备及介质 |
EP3809259A1 (en) * | 2019-10-16 | 2021-04-21 | NXP USA, Inc. | Network node firmware update |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107621941A (zh) * | 2017-09-22 | 2018-01-23 | 美的智慧家居科技有限公司 | 软件升级方法、***及移动智能设备 |
US20200341747A1 (en) * | 2019-04-23 | 2020-10-29 | DriveAds Inc. | Methods for node quality control in large scale distributed systems |
CN111142905B (zh) * | 2019-12-25 | 2024-05-10 | 深圳市亿道信息股份有限公司 | 一种ota升级方法、ota服务器及ota升级*** |
-
2022
- 2022-02-10 CN CN202210125833.5A patent/CN114172899B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101494559A (zh) * | 2009-01-13 | 2009-07-29 | 中兴通讯股份有限公司 | 一种实现家庭网关升级的方法和*** |
CN107104836A (zh) * | 2017-05-04 | 2017-08-29 | 深圳市欧瑞博电子有限公司 | Zigbee设备的固件升级方法和装置 |
CN107579863A (zh) * | 2017-10-17 | 2018-01-12 | 锐捷网络股份有限公司 | 终端ota升级方法、装置及*** |
CN107589956A (zh) * | 2017-10-24 | 2018-01-16 | 杨鲲 | 一种分布式优先级镜像页ota固件升级方法及*** |
CN108664262A (zh) * | 2018-05-09 | 2018-10-16 | 顺丰科技有限公司 | 无线分拣设备的固件批量升级方法、***及存储介质 |
EP3809259A1 (en) * | 2019-10-16 | 2021-04-21 | NXP USA, Inc. | Network node firmware update |
CN111726235A (zh) * | 2020-06-16 | 2020-09-29 | 四川九州电子科技股份有限公司 | 基于组播协议的数据通信终端自动化批量升级方法及*** |
CN112363742A (zh) * | 2020-11-03 | 2021-02-12 | 北京牛电科技有限责任公司 | 一种固件***升级方法、装置、设备及介质 |
Non-Patent Citations (1)
Title |
---|
基于分布式数通设备的软件升级的设计与实现;张丰哲等;《光通信研究》;20180210(第01期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114172899A (zh) | 2022-03-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109315004B (zh) | Pdu类型的设置方法及相关实体 | |
US10856143B2 (en) | Method and apparatus for IP address assignment | |
US20200068475A1 (en) | Data Transmission Method, Electronic Device, and Computer Readable Storage Medium | |
US20220377617A1 (en) | Processing method of direct communication, processing device of direct communication, relay terminal and remote terminal | |
US11240198B2 (en) | Session management method and apparatus | |
JP2020524448A (ja) | サービス品質の制御方法及び関連装置 | |
WO2021223335A1 (zh) | 应用程序的路由选择方法及相关装置 | |
KR102327021B1 (ko) | 네트워크 슬라이스를 통한 서비스 제공 방법 및 장치 | |
CN112437456A (zh) | 一种非公共网络中的通信方法及设备 | |
CN108834198B (zh) | Mp节点进网方法、mp节点及mpp节点和介质产品 | |
US10050823B2 (en) | System and method for providing device management service to electronic device having no broadband communication module | |
CN112583910B (zh) | 物联网平台的设备接入方法、装置及电子设备和存储介质 | |
WO2019091307A1 (zh) | 通信方法和装置 | |
JP5813891B2 (ja) | インターネットアクセスモードを自動的に設定する処理方法及び処理装置 | |
US20010010061A1 (en) | Communication system, communication method, gateway apparatus, and client | |
CN113438314A (zh) | 一种设备控制方法、装置、存储介质及电子装置 | |
CN111741512A (zh) | 一种专网接入方法及装置 | |
CN113891359A (zh) | 一种数据处理方法、装置及存储介质 | |
CN114172899B (zh) | 基于ZigBee网络的OTA升级方法和*** | |
US20230216798A1 (en) | Data Steering Method and Apparatus | |
CN109981462B (zh) | 一种报文处理方法及装置 | |
CN113596119B (zh) | 边缘能力分发方法、***、设备及计算机可读存储介质 | |
CN115767531A (zh) | 蓝牙认证方法、装置、电子装置和存储介质 | |
CN105792385B (zh) | 一种基于无线局域网的通信方法及装置 | |
CN114697269A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |