“大型”无线设备网络,蓝牙Mesh来实现(中)

时间:2018-08-06 11:02来源:蓝牙技术联盟

摘要:比起网络能够支持多少个节点,我们更应该了解的是:对于性能和可扩展性更好的衡量标准是——网络每秒能够处理的mesh消息数量。

  
蓝牙技术联盟EMEA开发关系经理
Martin Woolley
 
书接前文,上篇文章(“大型”无线设备网络,蓝牙Mesh来实现(上))中小码哥向大家介绍了影响无线通信媒介容量的基本因素,并带我们进一步了深入解了节点密度和封包冲突。
 
现在,我们就来回顾一下有关mesh网络可扩展性的问题。
 
网络可扩展性问题回顾
比起网络能够支持多少个节点,我们更应该了解的是:对于性能和可扩展性更好的衡量标准是——网络每秒能够处理的mesh消息数量。因为mesh消息是蓝牙mesh网络中开展工作的基础。同时,我们还应该将“可靠性”这一概念纳入我们的定义中,因为随着流量的增加,发生冲突和消息丢失的可能性也会增加。最后,由于只有位于彼此传输范围内的设备才会共享无线电介质,所以为评估可扩展性问题,我们只需要考虑设备是在足够接近,并能够进行直接通信的区域。
 
下面,请思考以下对于蓝牙mesh网络可扩展性的定义:
 
可扩展性:可在直接无线电范围内的节点之间进行通信,且消息丢失率不超过x.x%的每秒内mesh消息总数的最大值。
 
Mesh消息和广播承载层(Advertising Bearer)
由于以上新的定义来源于每秒的mesh消息数和影响无线通信的因素,我们现在应该更仔细地思考mesh消息是如何运用底层低功耗蓝牙无线电技术的。在mesh的介绍中,这个话题属于mesh协议栈的承载层的部分。目前界定了两个承载层,不过mesh网络中节点之间的通信通常使用其中一个,即“广播承载层”。
 
广播承载层指出了如何在三个低功耗蓝牙广播信道上的低功耗蓝牙广播封包内广播mesh网络PDU,以及如何通过扫描那些相同信道上的封包来接收PDU。
 
 
图4
 
 
图5
 
大多数mesh消息都能容纳进一个mesh网络PDU。低功耗蓝牙无线电速度非常快,为1 ms / s,而且mesh PDU很小,只有29个八位字节。图4和图5中以交通做的类比就适用于蓝牙mesh和广播承载层。低功耗蓝牙广播使用多达三个不同且特定的无线电信道,因此mesh广播承载层也是如此,如图6所示。这就使PDU的广播容量增加了三倍,但它执行工作的容量并未增加。通常每个PDU的相同副本最多能在三个广播信道上传输,一次一个;这个方法是为了提高可靠性而非应用层吞吐量。
 
 
图6
 
通用到特定的转化
目前为止,我们一直在思考普遍适用的理论和问题,即适用于所有蓝牙mesh网络的问题。之前我已经提到过询问蓝牙mesh能支持多少个节点的问题本身就不对,问题应该是关于每秒能够处理的mesh消息数量。
 
在谈到有特定类型的产品作为节点的网络和网络设计时,我们会发现有关“多少”的问题在这些具体案例中会比在本文摘要中(详见“小码哥系列(上)”)出现时显得更有意义,因为一切都视情况而定。
 
当采用能够彼此通信的设备来设计特定蓝牙mesh网络时,我们必须要评估位于彼此通信范围内(例如在楼宇的特定区域)的设备能否展现出良好的性能。为此,我们需要将对普遍适用型理论与对作为mesh网络成员的设备的预期行为的了解、以及我们计划进行配置的方式相结合。
 
简而言之,我们能够使用的无线通信容量有限,我们知道蓝牙mesh能够以有效且具有可扩展性的方式去使用有限的资源,但网络中的设备究竟会如何利用有限的资源呢?要回答这个问题,需要先从以下几个方面进行思考。
 
应用层
我们的网络包含大量非常复杂的设备吗?这些设备全天都会传输大量的消息吗?也许传感器采样并传输各种环境的测量值很频繁?或者我们的大多数设备只是偶尔发送消息,比如照明开关可能每天只会被按两次?这些问题与我们网络中设备的应用层行为和某些设备的用户有关。很明显的是,我们网络中的设备会影响我们的共享无线电资源如何被使用,以及特定区域中有多少设备能够共享这些资源。
 
请注意,要想执行一组设备的操作(比如调暗办公室中所有灯源),只需要发送单独的一条消息,而无需向每台目标设备分别发送一条消息。蓝牙mesh应用“发布和订阅消息系统”,这意味着由调光器开关发布的一条消息将被订阅这条消息的每台设备处理。这便是能够体现蓝牙mesh的效率的又一例证。
 
去中心化的照明控制器
商业楼宇中常见的需求就是通过传感器控制照明设备。传感器可用于控制开关照明。环境光传感器可用于动态控制照明的亮度,从而实现了无论通过窗户进入的自然光的亮度如何,整天都能保持恒定的环境光水平。
 
在有线系统中,为满足这些要求,网络中的设备通常需要采用一类称为控制器的设备。控制器位于传感器和需要控制的照明之间。控制器内的控制逻辑会在接收到指定的传感器数据的时候做出执行操作。所有传统无线系统采用完全相同的架构方法,并且如出一辙地需要使用专用的控制器设备。这就是我们所说的照明控制逻辑的集中式方法,如图9所示。
 
 
图9 – 集中式照明控制
 
在蓝牙mesh网络中,控制器就是由标准网格模型定义的软件组件,例如Light LC Server模型。Light LC Server模型是运行于照明灯本身的软件的一部分,因此,并不存在实际可见控制器设备;控制逻辑是受控设备的组成部分,传感器通过发布灯光Light LC Server模型已订阅的mesh传感器消息,直接与之对话。 Light LC Server会引发主体照明进行适当的操作,通常是利用mesh与其他模型的状态绑定,例如Light Lightness Server或Generic On Off Server。
 
去中心化的、基于软件的蓝牙mesh是一种更高效的拓扑,与使用专用控制器设备的集中式方式相比,其每类操作所需的有关无线电资源消耗的消息相对较少。


 
图10 – 去中心化的照明控制
 
需要再次强调的是,为了让传感器能够与其所关联的照明灯组通信,仅需要一条单独的信息而无需向每个照明灯分别发送信息。
 
单播与多播消息
蓝牙mesh能够把一则信心发送至使用单播地址的特定单一设备,或使用群组或虚拟地址的一组设备。事实上,我们很少会使用单播寻址,只有在将新设备添加到网络时才会建议使用这种方式。通常会进行群组寻址,它利用的是发布和订阅消息传递系统,使设备解耦(Decoupling) 并允许对网络进行更改,而无需重新配置。群组寻址还能提供可观的潜在性能优势。
 
 
 
这些性能优势来自于我已经陈述的一个事实,但它非常重要,所以我会再次强调一遍——控制一组两个设备只需要发送一条消息。控制一组200个设备也只需要发送一条消息。实际上,控制任何数量的一组蓝牙mesh设备都仅需要发送一条消息。
 
涉及多台设备组的操作非常普遍,特别是在商业楼宇领域。如果您在阅读本文时正坐在办公室中,请立即抬头看一眼天花板。您看到了多少盏照明灯?通常,商业楼宇的每层天花板上都分布着大量的LED灯。开关能够对这些照明灯群组进行控制,调节打开或关闭,变暗或变亮,或者在某些情况下控制改变灯组颜色。
 
这同样适用于传感器,传感器通常与照明灯和其他设备类型的群组,以及系统接口相关联。智能楼宇的基本要求和用例都是关于群组多播操作的。与所有优良的技术和设计方法一样,蓝牙mesh工作组在开始设计技术解决方案之前花了大量时间研究需求和用例,主要针对于群组多播及发布与订阅消息系统,这也反映了商业楼宇和照明领域的实际需求。
 
要充分了解其优点,请思考一下以下用例。首先是上一节中描述的基于传统集中式控制器架构构建的单播消息传递方式,其次是使用蓝牙mesh、群组消息、以及去中心化控制器架构。
 
用例:一个长矩形的开放式办公室的天花板上有100个照明灯,均匀分布于房间内——每排5盏灯,共20排。房间的一侧有窗户,所以房间内自然光线均匀。我们采取相关的策略把环境光传感器安装于房间中,每秒都会对环境光水平进行采样,并就读数进行通信,进而通过按要求对照明进行动态明暗调整,维持一致的环境光水平。

下面,让我们比较两种不同架构所需的网络流量(消息):
 
采用单播消息传递方式的集中式控制器
在此情况下,5排照明灯中的每一行都有一个相关的控制器,进而能够对每一行进行独立控制(当然这是另一个用例)。环境光传感器必须与每个控制器通信,且每个控制器必须与其控制的每盏照明灯通信。因此,就消息传递来说,请看下表:
 
 
 
采用群组多播消息传递方式的去中心化控制器
在这种替代性架构中,正如前面在“中心化照明控制器”部分中所述,控制器是嵌入在每个照明灯中的软件组件(照明控制模型)。因此,控制器和照明灯之间不需要无线通信。所有照明控制器型号都采用同一个群组地址,传感器每秒发布一次该地址。因此,就消息传递而言,请看下表:
 
 
 
这是一个十分具有代表性的案例。蓝牙mesh支持去中心化控制器、发布和订阅消息传递、以及群组多播寻址的使用。相较于去中心化的单播消息传递方式所消耗的流量,蓝牙mesh产生的通信消耗不到其1%。

免责声明:本文若是转载新闻稿,转载此文目的是在于传递更多的信息,版权归原作者所有。文章所用文字、图片、视频等素材如涉及作品版权问题,请联系本网编辑予以删除。
我要投稿
近期活动
帖子推荐更多

Copyright 2008-2024 21dianyuan.com All Rights Reserved 备案许可证号为:津ICP备10002348号-2