CN110278547A - 用于建立低功耗蓝牙网状网络的装置和方法 - Google Patents

用于建立低功耗蓝牙网状网络的装置和方法 Download PDF

Info

Publication number
CN110278547A
CN110278547A CN201810204188.XA CN201810204188A CN110278547A CN 110278547 A CN110278547 A CN 110278547A CN 201810204188 A CN201810204188 A CN 201810204188A CN 110278547 A CN110278547 A CN 110278547A
Authority
CN
China
Prior art keywords
node
network package
network
ble
package
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
CN201810204188.XA
Other languages
English (en)
Other versions
CN110278547B (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.)
Botong Integrated Circuits (shanghai) Co Ltd
Beken Corp
Original Assignee
Botong Integrated Circuits (shanghai) 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 Botong Integrated Circuits (shanghai) Co Ltd filed Critical Botong Integrated Circuits (shanghai) Co Ltd
Priority to CN201810204188.XA priority Critical patent/CN110278547B/zh
Priority to US15/936,455 priority patent/US10530689B2/en
Publication of CN110278547A publication Critical patent/CN110278547A/zh
Application granted granted Critical
Publication of CN110278547B publication Critical patent/CN110278547B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/26Route discovery packet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • 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/06Optimizing the usage of the radio link, e.g. header compression, information sizing, discarding information
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/70Reducing energy consumption in communication networks in wireless communication networks

Abstract

本申请涉及蓝牙传输,公开了一种用于建立低功耗蓝牙网状网络的装置和方法,以实现更长的蓝牙传输距离。该方法包括:第一节点从第二节点接收第一网络封包,并与存储在该第一节点的缓存中的网络封包进行比较(a)如果接收的第一网络封包不同于存储在该缓存中的网络封包,则该第一节点确定该第一节点是否是收到的第一网络封包的目的节点,如果该第一节点是该目的节点,则该第一节点执行由第一网络封包定义的动作,以及,如果该第一节点不是该目的节点,则第一节点通过该BLE网状网络中的通告信道广播所接收的第一网络封包;(b)如果收到的第一网络封包与该缓存中存储的至少一个网络封包相同,则该第一节点丢弃收到的第一网络封包。

Description

用于建立低功耗蓝牙网状网络的装置和方法
技术领域
本发明涉及蓝牙传输,并且更具体地,但不限于一种用于建立低功耗蓝牙网状网络的装置和方法。
背景技术
在低功耗蓝牙(BLE,Bluetooth Low Energy)协议中,在BLE网络中使用了星形拓扑结构,这使得一个电子装置(例如智能电话和个人计算机)能够一个或多个BLE装置(例如BLE鼠标)建立点对点BLE连接。该电子装置与BLE装置之间的传输距离通常在10米以内。但是,如果该电子装置需要获取BLE网络中一个BLE装置的当前状态并控制其执行某些动作,则电子装置应该靠近BLE装置,这是不方便的。因此,可能需要提供一种装置和方法来建立BLE网状网络以实现更长的蓝牙传输距离。
发明内容
本发明实施例公开了一种建立低功耗蓝牙(BLE)网状网络的方法,包括,第一节点从第二节点接收第一网络封包,其中该第一节点位于离该第二节点预定距离内;该第一节点通过将收到的该第一网络封包与存储在该第一节点的缓存中的网络封包进行比较,以确定收到的该第一网络封包在之前是否已被接收过,(a)如果接收的第一网络封包不同于存储在该缓存中的网络封包,则该第一节点确定该第一节点是否是收到的该第一网络封包的目的节点,如果该第一节点是该目的节点,则该第一节点执行由该第一网络封包定义的动作,以及,如果该第一节点不是该目的节点,则该第一节点通过该BLE网状网络中的通告信道(advertising channel)广播所接收的该第一网络封包;(b)如果收到的该第一网络封包与该缓存中存储的至少一个网络封包相同,则该第一节点丢弃收到的该第一网络封包。
本发明的另一个实施例公开了用于建立BLE网状网络的第一BLE节点,包括:接收器,被配置为从第二BLE节点接收第一网络封包,其中所述第一BLE节点位于离所述第二BLE节点预定距离内,并且所述第二BLE节点包括一个电子装置;第一识别器,被连接到所述接收器,并且被配置为,通过将所接收的第一网络封包与所述第一BLE节点的缓存中存储的网络封包进行比较,来确定所述所接收的第一网络封包之前是否已经被接收过;第二识别器,被连接到所述第一识别器,并且被配置为,如果所述所接收的第一网络封包不同于存储在所述缓存中的所述网络封包,则确定所述第一BLE节点是否是所述所接收的第一网络封包的目的节点;执行器,被连接到所述第二识别器,并且被配置为,如果所述第一BLE节点是所述目的节点则执行由所述第一网络封包定义的动作;发射器,被连接到所述第二识别器,并且被配置为,如果所述第一BLE节点不是所述目的节点,则通过所述BLE网状网络中的通告信道广播所述接收到的第一网络封包;以及去除器,与所述第一识别器连接,并且被配置为,如果所述所接收的第一网络封包与所述缓存中存储的至少一个网络封包相同,则丢弃所述所接收的第一网络封包。
本发明的另一实施例公开了一种存储指令的计算机可读存储介质,所述指令在由第一低功耗蓝牙(BLE)节点中的处理器执行时使第一BLE节点:利用第一BLE节点中的接收器从第二节点接收第一网络封包,其中所述第一BLE节点位于离所述第二BLE节点预定距离内,并且所述第二BLE节点包括一个电子装置;利用连接到接收器的第一识别器,通过将所接收的第一网络封包与所述第一BLE节点的缓存中存储的网络封包进行比较,来确定所述所接收的第一网络封包之前是否已经被接收过;(a)利用连接到第一识别器的第二识别器,如果所述所接收的第一网络封包不同于存储在所述缓存中的所述网络封包,则确定所述第一BLE节点是否是所述所接收的第一网络封包的目的节点;如果所述第一BLE节点是所述目的节点,则利用连接到所述第二识别器的执行器执行由所述第一网络封包定义的动作;如果所述第一BLE节点不是所述目的节点,则与所述第二识别器连接的发射器通过所述BLE网状网络中的通告信道广播所述接收到的第一网络封包;(b)如果所述所接收的第一网络封包与所述缓存中存储的至少一个网络封包相同,则与所述第一识别器连接的去除器丢弃所述所接收的第一网络封包。
附图说明
另外,本发明通过附图以示例性方式示出。附图应被理解为示例性的而不是限制性的,因为本发明的范围由权利要求限定。在附图中,相同的附图标记表示相同的元件。
图1示出示例性BLE网状网络,其中在此介绍的技术可以被实现。
图2是一个高层次范围图,示出了BLE网状网络中一个BLE节点的体系结构的例子。
图3是根据本发明一个实施例的图2的存储器元件的框图。
图4是根据本发明一个实施例的BLE网状网络中从节点间传送网络封包的顺序图。
图5是一个流程图,示出了根据本发明一个实施例的在BLE网状网络中节点间传送网络封包的整体处理流程的一个例子。
具体实施方式
现在描述本发明的各个方面和实施例。下面的描述提供了用于彻底理解和描述这些例子的具体细节。然而,本领域技术人员将会理解,可以在没有这些细节的许多情况下实践本发明。另外,为了避免使相关描述不必要地模糊,一些公知的结构或功能可能没有被详细地示出或描述。
在下面给出的描述中所使用的术语希望以其最宽泛的合理方式来解释,即使该术语是在与本发明的某些具体实施例的详细描述中被使用的。以下甚至可能会强调某些术语,但是,任何旨在以任何限制的方式解释的术语将在本具体实施方式部分中公开和具体地定义。
图1示出了示例性BLE网状网络100,其中可以实现在此介绍的技术。在图1中,BLE网状网络100包括主节点110和一个或多个从节点120A-120F。在一个实施例中,主节点110是一个电子装置(包括智能电话,个人计算机等)。在一个实施例中,从节点是BLE装置,例如BLE鼠标。在网状网络中任意两个相邻节点之间的距离在预定的距离内,例如10米。在一个实施例中,主节点110建立与从节点120A的点对点BLE连接(如实线所示),从节点120A位于距主节点110预定距离内。在其他实施例中,主节点110可以与位于距主节点110预定距离内的多个从节点建立BLE连接。当建立BLE连接时,主节点110将网络封包发送到从节点120A,并且从节点120A通过通告信道(advertising channel)(如虚线所示)将所接收的网络封包发送到距离从节点120A预定距离内的处于扫描状态的所有节点(例如,从节点120B和120D,如图1所示)。然后,如图1所示,从节点120B通过通告信道将接收到的网络封包发送到从节点120A,120C,120D和120F。类似地,从节点120D通过通告信道将接收到的网络封包发送到从节点120A,120B,120F,120C和120E。BLE网络中的这些节点随后将接收到的网络封包发送到它们预定距离范围内的相邻节点,直到该网络封包被发送到目的节点。
由于广播所述网络封包是无方向性的,只要节点是在预定距离范围内,任何节点都可以接收和传送网络封包。因此,网络封包的头部被以如下方式定义,以区分网络封包的来源和目的地:
B0 B1 B2 B3 B4 B5 B6 B7 B8 B9 B10 B11~B27
Len PTY SN SN SN SRC SRC DST DST TTL PLen 有效载荷
其中,Len是指包长。PTY是指封包类型。SN是指序列号。SRC是指源地址。DST是指目的地址。TTL指传输级别。PLen是指有效载荷长度。有效负载是指数据。
源节点指的是经由BLE连接从主节点接收到网络封包的从节点。在如图1所示的示例性实施例中,从节点120A从主节点110接收网络封包,因此从节点120A被定义为网络封包的源节点。在接收到网络封包之后,源节点120A将通过填入如上所述的网络封包的头部的相关信息来改变网络封包的格式。如果源节点120A从主节点110接收到另一个新的网络封包,则将序列号(SN)加1。SN的初始值可以由用户定义,例如1。当一个目的节点(例如,从节点120F)接收到网络封包时,从节点120F执行在网络封包的有效载荷中定义的动作。如果在BLE网状网络中存在多个目的节点,则从节点120F将通过通告信道进一步广播所接收的网络封包,使得其它目的节点可以接收该网络封包。网络封包每次被BLE网络中的一个从节点传送时,TTL的值将减1。如果TTL的值等于零,则网络封包不会再被传送到下一个节点。在一个实施例中,TTL的值可以是15,也可以是用户根据网络覆盖区域的实际需求定义的任何其他号码。
图2一个高层次范围图,示出了图1中从节点120A的示例性构架200。请注意,从节点120A-120F具有类似的架构。架构200包括连接到互连结构260的一个或多个处理器210和存储器220。图2中示出的互连结构260是一种抽象概念,表示通过适当的桥接器、适配器或控制器连接的,任意的一个或多个独立的物理总线、点对点连接、或其组合。因此,互连结构260可以包括例如系统总线,外围组件互连(PCI)总线,超传输或工业标准体系结构(ISA)总线,小型计算机系统接口(SCSI)总线,通用串行总线(USB),IIC(I2C)总线,CAN(ControllerArea Network)总线或电气和电子工程师协会(IEEE)标准1394总线(也称为“火线”),和/或任何其它合适的形式物理连接。
处理器210(可以是一个或多个)是体系结构200的中央处理单元(CPU),并且,因此,控制架构200的整体操作。在某些实施例中,处理器210通过执行软件或固件实现这一点。处理器210可以是或可以包括一个或多个可编程的通用或专用微处理器、数字信号处理器(DSP)、可编程控制器专用集成电路(ASIC),可编程逻辑器件(PLD)等,或这些器件的组合。
存储器220是或者包括该架构200的主存储器。存储器220表示任何形式的随机存取存储器(RAM)、只读存储器(ROM)、闪速存储器(flash)、或类似器件、或这些器件的组合。在使用中,存储器220可以包含,除了别的之外,用于实现在此介绍的本发明的至少一些实施例的软件或固件代码。
还通过互连结构260连接到处理器210的是一个通信接口240,诸如,但不限于,网络适配器、一个或多个输出装置230和一个或多个输入装置250。注意,输出装置230和输入装置250与其他装置一样是可选的。通信接口240向架构200提供与空间调整系统100中的其他组件进行通信的能力,并且可以是,例如,以太网适配器或光纤通道适配器。输入装置250可以包括触摸屏、键盘和/或鼠标等。输出装置230可以包括屏幕和/或扬声器等。
上面介绍的技术可以由被编程/由软件和/或固件配置的可编程电路实现,或完全由专用电路实现,或者通过这些形式的组合来实现。这种专用电路(如果有的话)可以是例如一个或多个专用集成电路(ASIC),可编程逻辑器件(PLD),现场可编程门阵列(FPGA)等的形式。
用以实现在此介绍的技术的软件或固件可以被存储在机器可读存储介质上并且可以由一个或多个通用或专用的可编程微处理器执行。这里使用的术语“机器可读介质”包括可以以机器可访问的形式存储信息的任何机制(机器可以是例如计算机、网络装置、蜂窝电话、个人数字助理(PDA)、制造工具、具有一个或多个处理器的任何装置等)。例如,机器可访问介质包括可记录/不可记录的介质(例如,只读存储器(ROM),随机存取存储器(RAM),磁盘存储介质,光存储介质,闪存装置等),等等。
如本文所使用的术语“模块”是指:1)特殊用途的硬连线电路,诸如一个或多个专用集成电路(ASIC)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)或其他类似的装置;b)用软件和/或固件编程的可编程电路,诸如一个或多个经编程的通用微处理器、数字信号处理器(DSP)和/或微控制器或其它类似的装置;或者c)在a)和b)中提到的形式的组合。
图3是一个框图,示出了根据本发明的一个实施例的图1中从节点120A的存储器220的元件。如图3所示,从节点120A的存储器220包括接收器2201,第一识别器2202,第二识别器2205,执行器2204,发射器2206,去除器2207和缓存2203。在一个实施例中,接收器2201被配置为从主节点110或从节点120D或120B接收第一网络封包,如图1所示。从节点120A位于离主节点110或从节点120D或从节点120B预定距离内。第一识别器2202连接到接收器2201,并被配置为通过比较接收到的第一网络封包与存储在从节点120A的缓存2203中的网络封包,来确定接收到的第一网络封包之前是否已被接收过。缓存2203连接到第一识别器2202。第二识别器2205连接到第一识别器2202,并且被配置为如果所接收的第一网络封包不同于第一识别器2202,则确定从节点120A是否是所接收的第一网络封包的目的节点网络封包存储在缓冲区中。执行器2204连接第二识别器2205,并被配置为,如果从节点120A是目的节点,则执行由第一网络封包定义的动作。发射器2206连接第二识别器2205,并且被配置为,如果从节点120A不是目标节点,则通过通告信道将所接收的第一网络封包发送到位于离BLE网状网络中从属节点120A预定距离内的处于扫描状态的所有节点。去除器2207连接到第一识别器2202,并且被配置为如果接收到的第一网络封包与存储在缓存2203中的至少一个网络封包相同,则丢弃该接收到的第一网络封包。
在一个实施例中,存储器220还包括连接器2208。该连接器2208连接接收器2201和被配置为与主节点110建立BLE连接。
在一个实施例中,存储器220还包括第三识别器2209。第三识别器2209连接发射器2206,用于判断第一网络封包被允许发送给BLE网状网络中下一节点的次数是否达到预设的上限值。如果第一网络封包被允许发送的次数达到预设的上限值,则不会再发送第一网络封包。
根据以下的实施例,现在考虑在如图1描述的网状网络中增加发送网络封包的速度的技术。
场景1
每当一个网络封包被发送到从属节点时,如果该从节点不是目的节点,该从节点会将该网络封包发送到下一节点。在一个传输中,从节点将多次广播一个网络封包。例如,如果一个网络封包在每次传输中被一个从节点广播21次,而广播的间隔为100毫秒(ms),从节点将分别在高(例如2480Mhz),中等(例如2426Mhz)和低(例如2402Mhz)频率下分别连续三次广播网络封包,然后等待100ms的间隔再广播三次网络封包,依此类推。因此,需要700毫秒的时间来广播网络封包21次。如果在网络中存在与图1所示的从属节点120A-120F具有相似体系结构的从属节点A,B,C和D,并且从属节点A和B,B和C,C和D之间的距离全部在10米,从节点A需要广播21×3=63次,花费700ms×3=2100ms,才能将第一网络封包PK1发送给最远的从节点D。问题在于,如果从节点A之后需要发送第二网络封包PK2,则PK2在发送PK1(即2100ms之后)完成之前不能被发送,这将浪费大量时间。
附近地图(neighborhood map)的方法被用以解决上述问题,并提高传输速度。在场景1中,从节点B是从节点A的相邻节点,从节点C是从节点B的相邻节点,从节点D是从节点C的相邻节点。如果PK1将从从节点A通过从节点B和C传输到最远的从节点D,从节点A首先将PK1发送到从节点B,然后从节点B将PK1发送到从节点C,最后,从节点C将PK1发送到从节点D。由于广播的特性,从节点A将接收从节点B发回的PK1,这意味着从节点B已经接收到PK1。此时,从节点A将在相邻列表中记录从节点B的蓝牙地址。如果从节点A将从节点B的蓝牙地址记录预设次数(例如,三次),则从节点A将从节点B确定为从节点A的相邻节点。每个节点可以用这种方法确定其相邻节点,并计算相邻节点的总数。在从节点A接收从从节点B传回的PKn之后,发射PKn时,从节点A将首先在相邻列表中搜索从节点B,并且如果从节点B的蓝牙地址与存储在相邻节点列表中的至少一个蓝牙地址一致,则从节点A的减法器将基于相邻节点的总数成比例地减去广播次数PKn的一个值。判断表达式如下:
if(message_cache[process_idx].Mesh_MSG_PKT[MESH_PKT_BCT_IDX]>
(MESH_BC_TIME/sum_of_neighbor))
{
message_cache[process_idx].Mesh_MSG_PKT[MESH_PKT_BCT_IDX]-=
(MESH_BC_TIME/sum_of_neighbor);
根据上述表达式中,如果从节点A具有仅一个相邻节点,广播PKn的次数(例如,21次)将被降低到零,即,从节点A将不广播PKn,以使后续的网络封包PKn+1能够被传输,而不需要等待700ms。
场景2
当主节点连续地发送网络封包(包括命令)到一个或多个从属节点以请求所有从节点的状态,或控制所有的节点以执行一个动作并返回一个结果,该网络将从预定范围内的每一个节点接收网络封包。例如,从节点B是从节点A的相邻节点,从节点C是从节点B的相邻节点,从节点D是从节点C的相邻节点。从节点A通过BLE连接接收来自主节点的命令。在一个实施例中,从节点A分发两个命令Cmd 1和Cmd 2以请求所有从节点的状态。因为所有的节点都是目标节点,每个节点除了自己的状态外,还需要知道所有其他节点的状态。所有的节点收到后都需要对网络封包进行解码,并返回状态。
每个节点的缓存的状态以时间顺序罗列于下:
时刻1
Node_A{Node_A_Cmd1,Node_B_Cmd1_Rsp,Node_A_Cmd2}
Node_B{Node_A_Cmd1,Node_C_Cmd1_Rsp,Node_A_Cmd1_Rsp}
Node_C{Node_A_Cmd1,Node_D_Cmd1_Rsp,Node_B_Cmd1_Rsp}
Node_D{Node_A_Cmd1,Node_C_Cmd1_Rsp}
时刻2
Node_A{Node_A_Cmd1,Node_B_Cmd1_Rsp,Node_A_Cmd2,Node_C_Cmd1_Rsp}
Node_B{Node_A_Cmd1,Node_C_Cmd1_Rsp,Node_A_Cmd1_Rsp,Node_D_Cmd1_Rsp,
Node_B_Cmd1_Rsp}
Node_C{Node_A_Cmd1,Node_D_Cmd1_Rsp,Node_B_Cmd1_Rsp,Node_C_Cmd1_Rsp}
时刻N
Node_A{Node_A_Cmd1,Node_B_Cmd1_Rsp,Node_A_Cmd2,Node_C_Cmd1_Rsp,
Node_A_Cmd1_Rsp,Node_D_Cmd1_Rsp}
Node_B{Node_A_Cmd1,Node_C_Cmd1_Rsp,Node_A_Cmd1_Rsp,Node_D_Cmd1_Rsp,
Node_B_Cmd1_Rsp}
Node_C{Node_A_Cmd1,Node_D_Cmd1_Rsp,Node_B_Cmd1_Rsp,Node_C_Cmd1_Rsp,
Node_A_Cmd1_Rsp}
除了自身的状态,所有节点读取所有其他节点的状态需要一些时间。因此,第二命令Cmd 2的传输将被延迟很长时间。为了解决这个问题,有两种方法可以减少延迟,这将在下面讨论。
方法1
在上述场景2中,在接收到包括CMD 1的第一网络封包后不久,从节点A-D中的任一个接收包括Cmd2的第二网络封包之后,从节点将Cmd2与缓存中所有的命令比较。请注意,第一网络封包和第二网络封包具有不同的序列号(SN)。如果存储在缓存中的网络封包的命令的类型(例如,第一网络封包的Cmd1的类型)与Cmd2的类型相同,则该从节点将删除第一网络封包和对第一网络封包相应的响应(即Cmd 1_Rsp),然后发送第二网络封包。这样,第一网络封包将停止传输,对第一网络封包的响应将延迟返回,从而可以及时传输第二网络封包的后续Cmd2。请注意,命令的类型可以由用户定义。例如,用户可以将命令“开灯”和命令“关灯”定义为相同类型的命令。
方法2
在上述场景2中,从节点A-D的每一个建立用于需要被首先发送的所接收的网络封包的传输优先级队列。当从节点A-D中任一个需要传输网络封包时,它将检查传输优先级队列,并首先传输其中列出的网络封包。在发送优先级队列中列出的网络封包全部发送后,从节点将开始发送剩余的接收到的网络封包。
根据以下实施例,现在考虑减少传输中冲突和增加图1描述的网状网络中网络封包传输有效性的技术。
在一些情况下,广播网络封包的间隔是相同的,并且两个或更多的从节点将同时广播网络封包,这将导致网络封包接收失败。理想的模式是当一个从节点处于通告状态以广播一个网络封包时,其他从节点处于扫描状态接收网络封包。由于从节点相互之间没有建立BLE连接,也不会相互同步,所以可以采用动态广播网络封包的方法来解决上述问题。
图4是根据本发明一实施例的网状网络中从节点A-C之间一个网络封包传输的序列图。请注意,ADV_TX是指从节点处于通告状态以广播网络封包的时段,而扫描窗口是指从节点处于扫描状态以接收网络封包的时段。通告状态和扫描状态将相互交替,如图4所示。在图4所示的例子中,网状网络包括从节点A、B和C,并且最初所有的从节点A、B和C具有长的广播时间间隔,例如300毫秒。在一个实施例中,从节点A-C需要通过网状网络广播可连接的ADV封包。在接收到可连接的ADV封包之后,从节点的控制器将在广播之前随机地延迟从节点A、B或C一段预定时间,以防止由于同时广播封包而导致的冲突。在从节点广播了预定次数之后,控制器将广播的时间间隔减小到预定的值,例如100ms,以便使得还未接收到网络封包并具有较长间隔的其他从节点可以轻松接收网络封包。当广播网络封包的次数达到预设的上限值时,控制器将时间间隔切换回原来的长时间间隔。这样,从节点就可以动态地广播网络封包,并且可以减少传输中节点间的冲突,提高网络封包在网状网络中传输的有效性。
图5是示出总体处理流程500的一个例子的流程图,用于在根据本发明的一个实施例的BLE网状网络中在第一节点和第二节点之间发送网络封包。
在框510中,第一节点接收来自第二节点的第一网络封包。第一节点位于距离第二节点预定的距离之内。在框520中,第一节点通过将接收到的第一网络封包与第一节点的缓存中存储的网络封包进行比较来确定接收到的第一网络封包是否已被接收过。
如果所接收的第一网络封包是从存储在缓存中的网络封包不同,则在框530中,确定所述第一节点是否为目的节点。如果第一节点是目的节点,则在框540中,第一节点执行由第一网络封包定义的动作。如果不是,则在框550中,第一节点通过通告信道将所收到的第一网络封包发送给在BLE网状网络中距离第一节点预定距离内的处于扫描状态的所有节点。
回到框520,如果所接收的第一网络封包与存储在缓存中的至少一个网络封包是相同的,则在框560中第一节点删除所接收的第一网络封包。
可选地,该流程500还包括,所述第二节点包括电子装置,和所述电子装置建立与第一节点的BLE连接。
可选地,该流程500还包括,第一节点确定BLE网状网络中第一网络封包允许被发送到下一个节点的次数是否达到预先设定的上限值;如果第一网络封包允许被发送到下一个节点的次数达到预设的上限值,则不再发送第一网络封包。
可选地,该流程500还包括,第一节点执行以下步骤:当从第二节点接收到之前已经从第一节点广播了预定次数的第一网络封包时,将该第二节点识别为该第一节点的相邻节点,并将该第二节点的蓝牙地址存储在相邻节点列表中;之后,当从第二节点接收到之前已经从第一节点广播过的第二网络封包,并判定第二节点的蓝牙地址与存储在相邻节点列表中的至少一个蓝牙地址一致,则按比例地根据相邻节点的总数减去广播第二网络封包的次数。
可选地,该方法500还包括第一节点执行以下步骤:在从所述第二节点接收所述第一网络封包之后不久接收第二网络封包,并且将存储在第一节点的缓存中的网络封包的命令和第二网络封包的命令相比较,其中,如果存储在所述缓存中的所述网络封包的命令的类型与所述第二网络封包的命令的类型相同,则发送所述第二网络封包,并删除存储在所述缓存中的具有相同命令类型的网络封包,并删除对存储在所述缓存中的具有相同命令类型的网络封包的响应。
可选地,该方法500还包括第一节点执行以下步骤:为需要被最先发送的第一节点接收的网络封包建立传输优先级队列;发送在传输优先级队列中的网络封包;并在传输优先级队列中的网络封包全部被发送后,开始发送剩余的接收到的网络封包。
可选地,该方法500还包括第一节点执行以下步骤:接收第一网络封包之后,随机延迟预定的时间段;减少广播第一网络封包的时间间隔;当网络封包被第一节点广播的次数达到预设的上限值时,将该时间间隔切换回最初的时间间隔。
下面说明一下本申请各实施例中所有相邻节点列表的建立和使用的方法:
假设第一节点为原发射封包的节点,第二节点为相邻节点
情况1:第一节点相邻节点列表的建立,条件为,当第一节点发送第一封包,并且在达到最大发送次数结束发送前,又从广播频道收到当初发送出来的第一封包,将封包解译发现此封包的蓝芽地址为第二节点,此时就可认定第二节点为第一节点的相邻节点,并且将第二节点的蓝芽地址存于第一节点相邻节点列表中。
情况2:第一节点相邻节点列表的建立,条件为,当第二节点转发送第一封包,并且在达到最大发送次数结束发送前,又从广播频道收到当初发送出来的第一封包,将封包解译发现此封包之蓝芽地址为第一节点,此时就可认定第一节点为第二节点的相邻节点,并且将第一节点的蓝芽地址存于第二节点相邻节点列表中。
相邻节点列表的使用的例子:
例如,第一节点最大传送数为21,当第一节点在发送第一封包期间且未达最大发送数时,假设相邻节点为数为3,当收到相邻节点1的发出的第一封包时,传送次数则减少为14次,之后又收到相邻节点2发出的第一封包时次数则减少为7次,以此方法可节省总发送时间,加快反应时间。
不同实施例的特征和各方面可以被集成到其它实施例中,并且可以在没有所有的示出或描述的特征或方面的情况下实施本文档中示出的实施例。本领域的技术人员将会理解,尽管为了说明的目的已经描述了系统和方法的具体示例和实施例,但是可以在不偏离本发明的精神和范围的情况下进行各种修改。而且,一个实施例的特征可以被并入到其它实施例中,即使在本文档中没有将这些特征一起描述在同一个实施例中。因此,本发明由所附权利要求书来描述。

Claims (16)

1.一种建立低功耗蓝牙网状网络的方法,其特征在于,包括:
第一节点从第二节点接收第一网络封包,其中所述第一节点位于离所述第二节点预定距离内;
所述第一节点通过将收到的所述第一网络封包与存储在所述第一节点的缓存中的网络封包进行比较,以确定收到的所述第一网络封包在之前是否已被接收过,
(a)如果接收的第一网络封包不同于存储在所述缓存中的网络封包,则所述第一节点确定所述第一节点是否是收到的所述第一网络封包的目的节点,
如果所述第一节点是所述目的节点,则所述第一节点执行由所述第一网络封包定义的动作,以及,
如果所述第一节点不是所述目的节点,则所述第一节点通过低功耗蓝牙BLE网状网络中的通告信道广播所接收的所述第一网络封包;
(b)如果收到的所述第一网络封包与所述缓存中存储的至少一个网络封包相同,则所述第一节点丢弃收到的所述第一网络封包。
2.如权利要求1所述的方法,其特征在于,所述第二节点包括一个电子装置,并且所述电子装置与所述第一节点建立BLE连接。
3.如权利要求1所述的方法,其特征在于,如果在所述BLE网状网络中存在多个目的节点并且所述第一节点是所述多个目的节点中的一个,并且所接收的所述第一网络封包不同于存储在所述缓存中的网络封包,所述第一节点执行由所述第一网络封包定义的动作,并通过所述BLE网状网络中的通告信道广播接收到的所述第一网络封包。
4.如权利要求1所述的方法,其特征在于,还包括:
所述第一节点确定所述第一网络封包被允许向所述BLE网状网络中的下一节点发送的次数是否达到预设的上限值;以及
如果所述第一网络封包被允许发送的次数达到预设的上限值,则所述第一节点停止发送所述第一网络封包。
5.如权利要求1所述的方法,其特征在于,还包括所述第一节点执行以下操作:
当从所述第二节点接收到之前已经从所述第一节点广播了预定次数的第一网络封包时,将所述第二节点识别为所述第一节点的相邻节点,并将所述第二节点的蓝牙地址存储在相邻节点列表中;以及
此后,当从所述第二节点接收到之前已经从所述第一节点广播过的第二网络封包,并判定所述第二节点的蓝牙地址与存储在所述相邻节点列表中的至少一个蓝牙地址一致,则按比例地根据相邻节点的总数减去广播所述第二网络封包的次数。
6.如权利要求1所述的方法,其特征在于,还包括所述第一节点执行以下操作:
在从所述第二节点接收所述第一网络封包之后,接收第二网络封包,并且将存储在所述第一节点的缓存中的网络封包的命令和所述第二网络封包的命令相比较,其中,如果存储在所述缓存中的所述网络封包的命令的类型与所述第二网络封包的命令的类型相同,则发送所述第二网络封包,并删除存储在所述缓存中的具有相同命令类型的网络封包,并删除对存储在所述缓存中的具有相同命令类型的网络封包的响应。
7.如权利要求1所述的方法,其特征在于,还包括所述第一节点执行以下操作:
为需要被最先发送的所述第一节点接收的网络封包建立传输优先级队列;
发送在所述传输优先级队列中的网络封包;以及,
并在所述传输优先级队列中的网络封包全部被发送后,开始发送剩余的接收到的网络封包。
8.如权利要求1所述的方法,其特征在于,还包括所述第一节点执行以下操作:
接收所述第一网络封包之后,随机延迟预定的时间段;
减少广播所述第一网络封包的时间间隔;以及,
当网络封包被所述第一节点广播的次数达到预设的上限值时,将所述间间隔切换回最初的时间间隔。
9.一种用于建立BLE网状网络的第一BLE节点,其特征在于,包括:
接收器,被配置为从第二BLE节点接收第一网络封包,其中所述第一BLE节点位于离所述第二BLE节点预定距离内,并且所述第二BLE节点包括一个电子装置;
第一识别器,被连接到所述接收器,并且被配置为,通过将所接收的第一网络封包与所述第一BLE节点的缓存中存储的网络封包进行比较,来确定所述所接收的第一网络封包之前是否已经被接收过;
第二识别器,被连接到所述第一识别器,并且被配置为,如果所述所接收的第一网络封包不同于存储在所述缓存中的所述网络封包,则确定所述第一BLE节点是否是所述所接收的第一网络封包的目的节点;
执行器,被连接到所述第二识别器,并且被配置为,如果所述第一BLE节点是所述目的节点则执行由所述第一网络封包定义的动作;
发射器,被连接到所述第二识别器,并且被配置为,如果所述第一BLE节点不是所述目的节点,则通过所述BLE网状网络中的通告信道广播所述接收到的第一网络封包;以及
去除器,与所述第一识别器连接,并且被配置为,如果所述所接收的第一网络封包与所述缓存中存储的至少一个网络封包相同,则丢弃所述所接收的第一网络封包。
10.根据权利要求9所述的第一BLE节点,其特征在于,还包括连接器,被连接到所述接收器,并被配置为建立与所述电子装置的BLE连接。
11.根据权利要求9所述的第一BLE节点,其特征在于,如果在所述BLE网状网络中存在多个目的节点并且所述第一节点是所述多个目的节点中的一个,并且所述所接收的第一网络封包不同于存储在所述缓存中的网络封包,所述执行器执行由所述第一网络封包定义的动作,并所述发射器通过所述BLE网状网络中的通告信道广播接收到的所述第一网络封包。
12.如权利要求9所述的第一BLE节点,其特征在于,还包括:
第三识别器,与所述发射器连接,被配置为确定所述第一网络封包被允许向所述BLE网状网络中的下一节点发送的次数是否达到预设的上限值,以及,如果所述第一网络封包被允许发送的次数达到预设的上限值,则停止发送所述第一网络封包。
13.如权利要求9所述的第一BLE节点,其特征在于,还包括:
当所述接收器从所述第二BLE节点接收到之前已经从所述第一BLE节点广播了预定次数的第一网络封包时,所述第一识别器将所述第二BLE节点识别为所述第一BLE节点的相邻节点,并且所述缓存将所述第二BLE节点的蓝牙地址存储在相邻节点列表中;以及,
此后,当所述接收器从所述第二BLE节点接收到之前已经从所述第一BLE节点广播过的第二网络封包,所述第一识别器判定所述第二节点的蓝牙地址与存储在所述相邻节点列表中的至少一个蓝牙地址一致,则一个减法器按比例地根据相邻节点的总数减去广播所述第二网络封包的次数。
14.根据权利要求9所述的第一BLE节点,其特征在于,还包括:
在从所述第二BLE节点接收所述第一网络封包之后,所述第一识别器将所述第一BLE节点的缓存中存储的网络封包的命令与所述第二网络封包的命令相比较,
如果存储在所述缓存中的所述网络封包的命令的类型与所述第二网络封包的命令的类型相同,则所述发射器发送所述第二网络封包;以及,
所述缓存删除存储在所述缓存中的具有相同命令类型的网络封包,并删除对存储在所述缓存中的具有相同命令类型的网络封包的响应。
15.根据权利要求9所述的第一BLE节点,其特征在于,还包括:
所述缓存为需要被最先发送的所述第一BLE节点接收的网络封包建立传输优先级队列;
所述发射器发送在所述传输优先级队列中的网络封包;以及,
并在所述传输优先级队列中的网络封包全部被发送后,所述发射器开始发送剩余的接收到的网络封包。
16.根据权利要求9所述的第一BLE节点,其特征在于,还包括:
所述接收器接收所述第一网络封包之后,与所述接收器连接的控制器随机延迟所述第一网络封包预定的时间段;
所述控制器减少广播所述第一网络封包的时间间隔;以及,
当网络封包被所述第一BLE节点广播的次数达到预设的上限值时,所述控制器将所述间间隔切换回最初的时间间隔。
CN201810204188.XA 2018-03-13 2018-03-13 用于建立低功耗蓝牙网状网络的装置和方法 Active CN110278547B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810204188.XA CN110278547B (zh) 2018-03-13 2018-03-13 用于建立低功耗蓝牙网状网络的装置和方法
US15/936,455 US10530689B2 (en) 2018-03-13 2018-03-27 Device and method for establishing a bluetooth low energy mesh network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810204188.XA CN110278547B (zh) 2018-03-13 2018-03-13 用于建立低功耗蓝牙网状网络的装置和方法

Publications (2)

Publication Number Publication Date
CN110278547A true CN110278547A (zh) 2019-09-24
CN110278547B CN110278547B (zh) 2022-04-08

Family

ID=67906295

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810204188.XA Active CN110278547B (zh) 2018-03-13 2018-03-13 用于建立低功耗蓝牙网状网络的装置和方法

Country Status (2)

Country Link
US (1) US10530689B2 (zh)
CN (1) CN110278547B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020177579A1 (zh) * 2019-03-06 2020-09-10 乐鑫信息科技(上海)股份有限公司 一种用于在蓝牙mesh 网络中的节点处过滤冗余数据包的方法
CN113242573A (zh) * 2021-03-29 2021-08-10 广州安凯微电子股份有限公司 一种基于蓝牙Mesh网络的节点及其控制方法

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112584364B (zh) * 2019-09-30 2024-03-08 阿里巴巴集团控股有限公司 蓝牙网络及其通信方法、设备和存储介质
EP3813389A1 (en) 2019-10-21 2021-04-28 Carrier Corporation Broadcast delivery techniques in a wireless network

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120207179A1 (en) * 2011-02-15 2012-08-16 General Electric Company Methods and apparatuses for utility meters or other devices with communications prioritization
EP2779540A1 (en) * 2013-03-14 2014-09-17 Raytheon BBN Technologies Corp. Methods for dynamic transceiver resource allocation in multi-transceiver systems
US20140349684A1 (en) * 2009-05-29 2014-11-27 Nokia Corporation Method and apparatus for providing a collaborative reply over an ad-hoc mesh network
CN105068432A (zh) * 2015-07-03 2015-11-18 上海理工大学 可扩展智能家居网络控制系统
CN105451158A (zh) * 2014-09-19 2016-03-30 美国博通公司 蓝牙低功耗自动化网格网络
CN105491508A (zh) * 2015-06-30 2016-04-13 汤羽 基于蓝牙技术的手机自组通信网络CellNet的组网和路由算法
WO2017051173A1 (en) * 2015-09-21 2017-03-30 Nicoventures Holdings Limited Transmission of data through a mesh network topology
CN106658355A (zh) * 2016-09-26 2017-05-10 珠海格力电器股份有限公司 一种在蓝牙ble组网中转发广播包的方法及系统
US20170208639A1 (en) * 2016-01-15 2017-07-20 Lg Electronics Inc. Method and apparatus for controlling a device using bluetooth technology
CN107453996A (zh) * 2017-07-19 2017-12-08 西安奇妙电子科技有限公司 消息应答方法、消息转发方法及通信装置

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5277438B2 (ja) * 2008-11-10 2013-08-28 双葉電子工業株式会社 無線メッシュネットワークシステムおよびその制御方法ならびに無線装置
US9794934B2 (en) * 2015-04-08 2017-10-17 Nxp B.V. Method and system for communicating in a wireless mesh network
US10397850B2 (en) * 2015-04-30 2019-08-27 Lg Electronics Inc. Method and device for transmitting/receiving data in mesh network using bluetooth

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140349684A1 (en) * 2009-05-29 2014-11-27 Nokia Corporation Method and apparatus for providing a collaborative reply over an ad-hoc mesh network
US20120207179A1 (en) * 2011-02-15 2012-08-16 General Electric Company Methods and apparatuses for utility meters or other devices with communications prioritization
EP2779540A1 (en) * 2013-03-14 2014-09-17 Raytheon BBN Technologies Corp. Methods for dynamic transceiver resource allocation in multi-transceiver systems
CN105451158A (zh) * 2014-09-19 2016-03-30 美国博通公司 蓝牙低功耗自动化网格网络
CN105491508A (zh) * 2015-06-30 2016-04-13 汤羽 基于蓝牙技术的手机自组通信网络CellNet的组网和路由算法
CN105068432A (zh) * 2015-07-03 2015-11-18 上海理工大学 可扩展智能家居网络控制系统
WO2017051173A1 (en) * 2015-09-21 2017-03-30 Nicoventures Holdings Limited Transmission of data through a mesh network topology
US20170208639A1 (en) * 2016-01-15 2017-07-20 Lg Electronics Inc. Method and apparatus for controlling a device using bluetooth technology
CN106658355A (zh) * 2016-09-26 2017-05-10 珠海格力电器股份有限公司 一种在蓝牙ble组网中转发广播包的方法及系统
CN107453996A (zh) * 2017-07-19 2017-12-08 西安奇妙电子科技有限公司 消息应答方法、消息转发方法及通信装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
LUIS FELIPE DEL CARPIO 等: "Comparison of 802.11ah, BLE and 802.15.4 for a Home Automation Use Case", 《INTERNATIONAL JOURNAL OF WIRELESS INFORMATION NETWORKS VOLUME》 *
徐春燕 等: "BLE Mesh网络协议综述", 《电子技术应用》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020177579A1 (zh) * 2019-03-06 2020-09-10 乐鑫信息科技(上海)股份有限公司 一种用于在蓝牙mesh 网络中的节点处过滤冗余数据包的方法
CN113242573A (zh) * 2021-03-29 2021-08-10 广州安凯微电子股份有限公司 一种基于蓝牙Mesh网络的节点及其控制方法

Also Published As

Publication number Publication date
CN110278547B (zh) 2022-04-08
US10530689B2 (en) 2020-01-07
US20190288942A1 (en) 2019-09-19

Similar Documents

Publication Publication Date Title
CN110278547A (zh) 用于建立低功耗蓝牙网状网络的装置和方法
KR101284461B1 (ko) 메쉬 네트워크에서 다중 채널 설정 방법 및 장치
RU2442288C2 (ru) Способ резервирования ресурсов с гарантией максимальной задержки для многосегментной передачи в сети беспроводной связи с распределенным доступом
US7643790B2 (en) Local communication system and method in wireless communication system
US20200344596A1 (en) A method of and a system and node device for locating information available at a node device in a network of communicatively interconnected node devices
JP2551304B2 (ja) 同報リンク制御方式
CN101695019B (zh) 一种报文发送方法和设备
KR101988861B1 (ko) 네트워크 접속 방법 및 네트워크 장치
WO2017113130A1 (zh) 一种资源请求方法、设备、网络侧节点及系统
US20130067094A1 (en) Directly transfering data between devices
US20120155352A1 (en) Wireless local area communication system
CN105721414A (zh) 多确认多播协议
JP4335219B2 (ja) 無線lanトラヒック優先制御方法及びその装置
EP3721585B1 (en) A method of and a system and node device for locating information available at a node device in a network of communicatively interconnected node devices
CN1849785A (zh) 提供介质访问协议的方法
KR20110018906A (ko) 무선 네트워크들의 공간 재이용을 개선하기 위한 기술들
JP2007081569A (ja) 無線ネットワーク情報配信方法
JP5106535B2 (ja) 無線ネットワーク
CN101523814B (zh) 无线网
KR20180131965A (ko) 클러스터 간의 데이터 송수신 방법 및 장치
US7822422B2 (en) Wireless communication system for improved transmission priority control
CN107071925B (zh) 一种csma/ca机制下的广播信道可靠传输方法
KR100587013B1 (ko) ZigBee 개인 영역 네트워크(PAN) 간 통신 방법
CN205142245U (zh) 用于在载波侦听多址接入网络中进行组播通信的装置
US11818706B2 (en) Mesh performance using overlapping basic service set (OBSS) coloring and transmission scheduling

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