用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法技术

技术编号:21146447 阅读:38 留言:0更新日期:2019-05-18 06:51
本发明专利技术公开了一种用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法,其包括下述步骤:提供该蓝牙Mesh网络中的节点群组,该节点群组的成员节点初始地包括中心节点;该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息,以通知其能够发送可用的固件升级数据;当该中心节点之外的其他节点中的一个节点接收到该OTA升级广播信息时,确定是否需要接收所述固件升级数据以进行固件升级;该节点群组中的成员节点收到需要接受OTA固件升级的广播信息时,向待升级节点进行OTA固件升级,其中在进行该OTA固件升级过程中,通过不同于蓝牙Mesh协议的其他协议进行固件升级数据的传输。本发明专利技术可大幅度提高蓝牙Mesh网络中节点的OTA固件升级速度以及安全性。

【技术实现步骤摘要】
用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法
本专利技术涉及蓝牙Mesh网络,更具体地,是一种用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法。
技术介绍
在蓝牙Mesh网络机制中具有重发次数(RetransmitCount)和重发时间间隔(RetransmitInterval)的概念。例如“RetransmitCount=2,RetransmitInterval=20ms”这一设定表示:每个包会多发两次,也就是每个数据包会发送三次;包和包之间的时间间隔是20ms,如果加上蓝牙协议本身的0至10ms随机延迟,可以认为该时间间隔是30ms。因此该情形下,发完一个数据包需要3*(20ms+10ms)=90ms。根据蓝牙Mesh协议v1.0第3.5.2.2节“分段访问消息(SegmentedAccessMessage)”,蓝牙Mesh在分包的情况下,一个数据包的有效载荷是12个字节(96比特/8)。按照每90ms发送12字节来算,不考虑丢包后需要重传的情况,吞吐率只有(12字节/90ms=0.13千字节/秒)。因此,如果一个固件的大小是1兆字节(为了计算方便,1兆字节简化为1,000,000字节),那么传输一个固件需要约1000千字节/(0.13千字节/秒)=7,692s=2.14小时。假设传输过程中不出现丢包,每传输一个1兆字节固件也需要2个小时。如果是1000个节点设备,就需要2000小时,由于耗时严重,在实际使用中用户使用这种方法进行空中(OTA,Over-the-Air)固件升级的体验会非常差。另一方面,绕过蓝牙Mesh网络安全机制对蓝牙Mesh网络中的节点进行OTA固件升级又会给整个蓝牙Mesh网络带来安全风险。因此,本领域中需要一种方案,其能够对蓝牙Mesh网络中的节点进行快速升级,且还能够通过蓝牙Mesh网络安全机制确保OTA升级过程的安全性。应理解,上述所列举的技术问题仅作为示例而非对本专利技术的限制,本专利技术并不限于同时解决上述所有技术问题的技术方案。本专利技术的技术方案可以实施为解决上述或其他技术问题中的一个或多个。
技术实现思路
本专利技术的一个目的在于解决现有的蓝牙Mesh网络中对节点进行固件升级时耗时严重、用户体验差的问题,并可避免绕过蓝牙Mesh网络安全机制对节点进行OTA升级所带来的安全风险。为达到该目的,本专利技术提供了一种用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法,其包括下述步骤:(a)提供该蓝牙Mesh网络中的节点群组,该节点群组的成员节点初始地包括中心节点;(b)该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息,以通知其能够发送可用的固件升级数据;(c)当该中心节点之外的其他节点中的一个节点接收到该OTA升级广播信息时,确定是否需要接收所述固件升级数据以进行固件升级,如果是,则将该节点确定为待升级节点,并由该待升级节点向该群组发送需要接受OTA固件升级的广播信息,如果否,则忽略该OTA升级广播信息;(d)该节点群组中的成员节点收到需要接受OTA固件升级的广播信息时,向待升级节点进行OTA固件升级,其中在进行该OTA固件升级过程中,通过不同于蓝牙Mesh协议的其他协议进行固件升级数据的传输;(e)在该待升级节点完成OTA固件升级后,将其加入所述节点群组中作为新的成员节点;及(f)重复执行步骤(c)至(e),直到完成所有待升级节点的OTA固件升级。优选地,该待升级节点向该群组发送需要接受OTA固件升级的广播信息时,将该需要接受OTA固件升级的广播信息的TTL设置为0。优选地,OTA升级广播信息包括:所述固件升级数据所对应的固件类型和固件版本号中的一个或多个。优选地,在步骤(c)中,该节点根据下列条件中的一个或多个确定是否需要接收所述固件升级数据以进行固件升级:所述固件升级数据所对应的固件类型是否与该节点的固件类型一致;以及所述固件升级数据所对应的固件版本号是否高于该节点的固件版本号。优选地,在步骤(b)中,该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息的发送频率在预定的时间间隔后减小。优选地,不同于蓝牙Mesh协议的其他协议支持的吞吐率高于蓝牙Mesh协议支持的吞吐率。优选地,不同于蓝牙Mesh协议的其他协议为Wi-Fi协议。优选地,所述不同于蓝牙Mesh协议的其他协议为低功耗蓝牙协议。优选地,在步骤(d)中,向待升级节点进行OTA固件升级包括:成员节点将所述固件升级数据分割成多个数据包并向待升级节点传输所述多个数据包;待升级节点向成员节点发送与所述多个数据包中由待升级节点接收到的一个或多个数据包相对应的一个ACK包;及,所述成员节点根据所述ACK包向待升级节点重新发送所述多个数据包中未由待升级节点接收到的数据包。优选地,在步骤(d)中,成员节点选择信号强度RSSI最强的一个或多个待升级节点以向其发起OTA固件升级。优选地,在步骤(d)中,如果多个成员节点向一个待升级节点发起OTA固件升级,则该待升级节点选择所述多个成员节点中信号强度RSSI最强的成员节点作出OTA固件升级响应,以由该成员节点向该待升级节点进行OTA固件升级。通过本专利技术,可大幅度提高蓝牙Mesh网络中节点的OTA固件升级速度,并通过蓝牙Mesh安全机制确保节点OTA固件升级的安全性。附图说明图1示出本专利技术的流程示意图;图2示出应用本专利技术时,节点对发起的OTA固件升级进行响应的操作流程示意图;图3示出应用本专利技术时,发送固件的操作流程示意图。具体实施方式以下将结合附图和具体的实施方式,对本专利技术的方法进行详细说明。应理解,附图所示以及下文所述的实施例仅仅是说明性的,而不作为对本专利技术的限制。如图1所示,本专利技术的用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法,其包括下述步骤。在步骤102中,提供该蓝牙Mesh网络中的节点群组,该节点群组的成员节点初始地包括中心节点。即首先在蓝牙Mesh网络中,会有一个节点首先充当中心节点以发起固件升级过程。例如,在智能家居使用场景中,用户可以通过智能手机下载最新固件,该智能手机即为初始的中心节点。应理解,中心节点可以是蓝牙Mesh网络中的任一节点,且可以是具有OTA固件升级能力的任何设备,而不限于手机。在步骤104中,该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息,以通知其能够发送可用的固件升级数据。在本专利技术的一个实施方式中,OTA升级广播信息包括:所述固件升级数据所对应的固件类型和固件版本号中的一个或多个。优选地,在该步骤中,该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息的发送频率在预定的时间间隔后减小。这是因为,在发送OTA升级广播的初期,为确保整个蓝牙Mesh网络中的所有节点都可以收到该广播信息,可以设定较高的发送频率以及较大的TTL值,而当过去预定的时间间隔后,随着节点群组的扩大,则可逐渐地减小发送频率以减少信号干扰。在作为非限制性实施例的实际应用中,OTA升级广播信息使用的是蓝牙Mesh的消息格式,目标地址为0xFFFF。0xFFFF是一个群组地址(GroupAddress),蓝牙Mesh网络中的所有的节点都可以接收到发往该地址的消息,由于不同的蓝牙Mesh网络使用了不同的网络密钥,所以不本文档来自技高网
...

【技术保护点】
1.一种用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法,其特征在于,所述方法包括下述步骤:(a)提供该蓝牙Mesh网络中的节点群组,该节点群组的成员节点初始地包括中心节点;(b)该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息,以通知其能够发送可用的固件升级数据;(c)当该中心节点之外的其他节点中的一个节点接收到该OTA升级广播信息时,确定是否需要接收所述固件升级数据以进行固件升级,如果是,则将该节点确定为待升级节点,并由该待升级节点向该群组发送需要接受OTA固件升级的广播信息,如果否,则忽略该OTA升级广播信息;(d)该节点群组中的成员节点收到需要接受OTA固件升级的广播信息时,向待升级节点进行OTA固件升级,其中在进行该OTA固件升级过程中,通过不同于蓝牙Mesh协议的其他协议进行固件升级数据的传输;(e)在该待升级节点完成OTA固件升级后,将其加入所述节点群组中作为新的成员节点;及(f)重复执行步骤(c)至(e),直到完成所有待升级节点的OTA固件升级。

【技术特征摘要】
1.一种用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法,其特征在于,所述方法包括下述步骤:(a)提供该蓝牙Mesh网络中的节点群组,该节点群组的成员节点初始地包括中心节点;(b)该中心节点向蓝牙Mesh网络中的所有节点发送OTA升级广播信息,以通知其能够发送可用的固件升级数据;(c)当该中心节点之外的其他节点中的一个节点接收到该OTA升级广播信息时,确定是否需要接收所述固件升级数据以进行固件升级,如果是,则将该节点确定为待升级节点,并由该待升级节点向该群组发送需要接受OTA固件升级的广播信息,如果否,则忽略该OTA升级广播信息;(d)该节点群组中的成员节点收到需要接受OTA固件升级的广播信息时,向待升级节点进行OTA固件升级,其中在进行该OTA固件升级过程中,通过不同于蓝牙Mesh协议的其他协议进行固件升级数据的传输;(e)在该待升级节点完成OTA固件升级后,将其加入所述节点群组中作为新的成员节点;及(f)重复执行步骤(c)至(e),直到完成所有待升级节点的OTA固件升级。2.根据权利要求1所述的方法,其特征在于,该待升级节点向该群组发送需要接受OTA固件升级的广播信息时,将该需要接受OTA固件升级的广播信息的TTL设置为0。3.根据权利要求1所述的方法,其特征在于,所述OTA升级广播信息包括:所述固件升级数据所对应的固件类型和固件版本号中的一个或多个。4.根据权利要求3所述的方法,其特征在于,在步骤(c)中,该节点根据下列条件中的一个或多个确定是否需要接收所述固件升级数据以进行固件升级:所述固件升级数据...

【专利技术属性】
技术研发人员:不公告发明人
申请(专利权)人:乐鑫信息科技上海股份有限公司
类型:发明
国别省市:上海,31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1