CN114245319A - 基于蓝牙Mesh的增强广播并发式OTA固件升级方法 - Google Patents

基于蓝牙Mesh的增强广播并发式OTA固件升级方法 Download PDF

Info

Publication number
CN114245319A
CN114245319A CN202111466448.9A CN202111466448A CN114245319A CN 114245319 A CN114245319 A CN 114245319A CN 202111466448 A CN202111466448 A CN 202111466448A CN 114245319 A CN114245319 A CN 114245319A
Authority
CN
China
Prior art keywords
upgrading
ota
ota firmware
node
bluetooth mesh
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.)
Granted
Application number
CN202111466448.9A
Other languages
English (en)
Other versions
CN114245319B (zh
Inventor
林春勃
伏家杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Sili Microelectronics Technology Co ltd
Original Assignee
Nanjing Sili Microelectronics Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Sili Microelectronics Technology Co ltd filed Critical Nanjing Sili Microelectronics Technology Co ltd
Priority to CN202111466448.9A priority Critical patent/CN114245319B/zh
Publication of CN114245319A publication Critical patent/CN114245319A/zh
Priority to US18/071,823 priority patent/US20230179668A1/en
Application granted granted Critical
Publication of CN114245319B publication Critical patent/CN114245319B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/06Selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS]; Services to user groups; One-way selective calling services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements 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/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1867Arrangements specially adapted for the transmitter end
    • H04L1/1887Scheduling and prioritising arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/04Error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W84/00Network topologies
    • H04W84/18Self-organising networks, e.g. ad-hoc networks or sensor networks

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)
  • Multimedia (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

本发明提供一种基于蓝牙Mesh的增强广播并发式OTA固件升级方法,包括以下步骤:将蓝牙Mesh网络中满足预设条件的节点创建成组;在所述组中选取根源节点,对所述根源节点进行OTA固件升级;所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包;所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息;所述根源节点基于所述OTA固件升级状态信息来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法基于蓝牙Mesh网络采用后台静默方式对网络节点进行OTA固件升级,不影响应用程序运行,极大地降低了节点停机时产生的风险。

Description

基于蓝牙Mesh的增强广播并发式OTA固件升级方法
技术领域
本发明涉及空中下载技术(Over the Air,OTA)固件升级的技术领域,特别是涉及一种基于蓝牙Mesh的增强广播并发式OTA固件升级方法。
背景技术
OTA是一项基于短消息机制,通过手机终端或服务器(网上)方式实现SIM卡内业务菜单的动态下载、删除与更新,使用户获取个性化信息服务的数据增值业务,是通过移动通信的空中接口对SIM卡数据及应用进行远程管理的技术。OTA技术的应用,使得移动通信不仅可以提供语音和数据服务,而且还能提供新业务下载。
OTA升级功能能够在线检测有无新***可以升级,并通过WiFi无线网络或者手机移动网络下载***升级包完成升级。
如公开号为CN110855496A的中国发明专利公开了一种基于SIG MESH的OTA升级方法,包括以下步骤:OTA client发起升级开始的同步命令;OTA server收到同步命令后,判断自己是否需要升级,如果需要升级则切换到升级模式;OTA client在发起同步命令后延时一段时间开始发送固件;OTA server接收固件;OTA server判断升级是否完成,如果完成,则向OTA client发送升级成功信息;如果出现丢包,则向OTA client申请差分重传;所有OTA server升级完成后,结束升级过程。然而,该方法中具有以下不足:1)网络层OTALayer开发和实现较为简单,无法满足mesh协议的一致性,具有协议冲突的潜在风险;其中网络层OTA Layer仅具有网络层级别加密,对于mesh网络来说无法采用应用层加密,安全性降低;2)所采用的差分重传方式出错容易造成OTA固件升级崩溃,吞吐量反而降低。
再如公开号为CN110365510A的中国发明专利公开了一种可对网络节点批量OTA升级的物联网网关。该发明增加批量升级的网关,通过网关协调各个节点的升级行为来对网络节点进行批量升级。然而,该方式具有以下不足:1)仅记载了网关去从远端服务器查询获取升级文件,没有具体说明用何种方式通过网关完成节点升级;2)对于轻量级的蓝牙mesh网络来说,增加网关会增加整体的成本和网络复杂度。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于蓝牙Mesh的增强广播并发式OTA固件升级方法,基于蓝牙Mesh网络采用后台静默方式对网络节点进行OTA固件升级,不影响应用程序运行,极大地降低了节点停机时产生的风险。
为实现上述目的及其他相关目的,本发明提供一种基于蓝牙Mesh的增强广播并发式OTA固件升级方法,包括以下步骤:将蓝牙Mesh网络中满足预设条件的节点创建成组;在所述组中选取根源节点,对所述根源节点进行OTA固件升级;所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包;所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息;所述根源节点基于所述OTA固件升级状态信息来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
于本发明一实施例中,所述根源节点处于网络的中心位置,且能够与其他节点直接通信。
于本发明一实施例中,当重新分发所述OTA固件升级数据包时,所述根源节点向所述组中的所有节点分发OTA固件升级数据包;当响应重传丢失数据包请求时,所述根源节点根据优先级顺序对所述组中未完成升级的目标节点进行丢失数据包重传。
于本发明一实施例中,根据未完成升级的目标节点的丢失OTA固件升级数据包的数量来确定优先级,其中丢失的数量越少,优先级越高。
于本发明一实施例中,将满足预设条件的节点创建成组包括:将具有相同制造商标识符和相同产品标识符的节点加入到相同的组地址中;所述组地址采用组播地址或虚拟地址。
于本发明一实施例中,对所述根源节点进行OTA固件升级包括:
利用移动终端设备对所述根源节点进行OTA固件升级。
于本发明一实施例中,对所述根源节点进行OTA固件升级包括:
按照预设周期向OTA固件升级网址请求OTA固件升级数据,并基于网络传输方式获取OTA固件升级数据以对所述根源节点进行OTA固件升级。
于本发明一实施例中,所述移动终端设备作为启动节点获取所述根源节点的OTA固件升级参数,并根据所述根源节点返回的消息确定是否进行OTA固件升级操作以及确定是执行OTA固件整体升级还是分段式升级。
于本发明一实施例中,所述分段式升级包括:蓝牙Mesh固件被分为多个部分,每部分具有标识信息和版本信息;
所述启动节点通过比较所述根源节点的固件的标识信息和版本信息,来选择性地完成部分固件升级。
于本发明一实施例中,所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包包括以下步骤:
所述根源节点通过组播的方式多次向组中发布更新开始指令,以通知所述未完成升级的目标节点准备升级;
所述根源节点向未完成升级的目标节点发送OTA固件升级数据包,并在结束时发送更新结束指令,以向目标节点通知发送完毕。
于本发明一实施例中,所述OTA固件升级数据包采用物理层扩展为255个字节的广播报文,以提高吞吐量,缩短升级时间;其中所述扩展的广播报文兼容蓝牙Mesh协议。
于本发明一实施例中,所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息包括以下步骤:
当所述根源节点分发OTA固件升级数据包完毕后,所述未完成升级的目标节点向所述根源节点发送包含自身节点的OTA固件升级状态信息的消息,直至所述根源节点向所述未完成升级的目标节点发送接收成功响应信息。
于本发明一实施例中,所述根源节点按照预设周期统计各个未完成升级的目标节点的OTA固件升级状态信息;对于未统计到OTA固件升级状态信息的未完成升级的目标节点,所述根源节点向其发送获取指令以获取所述未统计到的目标节点的固件OTA升级状态信息。
于本发明一实施例中,所述根源节点基于所述OTA固件升级状态信息判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求包括以下步骤:
所述根源节点根据所述组中升级成功的节点数量和进行OTA固件升级的全部节点数量的比值,获取当前OTA固件升级成功率;
根据升级成功率的大小来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
于本发明一实施例中,所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
所述未完成升级的目标节点计算所述根源节点到达自身的RSSI;
根据所述RSSI来调节所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间。
于本发明一实施例中,若第二RSSI阈值≤RSSI≤第一RSSI阈值,所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为预设值不变;
若RSSI>第一RSSI阈值,增加所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间;
若RSSI<第二RSSI阈值,减小所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间。
于本发明一实施例中,所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
根据TTL来调整广播间隔时间,如果TTL<TTL阈值,则所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为最小值,否则,广播间隔时间为预设值不变。
于本发明一实施例中,还包括:
当所述未完成升级的目标节点丢失的OTA固件升级数据包数量小于预设数量时,所述未完成升级的目标节点每次向蓝牙Mesh网络发送一个请求重传丢失数据指令,以请求对一个OTA固件升级数据包的重传;作为响应,所述根源节点发送包括重传的一个OTA固件升级数据包的数据;
当所述未完成升级的目标节点丢失的OTA固件升级数据包数量大于所述预设数量时,所述未完成升级的目标节点向蓝牙Mesh网络发送表示丢失的OTA固件升级数据包的索引消息,作为响应,所述根源节点开启突发传输,连续向所述未完成升级的目标节点发送包含重传数据包的数据。
于本发明一实施例中,所述突发传输包括:
所述未完成升级的目标节点将所有OTA固件升级数据包分组;
所述根源节点通过查找所述组的值来判断哪些组中有需要要重传的数据包,其中包含需要重传的OTA固件升级数据包的组的值用第一值表示,不包括需要重传的OTA固件升级数据包的组的值用第二值表示;
在包含需要重传OTA固件升级数据包的组中查找需要重传的OTA固件升级数据包;
所述根源节点在找到所有需要重传的OTA固件升级数据包后连续向所述未完成升级的目标节点发送所需数据。
于本发明一实施例中,还包括所述未完成的升级目标节点完成OTA固件升级之后转换为已完成的升级目标节点;所述已完成升级的目标节点向所述根据节点发送OTA固件升级状态信息后转换为次级源节点,用于响应其他节点OTA固件升级请求。
于本发明一实施例中,所述根源节点和所述未完成升级的目标节点在获取OTA固件升级数据后,采用后台静默的方式完成OTA固件升级。
如上所述,本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,具有以下有益效果:
(1)基于蓝牙Mesh网络采用静默的广播并发方式对网络节点进行OTA固件升级,解决了直接升级带来的宕机风险;不影响应用程序运行,很大程度上降低了节点停机时产生的风险,能够快速、安全、可靠地实现完成蓝牙SIG Mesh网络中的所有设备固件的OTA固件升级;
(2)建立了专有的OTA固件更新模型,该模型定义了蓝牙Mesh网络OTA的状态、角色、行为及流程规范,使得OTA更新操作更具有一致性;同时Model层具有蓝牙Mesh网络的双层加密,提高了OTA更新的安全性;
(3)在OTA固件更新模型的基础上设计了固件分段式升级方法、含优先级重传申请调度算法、重传索引标记算法、重传突发传输方法等,有效增强***的鲁棒性与抗干扰能力,提高OTA更新的成功率;
(4)在物理层上将广播报文载荷扩展至255个字节,扩展后的广播报文兼容蓝牙Mesh协议栈不同协议层的帧格式以及符合Mesh安全性规范,且在不破坏原有协议基础上还可以利用蓝牙Mesh网络强大的特性;同时由于单个广播报文载荷长度增加,OTA固件更新的吞吐率也得以大幅提升并且可以有效降低广播包之间干扰。
附图说明
图1显示为本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法于一实施例中的流程图;
图2显示为本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法于一实施例中的框架示意图;
图3显示为本发明的OTA固件于一实施例中的结构示意图;
图4显示为本发明的扩展的广播报文于一实施例中的结构示意图;
图5显示为本发明的数据大块指示图和数据块指示图于一实施例中的关系示意图。
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
当设备通过OTA方式进行固件更新时,如果不能对数据提供强有力的安全性保护,空中数据很容易被入侵者窃取和篡改,升级过程极有可能失败,更严重会导致的设备被攻击者劫持产生灾难性后果。蓝牙Mesh网络中强制采用安全性特性,以防止在应用程序中使用不安全的网络。添加到网络的每个设备都必须为所有网络、应用程序和设备管理操作提供安全密钥,并且在蓝牙Mesh网络中发送的每个数据包都必须经过身份验证、加密和混淆。蓝牙Mesh网络使用双层安全模型,即网络层安全性和应用层安全性。网络层安全用于验证和加密蓝牙Mesh网络内的所有通信以及参与该网络的所有节点。应用层安全性用于对所有应用层通信进行身份验证和加密。蓝牙Mesh网络强大的安全体系可以抵御各种形式的入侵者攻击,因此采用蓝牙Mesh协议的OTA固件升级可以确保数据安全地在网络中传递。
本发明在蓝牙Mesh协议基础上遵循蓝牙Mesh模型规范建立OTA固件更新模型(OTAupdate model),采用广播分发数据的方式实现网络中节点的并发式升级。由于OTA updatemodel处于蓝牙Mesh网络协议架构的顶层,因此可以利用蓝牙Mesh网络层和应用层的安全特性提供安全保障,无需额外开发新的安全技术。
另外,本发明扩展了蓝牙Mesh 1.0协议中广播包的有效载荷,因此需要分析和论证扩展后的广播包能否兼容原有的Mesh安全特性。对于扩展广播包后蓝牙Mesh网络的安全特性分析主要有以下两个方面:
第一、安全体系:由于扩展后的广播报文仅用于OTA update model的未分段数据消息传输,OTA update model的控制消息仍然采用原有的报文格式,因此扩展之后并不会影响蓝牙mesh网络的密钥生成、分发及密钥更新等安全规程与算法,对原有的安全特性方案仍满足兼容要求;
第二,数据认证和加密:蓝牙Mesh协议栈中采用的两项关键的安全功能是AES-CMAC和AES-CCM,它们是基本的加密和认证功能,蓝牙Mesh网络中所有用于密钥生成以及数据认证加密都是基于上述两者。上述算法对输入数据的长度并无限制,即使对于扩展了OTA固件升级广播数据长度的数据包,其也能够提供同等强度的安全加密和认证保护。
AES-CMAC是基于密码的消息认证码(CMAC)一种算法,能够生成固定长度的128位消息认证值,并将其用于任何变量长度输入。使用AES-CMAC算法生成消息认证码MAC的公式为:MAC=AES-CMACk(m),其中,输入参数k为128位的密钥,m为将被认证的可变长度数据;输出参数MAC为的128位消息认证值。
AES-CCM是一种通用的、认证的加密算法,使用时需要加密块密码。在蓝牙Mesh规格中,AES-CCM在所有情况下都能被用作基本的加密和认证功能,其使用公式如下:密文,MIC=AES-CCMk(n,m),其中,输入参数k为128位的密钥,n为104位的随机数,m为将被加密和认证的可变长度数据;输出参数为密文为加密后的可变长度数据,MIC为消息完整性检查值。
本发明的基于蓝牙Mesh的OTA固件更新模型包括以下内容:
1.OTA固件更新状态(OTA Update States),包括以下信息:
1.1固件信息(Firmware Information),其消息结构如下:
Figure BDA0003391719240000071
1.2固件处理状态(Firmware Process Status),其消息结构如下:
值value 描述
0x00 未升级完成
0x01~0x09 升级完成节点百分比
0x0A 全部升级完成
0xFF 状态未知
0x0B~0xFE 禁用
2.OTA更新信息(OTA Update Messages)
2.1获取固件信息指令(OTA Update information Get),用于获取节点的当前固件信息,响应是固件信息状态应答(OTA Update information Status)消息。此消息没有参数。
2.2 OTA Update information Status,用于报告节点的当前固件信息,其消息结构如下:
Figure BDA0003391719240000081
Figure BDA0003391719240000091
2.3获取更新状态信息指令(OTA Update Complete Get),用于获取节点的升级状态信息,响应是OTA Update Complete Status消息。此消息没有参数。
2.4更新状态信息应答(OTA Update Complete Status),用于报告节点当前OTA固件升级状态信息,其消息结构如下:
Figure BDA0003391719240000092
2.5通知更新完成信息指令(OTA Update Complete Set),用于设置节点升级完成状态信息,响应是通用指令状态应答(OTA Update Generic Status)消息,其消息结构如下:
Figure BDA0003391719240000093
Figure BDA0003391719240000101
2.6宣告更新开始指令(OTA Update Start Unacknowledged),用于向节点宣告开始OTA Update,并告知OTA Update相关参数,其消息结构如下:
Figure BDA0003391719240000102
Figure BDA0003391719240000111
2.7宣告更新结束指令(OTA Update End Unacknowledged),用于宣告广播分发式OTA固件升级结束。
2.8中止更新进程指令(OTA Update Abort or Cancel Set),用于中止整个网络或某个节点的OTA固件升级过程,响应是OTA Update Generic Status消息,其消息结构如下:
Figure BDA0003391719240000112
2.9固件数据传输指令(OTA Update Block Transfer Unacknowledged),用于向网络中单播节点或者组播节点传递固件数据,其消息结构如下:
Figure BDA0003391719240000113
Figure BDA0003391719240000121
2.10请求重传丢失数据指令(OTA Update Missing Block Get),用于请求丢失的Block。响应是OTA Update Block Status消息,其消息结构如下:
Figure BDA0003391719240000122
2.11重传丢失数据状态应答(OTA Update Missing Block Status),用于响应重传丢失数据应答(OTA Update Missing Block Get),其消息结构如下:
Figure BDA0003391719240000123
2.12请求重传丢失数据指示图指令(OTA Update Missing Block Map Get),用于请求丢失的Block,响应是OTA Update Generic Status消息,其消息结构如下:
Figure BDA0003391719240000124
Figure BDA0003391719240000131
2.13开始突发传输丢失数据指令(OTA Update Burst Transfer Start),用于开始missing Block突发传输,响应是丢失数据突发传输状态应答(OTA Update BurstTransfer Status)消息,其消息结构如下:
Figure BDA0003391719240000132
2.14结束突发传输丢失数据指令(OTA Update Burst Transfer End),用于结束missing Block突发传输,响应是OTA Update Burst Transfer Status消息。此消息没有参数。
2.15 OTA Update Burst Transfer Status,用于响应Burst Transfer消息,其消息结构如下:
Figure BDA0003391719240000133
Figure BDA0003391719240000141
2.16 OTA Update Generic Status,用于返回OTA Update消息操作状态,其消息结构如下:
Figure BDA0003391719240000142
3.模型定义(Models definitions),角色到模型的映射关系如下:
Figure BDA0003391719240000143
3.1 OTA Update Server,结构如下:
Figure BDA0003391719240000144
Figure BDA0003391719240000151
3.2 OTA Update Client,结构定义如下:
Figure BDA0003391719240000152
Figure BDA0003391719240000161
4.操作码总结summary of opcodes,具体如下:
Figure BDA0003391719240000162
Figure BDA0003391719240000171
如图1和图2所示,于一实施例中,本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法包括以下步骤:
步骤S1、将蓝牙Mesh网络中满足预设条件的节点创建成组。
具体地,配置者Provisioner分别对所有的蓝牙Mesh设备进行配置(provision)入网操作。Provisioner将满足预设条件的节点创建成组,一起进行OTA固件升级。Provisioner为未配置的蓝牙Mesh设备提供允许其成为蓝牙Mesh网络中的节点的配置数据,包括一个网络密钥(network key)、当前初始向量索引IV Index、每个元素的单播地址。其中,Provisioner将具有相同制造商标识符(CID)和相同产品标识符(PID)的节点加入到相同的组地址中,从而有助于寻址使用相同组地址订阅OTA固件升级的节点。由于组播地址数量有限,为了防止与其他厂商所使用的组地址冲突,还可以采用虚拟地址代替组播地址。
步骤S2、在所述组中选取根源节点,对所述根源节点进行OTA固件升级。
根源节点(Root Source Node,RSN)用于作为蓝牙Mesh网络OTA固件升级的发起者。RSN应选取布置在蓝牙Mesh网络中的中心位置、且具有完整功能特性的Mesh节点,其能够与其他节点直接通信。采用以上原则选取的RSN优点在于:对网络中其他节点不具有“隐藏”效应;尽可能减少节点中继(relay)的跳数,从而提高报文送达的成功率,减少冲突与干扰。此外,RSN还具有处理和响应其他节点OTA请求报文以及控制和管理Mesh OTA固件升级的功能。
具体地,当所述根源节点具有蓝牙网关功能时,对所述根源节点进行OTA固件升级采用以下任一方式:
21)所述根源节点基于移动终端设备利用BLE GATT(Generic Attributeprofile,通用属性配置文件)连接的方式进行OTA固件升级。其中,所述移动终端设备作为启动节点向所述根源节点发送OTA Update information Get消息以获取所述根源节点的OTA固件升级参数,所述根源节点向所述启动节点返回OTA Update information Status消息,所述启动节点根据所述OTA Update information Status消息确定是否进行OTA固件升级操作以及以及确定是执行OTA固件整体升级还是分段式升级。当确定所述根源节点需要OTA固件升级时,所述启动节点与所述根源节点建立连接,通过GATT的方式一对一将OTA固件升级数据发送至所述根源节点。所述根源节点根据所述OTA固件升级数据后,进行解密和校验,完成OTA固件升级。
其中,向所述根源节点分发OTA固件升级数据时,采用分段式固件升级技术。具体地,蓝牙Mesh固件包含低功耗蓝牙协议栈、蓝牙Mesh协议栈以及应用程序等部分,通常加起来大小达数百千字节。一般情况下,只修改应用程序部分,大部分的固件功能没有变化。如果每次都通过OTA方式全部进行升级,则耗费的时间和资源相当巨大。故需要对固件拆分分类实现分段式固件升级。如图3所示,将蓝牙Mesh固件分成了4个部分,即高Mesh层(HighMesh Layer)、中Mesh层(Middle Mesh Layer)、低Mesh层(Low Mesh Layer)和蓝牙FW层(BLE FW Layer)这四部分,每部分具有标识信息和版本信息。在进行OTA更新时只要比较固件的信息选择性的完成部分固件更新。
22)所述根源节点按照预设周期向OTA固件升级网址请求OTA固件升级数据,并基于网络传输方式获取OTA固件升级数据以完成OTA固件升级。
步骤S3、所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包。
具体地,所述根源节点完成OTA更新后,使用扩展的广播报文向蓝牙Mesh网络中的组播地址或虚拟地址分发OTA固件升级数据。所述组播地址或所述虚拟地址中具有同一制造商并具有相同产品标识符的节点,所述节点通过组地址订阅方式接收所述根源节点分发的OTA固件升级数据。
未完成升级的目标节点(Old Target Node,OTN)是指网络中需要进行OTA固件升级但是还未完成升级的节点。OTN采用订阅的方式接收网络中标识为新的OTA固件升级数据报文,直到完成升级操作。所述未完成升级的目标节点还会向所述根源节点或具有所述根源节点功能节点发送OTA_RESENT_REQ报文。
于本发明一实施例中,所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包包括以下步骤:
31)所述根源节点通过组播的方式多次向组中发布更新开始指令,以通知所述未完成升级的目标节点准备升级。其中,所述根源节点通过组播的方式向蓝牙Mesh网络中发布OTA Update Start Unacknowledged消息,以向所述未完成升级的目标节点发送OTA固件升级参数和OTA固件升级提醒。为了确保网络中节点都收到上述消息,所述根源节点将多次向网络中多次发送OTA Update Start Unacknowledged消息,具体发送的频率以及数量需要根据蓝牙Mesh网络中节点密度和网络拓扑调整。
对于一个小型的仅仅含有数十个节点的蓝牙Mesh网络升级,采用GATT连接的方式逐个对它们更新升级所耗费的时间尚处于可接受范围。连接的方式优势在于数据传输更加可靠,但是对于一个包含有数百个节点的中大型蓝牙Mesh网络,由于网络中节点数量多,采用串行逐个升级方式所耗费时间更加漫长。此外由于功耗限制,网络中可能存在不具有连接功能的非完整功能节点,且连接方式无法使用蓝牙Mesh的特性,这样会导致出现升级盲点,无法完成整个网络升级。为了解决这个问题,我们采用广播的方式进行并发式OTA固件升级,广播升级方式兼容蓝牙Mesh网络协议,利用Mesh relay等特性,报文可以很快传输到达网络中的所有设备,这种方法比将整个固件单独传递给每个设备要快得多。
32)所述根源节点向未完成升级的目标节点发送OTA固件升级数据包,并在结束时发送更新结束指令,以向目标节点通知发送完毕。其中,所述根源节点发布OTA UpdateBlock Transfer Unacknowledged消息以向蓝牙Mesh网络中的未完成升级的目标节点发送OTA固件升级数据。所述未完成升级的目标节点使用应用程序密钥对所述OTA固件升级数据进行解密和验证,判断所述OTA固件升级数据是否指向所述未完成升级的目标节点的组地址,若是,则接收所述OTA固件升级数据,直至接收到所述根源节点发布的OTA Update EndUnacknowledged消息以表明OTA固件升级数据发布完毕。
所述OTA Update Block Transfer Unacknowledged消息采用扩展为255个字节的广播报文,以提高吞吐量,缩短升级时间;所述扩展的广播报文兼容蓝牙Mesh协议栈不同协议层的帧格式。由于所述根源节点采用的是无应答方式向网络中节点传输二进制的OTA固件升级数据,传输过程中可能出现丢失现象。为了最大程度地提高传输的可靠性,所述根源节点在增加每一组广播报文发送的数量、减少广播报文发送的间隔、增加整个OTA固件升级数据传输的轮数三个方面考虑。由于蓝牙Mesh网络节点具有中继功能,频繁的发送消息可能会导致网络泛洪,降低传输效率,因此所述根源节点发送OTA固件升级数据的参数调整需要根据节点密度、节点跨度、网络拓扑等方面进行折中处理。
蓝牙Mesh网络使用蓝牙4.0物理层和链路层进行通信,这意味着蓝牙Mesh网络可以通过在任何符合蓝牙4.0低功耗标准的无线电之上添加必要的软件层来实现。蓝牙4.0的广播包最大只能承载31Bytes的有效数据,并且除去蓝牙Mesh协议中的各层协议报文头,剩下的有效载荷只有十几个字节,对于需要较大吞吐量的应用会显得力不从心。通常蓝牙Mesh网络中OTA固件升级数据往往达上百千字节,使用蓝牙4.0的广播分发数据会造成严重的数据分段,无线网络会变得非常拥堵,较低的吞吐量也会极大的影响设备固件升级的时间。
蓝牙SIG组织于2017年发布基于蓝牙4.0的mesh 1.0版本,目前蓝牙协议已经发展到5.0世代,越来越多的新特性被加入,基于蓝牙4.0的mesh协议已经越来越难以满足新的应用需求。为了改善和解决当前蓝牙Mesh网络的OTA固件升级问题,并且还需要充分利用蓝牙Mesh协议的特性以及与现有蓝牙Mesh设备操作兼容。因此,本发明将蓝牙4.0中广播物理信道数据包有效载荷长度从31Bytes扩充到249Bytes,同时保留了协议中原有的广播物理信道数据包,因此可以兼容蓝牙Mesh1.0协议,数据吞吐量提升了8倍,降低了网络泛洪带来的无线干扰,提高了蓝牙Mesh网络的OTA固件升级速度。
由于蓝牙Mesh网络协议栈中不同分层的报文具有不同的数据格式,当对物理层的广播报文载荷扩充后,势必会对上层的数据格式和处理流程带来的影响。如果这种影响与蓝牙Mesh网络协议不兼容,无法利用蓝牙Mesh协议提供的强大功能而仅仅换取性能上的提升,那么对物理层广播报文的扩充便会变得得不偿失。具体地,扩展的广播报文的结构如图4所示。由图可知,物理层广播报文得以扩展后仍然可以兼容原有协议规范并且网络性能和功能得以进一步增强。
步骤S4、所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息。
具体地,所述根源节点发布OTA固件升级数据结束后,所述未完成升级的目标节点开始向所述根源节点发送包含自身节点的OTA固件升级状态信息的消息。所述根源节点统计组地址中节点的OTA固件升级状信息;对于没有统计到的节点,会轮流向其发出查询消息,节点收到后将自身的OTA固件升级状态信息响应至所述根源节点,直至所述根源节点向所述未完成升级的目标节点发送接收成功响应信息。
其中,所述根源节点发布表明OTA固件升级数据发布完毕的OTA Update EndUnacknowledged消息,所述未完成升级的目标节点接收到所述OTA Update EndUnacknowledged消息后向所述根源节点发送表明更新完成的OTA Update Complete Set消息,所述OTA Update Complete Set消息包含OTA固件升级状态信息,所述根源节点向所述未完成升级目标发送接收成功响应信息,所述未完成升级的目标节点停止发送所述OTAUpdate Complete Set消息。
所述根源节点按照预设周期统计各个未完成升级的目标节点的OTA固件升级状态信息;对于未统计到OTA固件升级状态信息的未完成升级的目标节点,通过单播方式向发送OTA Update Complete Get消息,主动询问节点的升级状态,节点在收到消息后需要立即响应自身的固件OTA升级状态信息至所述根源节点。
步骤S5、所述根源节点基于所述OTA固件升级状态信息来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
具体地,所述根源节点完成组地址内所有节点的升级状态统计后,根据统计得到的节点升级状态决定重新分发所述OTA固件升级数据或响应重传丢失数据包请求。
于本发明一实施例中,所述根源节点基于所述OTA固件升级状态信息来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求包括以下步骤:
51)所述根源节点根据所述组中升级成功的节点数量和进行OTA固件升级的全部节点数量的比值,获取当前OTA固件升级成功率Rate。
52)所述根源节点根据升级成功率的大小来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
具体地,所述根源节点预先设置OTA固件升级成功率的阈值T。当Rate<T时,表明此时网络OTA更新状况良好,判定重新分发所述OTA固件升级数据。当Rate≥T时,表明此时网络OTA更新状况很差,判定响应重传丢失数据包请求。
当重新分发所述OTA固件升级数据时,所述根源节点向所述组中的未完成升级的目标节点分发OTA固件升级数据;当响应重传丢失数据包请求时,所述根源节点根据优先级顺序对所述组中未完成升级的目标节点进行丢失数据包重传。
具体地,所述未完成升级的目标节点采用组播的方式向网络中发布重传丢失数据包(Block)请求(可能是数据包突发重传请求也可能是数据包单个重传请求),所述根源节点会根据收到的所述未完成升级的目标节点发送的重传丢失数据包请求中的相关参数,迅速仲裁出当前优先级最高的待升级节点,然后利用OTA Update Model中定义的消息完成数据重传流程。
当蓝牙Mesh网络中所有的未完成升级的目标节点集中频繁的向根源节点发送重传丢失数据包请求,这样会造成无线射频冲突。加之根源节点的处理能力限制以及缓存空间有限,会导致根源节点无法处理任何重传丢失数据包请求,因此需要通过算法合理地控制各个未完成升级的目标节点发送重传丢失数据包请求。
于本发明一实施例中,根据未完成升级的目标节点的丢失OTA固件升级数据包的数量来确定优先级,其中丢失的数量越少,优先级越高。
于本发明一实施例中,所述组中优先级最高的未完成升级目标节点的确定包括以下步骤:
基于网络状态估算网络中节点最大丢失OTA固件升级数据块个数Lossmax
当所述未完成升级目标节点的丢失OTA固件升级数据块个数Loss<0.1Lossmax,设置所述未完成升级目标节点的优先级为高;
当0.1Lossmax<Loss<0.3Lossmax,设置所述未完成升级目标节点的优先级为中;
当0.3Lossmax<Loss<0.5Lossmax,设置所述未完成升级目标节点的优先级为低;
当Loss>0.5Lossmax,设置所述未完成升级目标节点的优先级为最低。
应理解,上述仅给出确定优先级的其中一种实施方式,其他方式也在本发明的保护范围之内。
于本发明一实施例中,所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
a1)所述未完成升级的目标节点计算所述根源节点到达自身的接收信号强度指示(Received Signal Strength Indication,RSSI)。
具体地,根源节点不断地向网络中发布OTA固件升级数据,根据接收到的根源节点无线报文,蓝牙Mesh网络中的节点可以计算出到达自身的无线接收信号强度RSSI。由于根源节点持续向网络中发布报文,未完成升级的目标节点可以采用滑动平均滤波算法(滑动窗口根据数据包的个数酌情选定,优选为10)得到较为准确的根源节点的RSSI值。
a2)根据所述RSSI来调节所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间。
具体地,预先设置网络的第一RSSI阈值和第二RSSI阈值,其中第一RSSI阈值大于第二RSSI阈值。若第二RSSI阈值≤RSSI≤第一RSSI阈值,所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为预设值不变;若RSSI>第一RSSI阈值,则增加所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间,例如增加至预设值的2倍;若RSSI<第二RSSI阈值,则减小所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间,例如减小至预设值的0.5倍。应理解,预设值为根据应用场合的需要所设置的值,并且在此设置的间隔时间仅为示例,不作为本发明的限制,本领域技术人员也可以设置为其他时间。
蓝牙Mesh网络可以利用中继(relay)功能扩大无线报文的传播范围,因此可能存在未完成升级的目标节点无法直接接收到根源节点发布的消息,其收到的消息是由其他未完成升级的目标节点中继得来的。在这种情况下,未完成升级的目标节点便无法直接得到根源节点发布消息的RSSI。蓝牙Mesh网络中的消息并非无限制中继,蓝牙Mesh网络中在消息中设置了生存时间值(Time To Live,TTL)来管理蓝牙泛洪网络,因此对于无法直接得到根源节点发布消息的RSSI的未完成升级的目标节点,采用TTL来控制重传请求消息的发送。于本发明另一实施例中,所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
b1)预先设置蓝牙Mesh网络的TTL阈值;
b2)如果蓝牙Mesh网络的TTL<TTL阈值,则所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为最小值,否则,广播间隔时间为预设值不变。
于本发明一实施例中,所述根源节点重新分发所述OTA固件升级数据包括以下步骤:
c1)当所述未完成升级的目标节点丢失的OTA固件升级数据包数量小于预设数量时,所述未完成升级的目标节点每次向蓝牙Mesh网络发送一个请求重传丢失数据指令,以请求对一个OTA固件升级数据包的重传;作为响应,所述根源节点发送包括重传的一个OTA固件升级数据包的数据。其中,所述未完成升级的目标节点向蓝牙Mesh网络发送OTAUpdate Missing Block Get消息,其中仅包含对1个OTA固件升级数据包重传请求;所述根源节点响应OTA Update Missing Block Status消息,其中包含重传的一个OTA固件升级数据包的数据。其中,需要说明的是,请求重传丢失数据指令发送请求数据索引至所述根源节点,所述根源节点根据所述数据索引将对应的数据发送至所述未完成升级的目标节点。
c2)当所述未完成升级的目标节点丢失的OTA固件升级数据包数量大于所述预设数量时,所述未完成升级的目标节点向蓝牙Mesh网络发送表示丢失的OTA固件升级数据包的索引消息,作为响应,所述根源节点开启突发传输,连续向所述未完成升级的目标节点发送包含重传数据包的数据。
于本发明一 实施例中,所述突发传输包括:
d1)所述未完成升级的目标节点将所有OTA固件升级数据包分组。
d2)所述根源节点通过查找所述组的值来判断哪些组中有需要要重传的数据包,其中包含需要重传的OTA固件升级数据包的组的值用第一值表示,不包括需要重传的OTA固件升级数据包的组的值用第二值表示。
d3)在包含需要重传OTA固件升级数据包的组中查找需要重传的OTA固件升级数据包。
d4)所述根源节点在找到所有需要重传的OTA固件升级数据包后连续向所述未完成升级的目标节点发送所需数据。
具体地,所述未完成升级的目标节点逐个向根源节点请求重传会导致网络无线拥挤吞吐率下降,故所述未完成升级的目标节点向蓝牙Mesh网络发送OTA Update MissingBlock Map Get消息,其中包含数据大块指示图和数据块指示图两个域。如图5所示,1个丢失数据大块包含8个数据块;所述根源节点响应OTA Update Generic Status消息,并先检查丢失数据大块指示图的Bit值,其每个Bit的值为1或0指示着数据大块中是否含有丢失的数据块;再检查数据块指示图的Bit值,其中每个Bit的值为1或0指示着该数据块是否需要重传,从而分别确定数据大块中是否含有丢失的数据块,以及所述丢失的数据块是否需要重传;然后所述根源节点开启突发传输,向网络中发送表示突发传输时间的OTA UpdateBurst Transfer Start消息;所述根源节点在接收到所述未完成升级的目标节点发送的OTA Update Burst Transfer Status消息后,连续向所述未完成升级的目标节点发送包含重传数据块的数据的OTA Update Missing Block Status消息,并在发送完成后向蓝牙Mesh网络中发送OTA Update Burst Transfer END消息,所述未完成升级的目标节点发送包含传输失败的数据块信息的OTA Update Burst Transfer Status消息。
于本发明一实施例中,本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法还包括所述未完成升级的目标节点完成OTA固件升级之后转换为已完成升级的目标节点;所述已完成升级的目标节点向所述根据节点发送OTA固件升级状态信息后转换为次级源节点,用于响应其他节点OTA固件升级请求。其中,当网络中未完成升级的目标节点接收所有的OTA固件升级数据并且完成完整性校验后,通知应用程序开始进行升级处理,升级成功后的节点可以成为已完成升级的目标节点(New Target Node,NTN)。当网络中未完成升级的目标节点接收所有的OTA固件升级数据并且完成完整性校验后,无论是否完成升级,此时节点都被称为次级源节点(Sub Source Node,SSN)次级源节点具有和根源节点相类似的功能,它也可以响应和处理其他节点的OTA请求报文。
一个蓝牙Mesh网络中可能存在数百个节点设备。蓝牙Mesh网络中的每个节点可能承担着不同的功能,因此不同类型的节点可能接受停机时间有所不同,如门厅的照明灯可以接受较长时间的停机操作,因为停机失控造成的损失处于可接受范围内;如控制门锁开关的节点只能接受短暂时间的停机操作,并且停机的时间越短越好,因为在停机的时间节点的状态无法得知,如果此时门锁处于打开状态很有可能给入侵者留下可乘之机。正因为蓝牙Mesh网络中节点的功能各不相同,无法预知节点的工作状态,故采用后台静默固件升级是一种安全可靠的方式,其将升级的决定权上交,当节点接收完成所有的OTA固件升级数据时会内部通知Mesh应用程序,Mesh应用程序可以选择在合适的时机完成OTA固件升级操作,从而在很大程度上降低了节点停机时产生的风险。
最后,当所述根源节点重新分发所述OTA固件升级数据或响应重传丢失数据包请求后,再次回到所述步骤S4,所述根源节点采集所述组中的未完成升级的目标节点反馈的OTA固件升级状态信息,从而不断迭代,直至满足OTA固件升级需求。
综上所述,本发明的基于蓝牙Mesh的增强广播并发式OTA固件升级方法基于蓝牙Mesh网络采用静默的广播并发方式对网络节点进行OTA固件升级,解决了直接升级带来的宕机风险;不影响应用程序运行,很大程度上降低了节点停机时产生的风险,能够快速、安全、可靠地实现完成蓝牙SIG Mesh网络中的所有设备固件的OTA固件升级;建立了专有的OTA固件更新模型,该模型定义了蓝牙Mesh网络OTA的状态、角色、行为及流程规范,使得OTA更新操作更具有一致性;同时Model层具有蓝牙SIG Mesh网络的双层加密,提高了OTA更新的安全性;在OTA固件更新模型的基础上设计了固件分段式升级方法、含优先级重传申请调度算法、重传索引标记算法、重传突发传输方法等,有效增强***的鲁棒性与抗干扰能力,提高OTA更新的成功率;在物理层上将广播报文载荷扩展至255个字节,扩展后的广播报文兼容蓝牙Mesh协议栈不同协议层的帧格式以及符合Mesh安全性规范,且在不破坏原有协议基础上还可以利用蓝牙Mesh网络强大的特性;同时由于单个广播报文载荷长度增加,OTA固件更新的吞吐率也得以大幅提升并且可以有效降低广播包之间干扰。所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (21)

1.一种基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:包括以下步骤:
将蓝牙Mesh网络中满足预设条件的节点创建成组;
在所述组中选取根源节点,对所述根源节点进行OTA固件升级;
所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包;
所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息;
所述根源节点基于所述OTA固件升级状态信息来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
2.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点处于网络的中心位置,且能够与其他节点直接通信。
3.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:当重新分发所述OTA固件升级数据包时,所述根源节点向所述组中的所有节点分发OTA固件升级数据包;当响应重传丢失数据包请求时,所述根源节点根据优先级顺序对所述组中未完成升级的目标节点进行丢失数据包重传。
4.根据权利要求3所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:根据未完成升级的目标节点的丢失OTA固件升级数据包的数量来确定优先级,其中丢失的数量越少,优先级越高。
5.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:将满足预设条件的节点创建成组包括:将具有相同制造商标识符和相同产品标识符的节点加入到相同的组地址中;所述组地址采用组播地址或虚拟地址。
6.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:对所述根源节点进行OTA固件升级包括:
利用移动终端设备对所述根源节点进行OTA固件升级。
7.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:对所述根源节点进行OTA固件升级包括:
按照预设周期向OTA固件升级网址请求OTA固件升级数据,并基于网络传输方式获取OTA固件升级数据以对所述根源节点进行OTA固件升级。
8.根据权利要求6所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述移动终端设备作为启动节点获取所述根源节点的OTA固件升级参数,并根据所述根源节点返回的消息确定是否进行OTA固件升级操作以及确定是执行OTA固件整体升级还是分段式升级。
9.根据权利要求8所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于,所述分段式升级包括:蓝牙Mesh固件被分为多个部分,每部分具有标识信息和版本信息;
所述启动节点通过比较所述根源节点的固件的标识信息和版本信息,来选择性地完成部分固件升级。
10.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点基于扩展的广播报文向所述组中未完成升级的目标节点分发OTA固件升级数据包包括以下步骤:
所述根源节点通过组播的方式多次向组中发布更新开始指令,以通知所述未完成升级的目标节点准备升级;
所述根源节点向未完成升级的目标节点发送OTA固件升级数据包,并在结束时发送更新结束指令,以向目标节点通知发送完毕。
11.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述OTA固件升级数据包采用物理层扩展为255个字节的广播报文,以提高吞吐量,缩短升级时间;其中所述扩展的广播报文兼容蓝牙Mesh协议。
12.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点获取所述组中的未完成升级的目标节点的OTA固件升级状态信息包括以下步骤:
当所述根源节点分发OTA固件升级数据包完毕后,所述未完成升级的目标节点向所述根源节点发送包含自身节点的OTA固件升级状态信息的消息,直至所述根源节点向所述未完成升级的目标节点发送接收成功响应信息。
13.根据权利要求12所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点按照预设周期统计各个未完成升级的目标节点的OTA固件升级状态信息;对于未统计到OTA固件升级状态信息的未完成升级的目标节点,所述根源节点向其发送获取指令以获取所述未统计到的目标节点的固件OTA升级状态信息。
14.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点基于所述OTA固件升级状态信息判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求包括以下步骤:
所述根源节点根据所述组中升级成功的节点数量和进行OTA固件升级的全部节点数量的比值,获取当前OTA固件升级成功率;
根据升级成功率的大小来判定重新分发所述OTA固件升级数据包或响应重传丢失数据包请求。
15.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
所述未完成升级的目标节点计算所述根源节点到达自身的RSSI;
根据所述RSSI来调节所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间。
16.根据权利要求15所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:
若第二RSSI阈值≤RSSI≤第一RSSI阈值,所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为预设值不变;
若RSSI>第一RSSI阈值,增加所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间;
若RSSI<第二RSSI阈值,减小所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间。
17.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述未完成升级的目标节点发送重传丢失数据包请求包括以下步骤:
根据TTL来调整广播间隔时间,如果TTL<TTL阈值,则所述未完成升级的目标节点的重传丢失数据包请求的广播间隔时间为最小值,否则,广播间隔时间为预设值不变。
18.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于,还包括:
当所述未完成升级的目标节点丢失的OTA固件升级数据包数量小于预设数量时,所述未完成升级的目标节点每次向蓝牙Mesh网络发送一个请求重传丢失数据指令,以请求对一个OTA固件升级数据包的重传;作为响应,所述根源节点发送包括重传的一个OTA固件升级数据包的数据;
当所述未完成升级的目标节点丢失的OTA固件升级数据包数量大于所述预设数量时,所述未完成升级的目标节点向蓝牙Mesh网络发送表示丢失的OTA固件升级数据包的索引消息,作为响应,所述根源节点开启突发传输,连续向所述未完成升级的目标节点发送包含重传数据包的数据。
19.根据权利要求18所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于,所述突发传输包括:
所述未完成升级的目标节点将所有OTA固件升级数据包分组;
所述根源节点通过查找所述组的值来判断哪些组中有需要要重传的数据包,其中包含需要重传的OTA固件升级数据包的组的值用第一值表示,不包括需要重传的OTA固件升级数据包的组的值用第二值表示;
在包含需要重传OTA固件升级数据包的组中查找需要重传的OTA固件升级数据包;
所述根源节点在找到所有需要重传的OTA固件升级数据包后连续向所述未完成升级的目标节点发送所需数据。
20.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:还包括所述未完成的升级目标节点完成OTA固件升级之后转换为已完成的升级目标节点;所述已完成升级的目标节点向所述根据节点发送OTA固件升级状态信息后转换为次级源节点,用于响应其他节点OTA固件升级请求。
21.根据权利要求1所述的基于蓝牙Mesh的增强广播并发式OTA固件升级方法,其特征在于:所述根源节点和所述未完成升级的目标节点在获取OTA固件升级数据后,采用后台静默的方式完成OTA固件升级。
CN202111466448.9A 2021-12-03 2021-12-03 基于蓝牙Mesh的增强广播并发式OTA固件升级方法 Active CN114245319B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111466448.9A CN114245319B (zh) 2021-12-03 2021-12-03 基于蓝牙Mesh的增强广播并发式OTA固件升级方法
US18/071,823 US20230179668A1 (en) 2021-12-03 2022-11-30 Enhanced broadcast concurrent ota firmware upgrade method based on bluetooth mesh

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111466448.9A CN114245319B (zh) 2021-12-03 2021-12-03 基于蓝牙Mesh的增强广播并发式OTA固件升级方法

Publications (2)

Publication Number Publication Date
CN114245319A true CN114245319A (zh) 2022-03-25
CN114245319B CN114245319B (zh) 2023-06-23

Family

ID=80752882

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111466448.9A Active CN114245319B (zh) 2021-12-03 2021-12-03 基于蓝牙Mesh的增强广播并发式OTA固件升级方法

Country Status (2)

Country Link
US (1) US20230179668A1 (zh)
CN (1) CN114245319B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115021873A (zh) * 2022-06-13 2022-09-06 浙江大华技术股份有限公司 一种数据重传的方法、装置及电子设备
CN115417263A (zh) * 2022-10-12 2022-12-02 江苏省特种设备安全监督检验研究院 一种基于蓝牙技术的agv与电梯交互***及其使用方法
CN116056068A (zh) * 2023-01-17 2023-05-02 深圳锐越微技术有限公司 网络远程升级***及方法
CN116466973A (zh) * 2023-04-24 2023-07-21 合芯科技有限公司 一种多并发固件升级方法、***、计算机设备及存储介质
EP4395281A1 (en) * 2022-12-29 2024-07-03 Self Electronics Co., Ltd. Networking method, device, device and storage medium of large-scale wireless device

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140028468A1 (en) * 2012-07-24 2014-01-30 Mueller International, Llc Systems and methods for distributing data within a mesh network
CN106713047A (zh) * 2017-01-12 2017-05-24 泰凌微电子(上海)有限公司 一种网状网络中的节点升级方法与***
CN109769239A (zh) * 2019-03-06 2019-05-17 乐鑫信息科技(上海)股份有限公司 用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法
CN110730104A (zh) * 2019-10-29 2020-01-24 乐鑫信息科技(上海)股份有限公司 一种mesh网络设备的多设备批量固件升级的方法
CN110855496A (zh) * 2019-11-19 2020-02-28 上海磐启微电子有限公司 一种基于sig mesh的ota升级方法
CN110892741A (zh) * 2017-08-15 2020-03-17 通用电气公司 智能装备、智能装备使用的方法以及智能灯
CN111786893A (zh) * 2020-07-14 2020-10-16 博为科技有限公司 mesh组网中无线路由器软件版本的同步方法和装置
CN112445507A (zh) * 2019-09-05 2021-03-05 阿里巴巴集团控股有限公司 一种设备的升级方法和装置
CN112751699A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 Ota升级与升级管理方法、设备、网络及存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140028468A1 (en) * 2012-07-24 2014-01-30 Mueller International, Llc Systems and methods for distributing data within a mesh network
CN106713047A (zh) * 2017-01-12 2017-05-24 泰凌微电子(上海)有限公司 一种网状网络中的节点升级方法与***
CN110892741A (zh) * 2017-08-15 2020-03-17 通用电气公司 智能装备、智能装备使用的方法以及智能灯
CN109769239A (zh) * 2019-03-06 2019-05-17 乐鑫信息科技(上海)股份有限公司 用于对蓝牙Mesh网络中的节点进行OTA固件升级的方法
CN112445507A (zh) * 2019-09-05 2021-03-05 阿里巴巴集团控股有限公司 一种设备的升级方法和装置
CN110730104A (zh) * 2019-10-29 2020-01-24 乐鑫信息科技(上海)股份有限公司 一种mesh网络设备的多设备批量固件升级的方法
CN112751699A (zh) * 2019-10-31 2021-05-04 阿里巴巴集团控股有限公司 Ota升级与升级管理方法、设备、网络及存储介质
CN110855496A (zh) * 2019-11-19 2020-02-28 上海磐启微电子有限公司 一种基于sig mesh的ota升级方法
CN111786893A (zh) * 2020-07-14 2020-10-16 博为科技有限公司 mesh组网中无线路由器软件版本的同步方法和装置

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115021873A (zh) * 2022-06-13 2022-09-06 浙江大华技术股份有限公司 一种数据重传的方法、装置及电子设备
CN115417263A (zh) * 2022-10-12 2022-12-02 江苏省特种设备安全监督检验研究院 一种基于蓝牙技术的agv与电梯交互***及其使用方法
EP4395281A1 (en) * 2022-12-29 2024-07-03 Self Electronics Co., Ltd. Networking method, device, device and storage medium of large-scale wireless device
CN116056068A (zh) * 2023-01-17 2023-05-02 深圳锐越微技术有限公司 网络远程升级***及方法
CN116466973A (zh) * 2023-04-24 2023-07-21 合芯科技有限公司 一种多并发固件升级方法、***、计算机设备及存储介质
CN116466973B (zh) * 2023-04-24 2024-04-05 合芯科技有限公司 一种多并发固件升级方法、***、计算机设备及存储介质

Also Published As

Publication number Publication date
US20230179668A1 (en) 2023-06-08
CN114245319B (zh) 2023-06-23

Similar Documents

Publication Publication Date Title
CN114245319B (zh) 基于蓝牙Mesh的增强广播并发式OTA固件升级方法
WO2022011862A1 (zh) 一种o-ran与mec的通信方法及***
US7940744B2 (en) System, apparatus and method for automated wireless device configuration
EP3396928B1 (en) Method for managing network access rights and related device
CN102100035B (zh) 在媒体访问控制子层动态地配置和管理通信网络节点的方法及***
US20090007156A1 (en) Data Processing Method for Application Layer
US20060126847A1 (en) System and method for establishing secure communications between devices in distributed wireless networks
US9535638B2 (en) Directly transferring data between devices
CN112449315A (zh) 一种网络切片的管理方法及相关装置
CN110366153A (zh) 一种蓝牙自组网的方法
CN113572835A (zh) 一种数据处理方法、网元设备以及可读存储介质
US11336434B2 (en) Internet of things networking authentication system and method thereof
US20020172175A1 (en) Communication device
WO2014038820A1 (ko) 무선 통신 시스템에서 서버의 단말의 리소스에 대한 접근 권한을 관리하기 위한 방법 및 이를 위한 장치
CN101473599A (zh) 用于控制无线端点处的带宽的***和方法
US20120254393A1 (en) Device management method, device management apparatus, and device management system
CN104038557A (zh) 一种光纤连接的树形网络结构中设备软件批量升级方法
TWI802985B (zh) 網狀網路更新系統及其方法
CN114125883B (zh) 智能设备的入网方法、装置、电子设备及存储介质
CN115767513A (zh) 一种WiFi Mesh的数据组网模式
CN115720221A (zh) 基于规则的属性发现
CN111786871B (zh) 一种蓝牙mesh不同网络数据传输方法
CN111147269B (zh) 接入点配置方法、组网***、接入点和存储介质
Zhao et al. Maximizing the stable throughput of high-priority traffic for wireless cyber-physical systems
CN1848728B (zh) 一种基于ip网络的组播数据受控方法

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