一种蓝牙设备及其mesh网络的通信方法和系统与流程

文档序号:14685137发布日期:2018-06-12 23:18阅读:373来源:国知局
一种蓝牙设备及其mesh网络的通信方法和系统与流程

本发明涉及蓝牙Mesh网络技术领域,具体涉及蓝牙设备及其mesh网络的通信方法和系统。



背景技术:

蓝牙Mesh网络是一种在低能耗蓝牙(Bluetooth Low Energy)设备之间建立多对多(many:many)通信的新的网络拓扑。它允许创建基于多个蓝牙设备的大型网络(数十个、数百个或是上千个蓝牙设备),这些蓝牙设备之间可以相互进行信息的传递。此技术为楼宇自动化、无线传感器网络等应用提供了一种理想的解决方案。

蓝牙Mesh网络采用flooding(网络泛洪,广播)的方式进行信息的转发,将信息从网络当中的某一个节点转发至目的节点。不需要创建和管理复杂的路由表、路由发现表等,节省了维护网络运行的存储器空间的开销。并且,由于网络泛洪消息传播是多路径(Multi path)的,确保了信息可以通过多条路径传递到目的节点,任何一个单点的故障也不会对网络传输造成致命性的影响,可靠性高。但是这种flooding方式也存在着以下的缺点:

蓝牙Mesh网络中的一个蓝牙设备发出的广播,整个Mesh网络内的所有蓝牙设备都会接收到这个广播信息,对于不是目标设备的其它设备会再次转发此广播信息,直到目标设备接收到广播信息为止。于是一条广播数据包会在Mesh网络内多次转发,形成广播风暴,网络效率低下;并且造成设备电量的损耗和设备处理广播数据的负荷增大。



技术实现要素:

本发明所要解决的技术问题是现有Mesh网络采用广播方式进行信息转发,网络效率低的问题。

为了解决上述技术问题,本发明所采用的技术方案是提供一种蓝牙mesh网络的通信方法,包括以下步骤:

在蓝牙mesh网络中指定若干蓝牙设备作为广播数据包的转发节点,并仅由指定的蓝牙设备对源设备发出的广播数据包进行转发,直到所述广播数据包到达目标设备。

上述方法中,指定的蓝牙设备可以为一个或多个。

上述方法中,指定的蓝牙设备为一个,应位于所有蓝牙设备的广播范围内;

指定的蓝牙设备为多个,应通过桥接联动方式,使广播能够覆盖到所有的蓝牙设备。

上述方法中,指定的蓝牙设备在转发其收到的广播数据包时,附带上自身的ID,用以表明已经转发了该广播数据包,并在再次收到该广播数据包时丢弃该广播数据包。

上述方法中,除指定的蓝牙设备之外的其余蓝牙设备,收到所述广播数据包后丢弃。

上述方法中,指定的蓝牙设备收到广播数据包后,根据其中是否包括自身的ID判断该广播数据包是否已经转发过。

本发明还提供了一种蓝牙设备,包括:

判断模块,根据收到的广播数据包中是否包括自身的ID判断所述广播数据包是否已经转发过;

标识添加模块,对于不含有自身的ID的广播数据包,添加上自身的ID,用以表明已经转发了该广播数据包;

处理模块,对未转发过的广播数据包进行广播,对于已经转发过的广播数据包丢弃。

本发明还提供了一种蓝牙mesh网络的通信系统,由多个上述的蓝牙设备组成mesh网络,指定其中的若干蓝牙设备作为广播数据包的转发节点,并仅由指定的蓝牙设备对源设备发出的广播数据包进行转发,直到所述广播数据包到达目标设备。

本发明,在蓝牙mesh网络中指定若干蓝牙设备作为广播数据包的转发节点,避免了一条广播数据包的大量转发,提高了网络效率,并且大大提升了设备处理数据的速度和性能,降低了设备的电能消耗。

附图说明

图1为本发明具体实施例应用示意图;

图2为本发明蓝牙mesh网络的通信方法流程图。

具体实施方式

本发明提供了一种蓝牙设备及其mesh网络的通信方法和系统,大大提高了网络效率,以及设备处理数据的速度和性能,降低了设备的电能消耗。下面结合说明书附图和具体实施方式对本发明做出详细的说明。

本发明提供的蓝牙mesh网络的通信方法,包括以下步骤:

在蓝牙mesh网络中指定若干蓝牙设备作为广播数据包的转发节点,并仅由指定的蓝牙设备对源设备发出的广播数据包进行转发,直到所述广播数据包到达目标设备。

其中,指定的蓝牙设备可以是一个,也可以是多个,指定的蓝牙设备为一个时,该指定的蓝牙设备应位于所有蓝牙设备的广播范围内;指定的蓝牙设备为多个时,多个指定的蓝牙设备应通过桥接进行联动方式,使广播能够覆盖到所有的蓝牙设备。

指定的蓝牙设备在转发其收到的广播数据包时,附带上自身的ID,用以表明已经转发了该广播数据包,并在再次收到该广播数据包时丢弃该广播数据包。指定的蓝牙设备收到广播数据包后,根据其中是否包括自身的ID判断该广播数据包是否已经转发过。

除指定的蓝牙设备之外的其余蓝牙设备,收到所述广播数据包后丢弃。

以如图1所示的具体实施例为例,蓝牙设备A发出广播数据包给目的蓝牙设备D,由于由于蓝牙设备A和蓝牙设备D之间的距离太远,蓝牙设备A直接发出广播数据包达不到蓝牙设备D,于是指定了第一、第二两个蓝牙设备F、G作为消息节点进行转发。

如图1、图2所示,详细流程如下:

S101:蓝牙设备A向蓝牙设备D发送广播数据包X(包含的目的设备蓝牙设备D的ID),有可能收到广播数据包X的设备包括蓝牙设备B、C、E和指定的蓝牙设备F、G。其中,蓝牙设备B、C、E、G因距离较远(信号范围之外)而收不到广播数据包X,只有指定的蓝牙设备F能够收到。

S102:第一个指定蓝牙设备F,接收到广播数据包X后,附带上自身的ID形成广播数据包Y,然后转发该广播数据包Y,此时广播数据包Y中包含有蓝牙设备F的ID。

即使蓝牙设备B、C、E、G能够收到广播数据包X,也会因自身不是目的设备而丢弃广播数据包X(目的设备ID不同)。

S103:有可能收到蓝牙设备F发出的广播数据包Y的设备包括:蓝牙设备A、B、C、E和指定的蓝牙设备G。其中,蓝牙设备A因距离较远而收不到广播数据包Y。

蓝牙设备B、C、E接收到广播数据包Y后,由于自身不是目的设备,因而丢弃广播数据包Y,不再进行转发。

S104:第二个指定蓝牙设备G接收到蓝牙设备F发出的广播数据包Y后,附带上自身的ID形成广播数据包Z后继续转发,此时广播数据包Z中同时包含有蓝牙设备F和蓝牙设备G的ID。

同样地,即使蓝牙设备蓝牙设备A收到广播数据包Y也会因自身不是目的设备而丢弃广播数据包Y。

S105:有可能收到广播数据包Z的设备包括:蓝牙设备A、B、C、E、D和指定的蓝牙设备F。其中,蓝牙设备A、B因距离较远而收不到广播数据包Z。

蓝牙设备C、E接收到蓝牙设备G发出的广播数据包Z后,由于自身不是目标设备而丢弃。

同样地,即使蓝牙设备蓝牙设备A、B收到广播数据包Z也会因自身不是目的设备而丢弃广播数据包Z。

S106:蓝牙设备F接收到蓝牙设备G的广播数据包Z后,由于已经转发过,因此也会丢弃广播数据包Z。

S107:蓝牙设备D接收到蓝牙设备G的广播数据包Z后,通过信息匹配表明蓝牙设备D是目标设备,从而对数据包进行处理。

指定的蓝牙设备判断是否已经转发过广播数据包的方法是,将收到的广播数据包解析,如果其中包含有自身的ID,就说明已经转发过该广播数据包了。通过添加自身ID的方式,封包和解包都非常的方便、处理速度快。

本具体实施例中,两个指的蓝牙设备F和G的广播范围都只能覆盖一部分的蓝牙设备,但是通过二者的桥接联动方式(蓝牙设备G做为蓝牙设备F的桥梁),则可以覆盖到全部的蓝牙设备,从而保证了任何一个蓝牙设备都可以与其他任一个蓝牙设备通信。

结合以上方法,本发明提供了一种蓝牙设备,包括:

判断模块,根据收到的广播数据包中是否包括自身的ID判断所述广播数据包是否已经转发过;

标识添加模块,对于不含有自身的ID的广播数据包,添加上自身的ID,用以表明已经转发了该广播数据包;

处理模块,对未转发过的广播数据包进行广播,对于已经转发过的广播数据包丢弃。

利用上述蓝牙设备,本发明还提供了一种蓝牙mesh网络的通信系统,由多个上述的蓝牙设备组成mesh网络,指定其中的若干蓝牙设备作为广播数据包的转发节点,并仅由指定的蓝牙设备对源设备发出的广播数据包进行转发,直到所述广播数据包到达目标设备。

本发明,在局域网内使用指定的蓝牙设备作为广播数据包转发节点,以此代发广播数据包到目标设备,其它设备只作为接收和发送广播数据,不作转发广播数据包,从而避免了广播数据包多次转发的情况。

本发明不局限于上述最佳实施方式,任何人应该得知在本发明的启示下做出的结构变化,凡是与本发明具有相同或相近的技术方案,均落入本发明的保护范围之内。

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