以下来源于蓝牙技术联盟

我们的客户需要更广的传输范围、严密的安全性、以及与大量设备的可靠通信…有了蓝牙mesh,我们就能解决传输范围和限制等更复杂的问题。


蓝牙mesh入门

内容

全面概述了蓝牙mesh网络技术,以及蓝牙mesh网络中消息传输的工作原理,包括发布(Publish)、订阅(Subscribe)、中继(Relay)、管理型泛洪(Managed Flooding)和安全(Security)等重要概念。

基础知识

低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈。
蓝牙mesh并非无线通信技术,而是一种网络技术。
蓝牙mesh网络使用发布/订阅 (publish/subscribe)消息系统。
中继设备能够转发从其他设备接收到的消息。 最多可进行127跳。

低功耗节点与friend

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

代理节点

蓝牙mesh网络会指定一台设备来扮演代理节点(proxy node)的角色。代理节点包含一项标准:低功耗蓝牙GATT服务,具有两个GATT特性,分别是mesh代理数据输入(Mesh Proxy Data In)和mesh代理数据输出(Mesh Proxy Data Out)。

安全性

每个数据包都经过加密和认证。通过合理使用序列号能够防止中继攻击。在重要流程中使用不对称加密技术可防止中间人(Man-in-the-middle)攻击。同时针对利用废弃设备的垃圾桶攻击提供保护。必要时还会刷新安全密钥。

协议栈

蓝牙mesh配网流程 蓝牙mesh怎么组网_协议栈


该规格是深入了解各层责任的最佳方式。为帮助您更好地了解其工作原理,以下列出了协议栈各层负责的工作:

承载层(bearer layer):承载层定义了如何使用底层低功耗堆栈传输PDU。目前定义了两个承载层:广播承载层(Advertising Bearer)和GATT承载层。

网络层(network layer):网络层定义了各种消息地址类型和网络消息格式。中继和代理行为通过网络层实施。

底层传输层(lower transport layer):在需要之时,底层传输层能够处理PDU的分段和重组。

上层传输层(upper transport layer):负责对接入层进出的应用数据进行加密、解密和认证。它还负责称为“传输控制消息”(transport control messages)这一特殊的消息,包括与“friendship”相关的心跳和消息。

接入层(access layer):负责应用数据的格式、定义并控制上层传输层中执行的加密和解密过程,并在将数据转发到协议栈之前,验证接收到的数据是否适用于正确的网络和应用。

基础模型(foundation models):基础模型层负责实现与mesh网络配置和管理相关的模型。

模型(models):模型层与模型等的实施、以及诸如行为、消息、状态等的实施有关。


蓝牙mesh网络基本概念

内容

阐释了蓝牙mesh网络的基本概念和术语,包括节点(Node)和元素(Elements)如何相互作用、模型(Model)和状态(State) 之间的差异、以及不同类型的地址(Address) 和消息(Message)。

基本概念

节点(node):蓝牙mesh网络中的每一台设备都是节点。
元素(element):
模型(model):
状态(state):

元素

蓝牙mesh配网流程 蓝牙mesh怎么组网_数据_02


一些节点的复杂性高于其他节点,由多个称为元素(Element)的独立部分组成。 每个节点至少拥有一个元素,称为主元素(Primary Element),同时还可能包含其他多个元素(图3)。元素由定义节点功能和元素条件的实体组成。 模型能够定义并实施节点的功能和行为,而状态 (State) 能够定义元素的条件。 例如,一个灯泡内有一个元素, 并具有两种功能:

蓝牙mesh配网流程 蓝牙mesh怎么组网_低功耗_03

蓝牙mesh配网流程 蓝牙mesh怎么组网_数据_04


蓝牙mesh网络可借助消息,

通过客户端 - 服务器架构进行通信。服务器的功能是暴露元素的状态。

客户端可对状态进行访问,请求、更改或使用服务器的状态。

蓝牙mesh配网流程 蓝牙mesh怎么组网_蓝牙mesh配网流程_05


蓝牙mesh配网流程 蓝牙mesh怎么组网_蓝牙mesh配网流程_06