欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  网络运营

蓝牙Mesh基础 Bearer Layer (承载层)

程序员文章站 2022-06-18 15:51:18
Bearer LayerAdvertising bearerGATT Bearer为了给不支持蓝牙mesh的设备提供进入网络的机会,在承载层设置了两种承载,以满足不同的需求。Advertising bearer广播承载向下对接ble协议的广播扫描功能,所以向外发送的PDU结构符合ble广播通道PDU格式。前导----前导码占一个字节,它有两个值分别为: 10101010b 和 01010101b。数据由硬件实现,当接入地址的最低位为 0 时, 那么前导码为10101010b, 如果是 1 时,前...



为了给不支持蓝牙mesh的设备提供进入网络的机会,在承载层设置了两种承载,以满足不同的需求。

Advertising bearer

广播承载向下对接ble协议的广播扫描功能,所以向外发送的PDU结构需要符合ble广播通道PDU的格式。下图是ble广播PDU格式图:

蓝牙Mesh基础 Bearer Layer (承载层)

  • 前导----前导码占一个字节,它有两个值分别为: 10101010b 和 01010101b。数据由硬件实现,当接入地址的最低位为 0 时, 那么前导码为10101010b, 如果是 1 时,前导码为 01010101b,目的是保证报文的前 9 个 bit 都是交替位

  • 接入地址----占4个字节,对广播类型来说是一个固定值:0x8e89bed6,用于减少随机噪声造成伪报文接收的概率

  • 报文类型----占用报头的低4位,共有7种报文类型。

  • 发送地址----占1位,用于说明设备地址类型,为1时表示随机地址,0表示公共地址

  • 接收地址----和发送地址一样

  • 数据净荷长度----用于表示去除报头之外的有效数据净荷长度,4.0协议规定净荷最大长度为37字节,刨除去开头的6字节的设备地址,有效数据就剩了31字节

  • 数据净荷----广播有效数据,数据净荷中还包括6字节的设备地址,上图中忘记画出来了

  • CRC----24位的循环冗余校验

  • 广播数据结构----广播包中的数据部分都是由一系列广播数据结构组成,广播数据结构中包括广播数据结构的长度、AD Type、AD Data

  • Length----广播数据结构的长度

  • AD Type----广播数据结构的类型,比如广播自己蓝牙名字的类型(Local name)为0x08/0x09

  • AD Data----具体的数据,如果AD Type是Local name,那么数据就是蓝牙名字的字符

mesh中AD Type 为Mesh Message。在协议中没有找到Mesh Message对应的16进制数值,提供的链接也未发现对mesh Message的描述链接
AD Data区域存放的是Network PDU

GATT Bearer

为不具有广播承载层的设备提供加入网络的方式。两个设备之间在GATT连接下发送和接收PDU。
代理和配网(配网设备不支持广播承载时)会使用到GATT承载,在PDU转换时使用到的服务分别为Mesh Proxy Service、Mesh Provisioning Services。

本文地址:https://blog.csdn.net/jiandanyidianwd/article/details/107846209

相关标签: BLE Mesh 蓝牙