小白学习蓝牙第三章——Transport层

Transport类型介绍

蓝牙UART H4 Transport介绍

蓝牙Transport就是蓝牙的硬件发送协议,硬件的传输介质有:UART/USB/SDIO,那么Transport就是在特定的硬件传输介质上增加了一些协议,比如我们本节将的H4就是在UART上增加了一个小协议,H4算是最简单的一个协议,只是在数据前面加一个Type,了解过蓝牙HCI的一般都会知道蓝牙协议栈(Host)跟芯片(Controller)一般是通过HCI数据来沟通,那么H4就是在HCI数据前面加上一个TYPE。一共有5种type,如下:

1)HCI COMMAND:由蓝牙协议栈发送给芯片的命令

2)HCI EVENT:由蓝牙芯片上报给蓝牙协议栈的事件

3)HCI ACL:蓝牙协议栈跟蓝牙芯片双向交互的普通数据

4)HCI SCO:蓝牙芯片跟蓝牙协议栈双向交互的通话/语音识别等音频数据

5)HCI ISO(这部分是在core5.2才添加):用于发送LE audio

image

btsnoop介绍

Btsnoop概念介绍

Btsnoop用于记录蓝牙协议栈跟芯片交互的数据,一般用于在分析蓝牙问题的时候有很大的用途,能够快速定位问题所在。

在android手机中也有开启btsnoop的功能,在开发者选项中勾中这个就开启了btsnoop功能。

image

Btsnoop的打开工具包括有:

  • Wireshark
  • Frontline
  • Ellisys

1)Wireshark打开效果图
image

2)Frontline打开效果图
image

3)Ellisys打开效果图
image

Btsnoop格式介绍

格式如下:

image

1)File Header,文件头是一个固定长度的字段,包含关于包文件及其包含的包记录的格式的一般信息。文件头字段后面有一个或多个可变长度的包记录字段。

2)Packet recored,此部分就是蓝牙协议栈跟蓝牙芯片每个包所交互的数据。

posted @ 2021-08-13 15:14  zink623  阅读(667)  评论(0编辑  收藏  举报