Ble低功耗蓝牙和蓝牙mesh网络之间的区别与关系

转载自:https://www.cnblogs.com/skylab2002/p/9154996.htmlhttps://www.cnblogs.com/suozhang/p/7837312.html
如今蓝牙mesh组网从推出到现在近一年时间了,蓝牙mesh组网的优势让众多方案商趋之若鹜。今天来普及下Ble低功耗蓝牙和蓝牙mesh网络之间的关系!

一、低功耗蓝牙和蓝牙mesh的区别和关系:

蓝牙mesh并非无线通信技术,而是一种网络技术。蓝牙mesh网络依赖于低功耗蓝牙。低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈。
在这里插入图片描述

低功耗蓝牙设备可以设置成广播模式,以无连接方式进行工作,其广播的数据,位于广播范围内的任何其他蓝牙主机设备都可接收。这是“一对多”(1:N)的拓扑,其中N可以是一个非常大的数量! 如果接收广播的设备本身不进行数据传输,那么广播设备的无线电频谱就仅仅是针对自己而言的,同时对于能够接收和利用其广播的其他设备数量没有明确的限制。蓝牙Beacon就是蓝牙广播功能的一个绝佳案例。

二、蓝牙mesh基于ble低功耗蓝牙广播

蓝牙Mesh采用ble低功耗蓝牙广播的方式就行信息发送和接受,将信息从网络当中的某一个节点转发至目的节点,在蓝牙mesh组网中,这种广播模式也称为网络泛洪。

采用网络泛洪的方式,通过可控的泛洪消息传递,不需要创建和管理复杂的路由表、路由发现表等,节省了维护网络运行的存储器空间的开销。同时,网络泛洪消息传播的本质是多路径(Multi path)的,确保了信息可以通过多条路径传递到目的节点,因此网络中任何一个单点的故障也不会对网络传输造成致命性的影响,这使得网络高度可靠。

低功耗节点和Friend节点

在蓝牙Mesh网络中,低功耗节点可以通过减少射频收发机(RF transceiver)开启的占空比来达到低功耗的目的,这些低功耗节点只有在需要进行消息收发的时候才会打开射频收发器,其他时间都处于休眠状态。

在蓝牙Mesh网络中还有一类节点是专门为低功耗节点服务的,其具有Friend特性,也可以称为Friend节点。Friend节点与低功耗节点可以建立Friendship关系。建立此种关系之后,Friend节点可以暂存发往低功耗节点的信息,待低功耗节点退出休眠模式之后,再从Friend节点取回相关信息。

在实际应用中,Friend节点可以是灯泡、机顶盒、路由器,这些设备都是通过市电供电的,对于功耗不是很敏感;低功耗节点可以是由电池供电的设备,如传感器等。

三、SKYLAB蓝牙mesh组网灯控方案:

天工测控基于最新的蓝牙mesh组网机制推出了蓝牙mesh组网灯控方案。在蓝牙Mesh组网灯控方案中,将蓝牙4.2模块(SKB369)嵌入进LED灯的控制电路中,使用者通过手机蓝牙连接蓝牙Mesh网络中任何一个LED灯里面的蓝牙模块,就可以控制mesh网络中的任意一个LED灯或一组LED灯。这套蓝牙mesh灯控方案能建立无线蓝牙设备之间的多对多(N:N)的关系。

在这里插入图片描述
蓝牙 mesh网络和多对多拓扑

基于低功耗蓝牙mesh模块SKB369,功耗极低!

在这里插入图片描述

蓝牙Mesh组网的功能支持:

在这里插入图片描述

四、与低功耗蓝牙的关系 Relation to Bluetooth low energy

蓝牙MESH是基于蓝牙4.0规范的蓝牙低能量部分,并与该协议共享最低层。在空中,蓝牙MESH物理层表示与现有的低功耗蓝牙设备兼容,因为MESH信息包含在蓝牙低能量广播包的有效负载中。然而,蓝牙MESH指定了一个全新的主机层,尽管一些概念是共享的,但蓝牙MESH与低功耗主机层是不兼容的。
在这里插入图片描述
蓝牙MESH和低功耗蓝牙技术之间的关系

五、应用领域 Application areas

蓝牙MESH主要针对简单的控制和监视应用,比如光控或传感器数据采集。包格式针对小的控制包进行了优化,发出单一的命令或报告,并且不适合用于数据流或其他高带宽的应用程序。使用蓝牙MESH比传统的低功耗蓝牙技术更能消耗电能。这主要是由于需要保持无线电的持续运行。因此,不像BLE的广播客户,活跃的网状设备不能在长时间内关闭电池。在一个MESH中,蓝牙MESH最多支持32767个设备,最大的MESH直径为126跳。

六、网络拓扑和中继 Network topology and relaying

蓝牙MESH是一个基于广播的网络协议,在这个网络协议中,网络中的每一个设备都发送和接收来自无线电范围内所有设备的所有消息。在网状网络中没有连接的概念。网络中的任何设备都可以从其他设备中传输消息,这使得一个网络设备可以通过让一个或多个其他设备将消息传递到目的地,从而将消息发送到无线电范围之外的设备上。这一特性还允许设备在任何时候移动和退出网络。

七、MESH传输 Mesh transport

蓝牙MESH利用BLE的广播和扫描仪角色,通过BLE的广播包进行通信。广播包被附近的MESH设备接收,并像其他BLE的低能量广播包一样处理。MESH数据包以唯一的广播类型表示,并添加到广播层的有效负载中。

BLE在定期的广播间隔发送广播包,而MESH数据包也不例外。然而,与传统的广播者不同的是,MESH设备将会在每次传输中改变广播层的有效负载,在堆栈中按照队列的方式排列新的MESH包。每个蓝牙MESH广播包只在每台设备上传输一次,如果在MESH中没有流量,设备就会保持沉默。

八、 中继器 Relays

蓝牙mesh通过转播消息来扩展网络的范围。任何网络设备都可以配置为一个中继器,并且不需要专门的中继设备来建立一个网络。作为中继的每一个设备都将减少接收消息的时间(TTL)值,如果TTL是2或更高,则转发它们。这种无定向的中继被称为消息泛滥,并确保消息传递的高概率,而不需要任何关于网络拓扑的信息。网格配置文件规范不提供任何路由机制,所有的消息都由所有的中继转发,直到TTL值达到0。为了避免被相同的中继转发的消息,所有的网格设备都维护一个消息缓存。这个缓存用于过滤设备已经处理过的数据包。基于洪水的消息传递方法可能会导致大量的空中冗余流量,这可能会影响网络的吞吐量和可靠性。因此,强烈建议限制网络中继电器的数量来限制这种效果。在网络中,启用了中继的设备的速率是消息的冗余和可靠性之间的一种权衡。它应该根据网络密度、流量、网络布局和可靠性和响应性需求进行调整。

九、GATT 代理 GATT proxy

为了支持不支持接收网格数据包的传统蓝牙低功耗设备,蓝牙MESH定义了一个单独的协议,用于通过蓝牙低功耗的GATT协议来实现隧道网消息。为此,MESH配置文件规范定义了一个GATT的持有者和相应的GATT代理协议。该协议允许传统的蓝牙低功耗设备通过建立一个GATT连接到一个具有代理特性的网格设备来参与MESH。

遗留设备被分配一个地址和必要的密钥,成为网络的正式成员。该设备通过常规的配置过程或通过一些带外的机制接收安全凭据。

十、电力消耗 Power consumption

为了支持基于广播的通信,设备必须连续不断地将无线电保持在收听模式中,这比典型的低功耗蓝牙低功耗设备的功耗要高得多。为了使低功耗设备能够参与到MESH网络中,蓝牙MESH包含了一个低功耗的友好功能。该协议允许低功耗设备与常规的mesh设备建立一种关系,然后定期将消息缓存和转发给低功耗设备。

这样就可以节省低功率设备,让它不必再继续听传入的消息了。

十一、寻址 Addressing

蓝牙MESH寻址方案与低功耗蓝牙寻址方案不同。它有三种类型的地址:

单一地址:每个设备的唯一
组地址:允许形成一组设备,并一次性处理它们
虚拟地址:未跟踪的基于uuid的地址,地址空间很大
  当一个设备被添加到一个网络时,它被分配一个代表它的单一地址的地址。设备的单位地址不能更改,而且总是顺序的。单一的地址空间支持在单一的网格网络中拥有32767个单位地址。任何应用程序都可以使用单播地址直接向设备发送消息。
  组地址分配和分配作为网络配置过程的一部分。组地址可以表示任意数量的设备,并且设备可能是任意数量的组的一部分(即同一设备可以属于多个任意不同的组)。在一个网状网络中最多可以有16127个通用目标组地址。
  虚拟地址可以看作是组地址的一种特殊形式,可以用来表示任意数量的设备。每个虚拟地址都是由一个文本标签生成的128位UUID。虚拟地址不需要通过网络配置设备来跟踪,这样,用户可以在部署之前生成虚拟地址,也可以在网络中的设备之间生成特定的地址。

十二、供应 Provisioning

在一个设备能够参与正常的网格操作之前,必须先提供它。在供应过程中,一个设备被添加到网络中,并被分配到一个单一的地址、一个网络密钥和一个设备密钥。供应是由一个供应者完成的,这是一个受信任的设备,可以访问网络中的所有设备和它们的地址。在配置了新设备之后,预计将使用新设备的设备密钥来建立一个安全通道来配置它。

十三、模型和元素 Models and Elements

模型和元素为了规范来自不同供应商的设备之间的通信,网格配置文件规范定义了一个访问层,它在设备的不同模型之间路由网格消息。模型表示特定的行为或服务,并定义一组状态和消息,这些状态和消息在这些状态下执行。网格配置文件规范和网格模型规范分别定义了一组模型来覆盖典型的使用场景,比如设备配置、传感器读数和光控制。除了这些,供应商还可以自由地定义自己的模型,并提供相应的消息和状态。

设备中的模型属于元素。每个设备都有一个或多个元素,每个元素都在网格中作为一个虚拟实体,并具有自己唯一的单一地址。每个传入消息都由一个元素中的模型实例处理。为了能够唯一地解决如何处理消息的方式,每个元素只有一个模型实例可以为特定的消息操作码实现一个处理程序。如果一个设备具有相同模型的多个实例,那么每个实例必须被分配给一个单独的元素。类似地,如果两个模型为相同的消息实现处理程序,那么这些模型必须在单独的元素中。

为了用最少的消息和状态重复来表示复杂的行为,模型可以由其他模型组成,可能跨越多个元素。这些模型被称为扩展模型。纯自包含的模型称为根模型。

模型通过发布和订阅系统相互通信。每个模型都可以订阅一组组和虚拟地址,并且模型只处理发布到其订阅地址或包含元素的单播地址的消息。任何模型都可以维护发布消息的发布地址。这个发布地址可以是任何类型的。

猜你喜欢

转载自blog.csdn.net/qq_24179601/article/details/85262391