以蓝牙4.0为例说明:

BLE包格式有:广播包、扫描包、初始化连接包、链路层控制包(LL层数据包)、逻辑链路控制和自适应协议数据包(即L2CAP数据包)等;

其中广播包又分为:定向广播包和非定向广播包;

逻辑链路控制和自适应协议数据包又分为:ATT指令包、信令指令包、SMP包;

1. 首先,所有的包都符合如下格式:

蓝牙BLE数据包格式汇总

2. 广播包:

蓝牙BLE数据包格式汇总

3. 非定向广播包:

蓝牙BLE数据包格式汇总

4. 定向广播包:

蓝牙BLE数据包格式汇总

5. 扫描包:

蓝牙BLE数据包格式汇总

6. 初始化连接包:

蓝牙BLE数据包格式汇总

7. 链路层数据包:

蓝牙BLE数据包格式汇总

8. 链路层控制包:

蓝牙BLE数据包格式汇总

9. L2CAP层数据包:

蓝牙BLE数据包格式汇总

10. 信令指令包:

蓝牙BLE数据包格式汇总

11. ATT指令包:

蓝牙BLE数据包格式汇总

12. SMP指令包:

SMP指令与ATT指令类似,只是channel ID为0x0006,数据格式如下:

蓝牙BLE数据包格式汇总

根据操作码不同,后面数据的格式不通同。

 

 

附:

L2CAP层的区分:

蓝牙BLE数据包格式汇总

相关文章: