BLE-Mesh技术揭秘

来自谷雨文档中心
Ghostyu讨论 | 贡献2019年11月19日 (二) 22:22的版本 Mesh系列文章
跳转至: 导航搜索

蓝牙技术是享誉全球的品牌之一,也是全世界应用最为普遍的无线通信技术之一。从2000年到现在,蓝牙技术已经广泛应用于数十亿台设备。就2016年而言,制造商的蓝牙设备出货量更是超过30亿台

蓝牙的创新步伐从未停止。自面世以来,每一次改进都系统严谨,紧跟市场需求,一直支持和鼓励创新。

蓝牙技术令人惊叹的故事还在继续着,蓝牙mesh网络翻开了最新篇章,150家蓝牙技术联盟会员公司都参与了mesh的创建

1 第一章节:Mesh介绍

这是系列文章中的第一篇,将向您介绍蓝牙mesh网络。我们从两篇概述开始, 后续篇章中将更详细地探讨技术的各个方面。

1.1 风格 OR 特性

对蓝牙技术感兴趣的朋友一定有这样的习惯:定期查看蓝牙技术联盟采用的新版本。

通常,新版本为蓝牙提供附加特性,或者以某种方式改进现有功能。不管怎么说,蓝牙全新的“风格”已经面世;一款风格出众的蓝牙技术变体,将以完全不同的方式利用无线电,并针对一系列广泛的用例设计和应用进行了优化。

蓝牙基础速率/ 增强资料速率(BR / EDR)是蓝牙发布的第一款风格,旨在替代缆线连接,很快就成为无线音频市场的主宰,并推动了新型计算机外设(如无线鼠标和键盘)的发展。

蓝牙基础速率/ 增强资料速率(BR / EDR) 引发无线个人音频变革

随后登场的是低功耗蓝牙(Bluetooth Low Energy)。它经过优化,极大程度地减少了设备功耗,仅使用硬币大小的电池就能实现无线操作和通信,运行数年不在话下。

低功耗蓝牙现已被广泛采用。如今很难找到不支持低功耗蓝牙的智能手机或平板电脑。健康、运动和健身器材,如运动追踪设备、以及智能手表等可穿戴设备,都有赖于低功耗蓝牙技术。这一款蓝牙风格可谓影响深远。

低功耗蓝牙是推动可穿戴设备发展的重要技术

“那么蓝牙mesh网络是蓝牙的全新风格呢?还是新特性呢?”

其实两者都不是。现在就让我们来深入探讨一下这项惊人的、全新的蓝牙技术,同时了解mesh与蓝牙其他形式之间的关系自身工作原理

1.2 三大重要技术

蓝牙BR / EDR和低功耗蓝牙是智能手机等设备上的常用技术,但是它们不会互相依赖对方的服务和功能。针对所有的意图和目的,这两款风格的蓝牙技术都能彼此独立工作。事实上,虽然他们能在同一台设备上很好地共存,但是使用蓝牙BR / EDR的设备与低功耗蓝牙设备之间却无法进行通信。对于它们来说,有彼此相伴固然开心,但彼此之间却没有对话。

相比之下,蓝牙mesh网络使用、并且依赖于低功耗蓝牙。低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈。

“蓝牙mesh并非无线通信技术,而是一种网络技术。”

下图显示了蓝牙BR / EDR、低功耗蓝牙和蓝牙mesh之间的关系。

蓝牙mesh和低功耗蓝牙之间的关系

1.3 关于拓扑

从最基本的层面来讲,蓝牙BR / EDR能够实现一台设备到另一台设备的连接和通信,建立“一对一”的关系,大多数人所熟悉的“配对”(pairing)一词就是这个意思。一些设备能够与其他设备建立多重“一对一”通信关系,并形成一种称为“微微网”(piconet)的hub/spoke拓扑

蓝牙BR / EDR和一对一拓扑

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

低功耗蓝牙的广播应用

蓝牙mesh能让我们建立无线设备之间的“多对多”(m:m)关系。此外,设备能够将数据中继到不在初始设备直接无线电覆盖范围内的其他设备。这样,mesh网络就能够跨越非常大的物理区域,并包含大量设备。

BleMesh-蓝牙Mesh多对多网络拓扑

1.4 蓝牙Mesh的初衷

对于满足日益普及的各种通信需求,mesh拓扑结构能提供最佳的方式,因此蓝牙mesh网络应运而生典型的应用包括楼宇自动化和传感器网络等。这些通信需求包括:

  1. 覆盖面积广
  2. 直联互通性
  3. 监测和控制大量设备的能力
  4. 经优化的、低功耗的
  5. 有效利用无线电资源,有可扩展性
  6. 与当前市场上的智能手机、平板电脑和个人电脑产品兼容
  7. 符合行业标准,具有政府级安全性

虽然还有其他支持mesh拓扑的低功耗无线通信技术,但很多用户反馈显示,这些技术存在约束和限制,而且对于他们正在尝试解决的各种问题和希望创建的产品类型来说,也并非最佳选择。其他类似技术的问题包括低数据传输速率、在mesh上中继数据时的“跳数”限制、通常由无线电信道使用方式引起的可扩展性限制、以及按步骤更改mesh网络中设备组成的过程中出现的困难和延迟。

通常来说,其他mesh技术无法被标准智能手机、平板电脑和PC设备所支持,这是一个主要的限制因素。

创建符合行业标准的、基于低功耗蓝牙的mesh通信技术,就有可能满足他们的要求,同时没有相关的限制和约束。毕竟,互通性和能效是低功耗蓝牙最突出的特性

2 第二章节 Mesh网络基本概况

在第一章节中,我们介绍了全新的蓝牙mesh网络技术。如果您还未阅读第一章节,建议先从头阅读,然后再进入第二章节。

本章节将介绍蓝牙mesh网络的基本概况,包括大型mesh网络中的消息传输方式市场设备支持安全性mesh协议栈本身,在后续文章中也将继续探索这一技术方方面面的细节。

2.1 以消息为中心的通信

蓝牙mesh网络使用发布/订阅 (publish/subscribe)消息系统

设备可以将消息发送至特定地址,这些地址的名称和含义与用户能够理解的高级概念相对应,如“花园灯”(Garden Lights)。这被称为“发布”(publishing)。

设备经配置后,可接收由其他设备发送到特定地址的消息。这被称为“订阅” (subscribing) 。

当设备向特定地址发布消息时,订阅该地址的所有其他设备将收到该地址的副本,对其进行处理,并以某种方式作出回应。

想象一下花园里安装的一套户外灯, 每盏灯都已经过配置,以便其订阅“花园灯”消息。现在,想像一个蓝牙mesh电灯开关向“花园灯”地址发送了“开”的消息。没错,花园里的所有灯都会收到“ON”消息,并做出开灯的回应。

就是这么简单!

2.2 消息和设备状态

“状态” (state) 是蓝牙mesh网络中的一个关键概念。蓝牙mesh网络中的每台设备都具有一组独立的状态值,表示设备的某些状态。在花园灯的示例中,每盏灯都有一个状态值,表示设备当前是处于打开或关闭状态。通过发布一类在定义上意味着能够回应“开”或“关”状态值的消息,来改变状态值,蓝牙mesh电灯开关就能对灯泡进行控制。更改状态值会修改设备本身的物理状况,例如打开或关闭设备。

消息、状态、以及这些和其他概念相关的设备行为已被定义在规格中,称为“模型”(modules)。模型由蓝牙mesh设备实施。

2.3 中继

得益于mesh网络,设备可以在非常广阔的区域中安装,同时彼此之间保持通信。想象一下购物中心、机场或办公大楼的占地空间有多广阔。因为存在墙壁和其他物理上的障碍物,楼宇中的设备可能无法与安装在同一楼宇远侧的设备、或临近楼宇中的设备建立直接的无线连接。而蓝牙mesh网络则能够将网络中的某些设备指定为“中继设备”,进而解决这一难题。

中继设备能够转发从其他设备接收到的消息。在转发消息时,它们能够与位于初始消息发布设备无线范围以外的设备进行通信。消息可多次被中继,每一次中继即为一“跳”,最多可进行127跳,足以在一片广阔的物理区域中进行消息传输。

蓝牙 mesh网络在节点之间中继消息

2.4 管理型网络泛洪(Managed Flooding)

蓝牙mesh网络采用一种称为“网络泛洪(flooding)”的方式来发布和中继消息。这意味着消息不会通过某一进程进行路由, 也不会沿着由一系列特定设备构成的特定路径来进行传输。相反,传输范围内的所有设备都会接收消息,负责中继的设备能将消息转发至其传输范围内的所有其他设备。

“网络泛洪”这项技术在使用中往往是利弊参半。在蓝牙mesh网络的设计中,我们对此进行了针对性的优化,相信能够扬长避短

2.4.1 网络泛洪的优势

网络泛洪的优势在于无需特定设备专门扮演集中式路由器的角色。集中式路由器一旦发生故障,就可能会导致整个网络无法运行。没有特定的路由也可能对网络造成灾难性的影响,但这种情况也可以通过在mesh网络中采用网络泛洪的方法来避免。

网络泛洪的方式也意味着消息一般能够通过多重路径到达其目的地。这就构建了一个相当可靠的网络。

2.4.2 优化mesh网络

蓝牙mesh网络也采取了一系列措施,支持采用网络泛洪的方式,同时优化每台设备、甚至整体网络的能耗。

所有数据包都包含一个称为TTL的字段,它可用于限制消息中继的跳数。由设备间歇性发送的心跳消息中包含的信息,能够让网络了解其拓扑结构、以及传到其他每台设备之间的跳数。这能够让设备将TTL设置为最佳值,从而避免不必要的中继操作。

每台设备都包含消息缓存,以确定自身是否已经中继过该消息。如果是,则会立即丢弃该消息,从而避免上层堆栈进行不必要的处理。

最有趣的是,功率非常受限的设备(例如由小型电池持续供电多年的传感器)可能被指定为“低功耗节点”。低功耗节点能够与一个或多个被指定为 “friends” 的设备协同工作。Friends并非功率受限,它可以作为低功耗节点,存储寻址到这一低功耗节点的消息,并且只有在低功耗节点需要时才传送消息。低功耗节点和“friends”之间的关系理所当然就称为“friendship”。

3 Mesh系列文章

蓝牙官方组织在其微信公账号上发布了有关Mesh的系列文章,强烈建议开发者仔细阅读。文章列表如下:

  1. 解密蓝牙mesh|第一篇
  2. 解密蓝牙mesh|第二篇
  3. 解密蓝牙mesh|第三篇
  4. 解密蓝牙mesh|第四篇
  5. 解密蓝牙mesh|第五篇
  6. 解密蓝牙mesh|第六篇
  7. 解密蓝牙mesh|第七篇
  8. 解密蓝牙mesh|第八篇
  9. 解密蓝牙mesh|第九篇
  10. 解密蓝牙mesh|第十篇

本PDF由谷雨文档中心自动生成,点击下方链接阅读最新内容。

取自“http://doc.iotxx.com/index.php?title=BLE-Mesh技术揭秘&oldid=2373