第一部分“1.Bluetooth演进”,我们分享了蓝牙的历史演进,和经典蓝牙、单模蓝牙、双模蓝牙等概率; 第二部分“2、BR/EDR VS BLE/mesh”,我们简单分享了BR/EDR、BLE、BLE&Mesh的特点和基本工作模式; 第三部分“3、mesh 架构”,我们再一起认识下BLE Mesh的架构; 3、mesh 架构 3.1 蓝牙低功耗堆栈(Bluetooth Low Energy) 在mesh架构堆栈底部,有一层名为“蓝牙低功耗”。实际上,这并非仅是mesh架构的其中一层,而是完整的蓝牙低功耗堆栈,是提供基础无线通信功能所必需的,这些功能可为位于其上的mesh架构所用。应该清楚的是,mesh系统有赖于蓝牙低功耗堆栈的可用性。 3.2 承载层(bearer layer) mesh消息需要基础的通信系统来进行传输和接收。承载层定义了网络PDU如何由给定的通信系统进行处理。这时定义了两个承载层,即广播承载层和GATT承载层。 广播承载层利用蓝牙低功耗的GAP广播和扫描功能来 传送和接收mesh PDU。 GATT承载层允许不支持广播承载层的设备间接地与mesh网络中的节点进行通信,mesh网络使用的协议为“代理协议”,封装在涉及特定GATT特性的GATT操 作中。mesh代理节点可实现这些GATT特性,并支持GATT承载层和广播承载层,以便在两种类型的承载层 之间转换和中继消息。 3.3 网络层(network layer) 网络层定义各种消息地址类型,以及允许承载层传送传输层PDU的mesh消息格式。 它可以支持多个承载层,每个承载层可具有多个网络接口,包括用作同一节点部分元素之间通信的本地接口。 网络层决定了通过哪个网络接口输出消息。将输入滤波器应用于来自承载层的消息,以明确其是否应被递送至网络层以进行进一步处理。输出消息需要输出过滤器来控制是否将其丢弃或传送到承载层。 中继和代理功能可以由网络层来实施。 3.4 底层传输层(lower transport layer) 底层传输层从上层传输层接收PDU,并将其发送到对等设备的底层传输层。它会在所需之处执行PDU的分段和重组。对于较长的数据包,无法通过单一的传输PDU进行传输,底层传输层将执行分段,将PDU分成多个传输PDU。在另一台设备上负责接收的底层传输 层,再将这些分段重新组合到上层传输层PDU中,并将其传递到堆栈。 3.5 上层传输层(upper transport layer) 上层传输层负责对传入和传出接入层的应用数据进行加密、解密和认证。它还负责传输控制消息,这些消息生成于内部、并发送于不同对等节点的上层传输层之间,包括与“友谊”和“心跳”相关的消息。 3.6 访问层(access layer) 访问层负责定义应用如何利用上层传输层,包括: • 定义应用数据的格式。 • 定义并控制在上层传输层执行的加密和解密过程。 • 在将数据上传到堆栈之前,对来自上层传输层的数据进行验证,判断其是否适用于该网络和应用。 3.7 基础模型层(foundation models) 基础模型层负责mesh网络的配置和管理相关模型的实施。 3.8 模型层(models) 模型层涉及模型的实施,因此涉及一个或多个模型规格中定义的行为、消息、状态、状态绑定等的实现。 后记:若有语误或者不恰当的地方,欢迎各位读者指出哈(^_^)
|