【蓝牙协议栈】常见蓝牙分析工具介绍

        

目录

 1. HCI 录制工具

 2. Air log 工具  

3. Vendor chip 工具

       


        本文主要介绍调试蓝牙协议栈,定位蓝牙问题的工具,而不是常用的编译烧录工具等,也不是开发蓝牙芯片的工具!本小节计划通过几个方面以及场景来介绍调试蓝牙的工具!要分为 HCI 工具,芯片工具,Air packet sniffer 工具,如下图所示就是各个工具的作用位置

 1. HCI 录制工具

        录制 HCI 工具分为两种方式:
① 纯软件生成,常用的有 btsnoop/hcidump
一般协议栈会有一个把蓝牙芯片跟蓝牙协议栈交互的封包保存文件的功能,然后再用特定的软(Wireshark/Ellisys/Frontline)打开,当然前提是你保存的是他们认识的格式,另外还有一种方式抓 iphone 的 HCI,这个需要工具特殊的工具,需要 iphoe 装 ATS utility 以及需要 mac 电脑的 ATS,这个在后面也会稍微介绍下! 

② 借用硬件抓蓝牙芯片跟蓝牙协议栈之间的数据交互此工具是用鳄鱼夹或者更精细的夹子夹在蓝牙芯片的 UART TX/RX,CTS/RTS 可选,然后通过上位机(Ellisys/Frontline)实时显示蓝牙协议栈跟蓝牙芯片的交互封包!

 2. Air log 工具  

        这个需要特殊的 sniffer 硬件工具+上位机,抓取的是本地芯片跟对端芯片之间的交互数据,所以肯定是没有 HCI 层的数据的,通常传统蓝牙我们用的比较多的是:Ellisys/Frontline,当然这两个工具也可以抓 BLE,但是这两种设备都比较贵,暂时市面上没有便宜的硬件方案,倒是 BLE 有便宜的方案,x 宝 基本上NRF,TI CC 系列都有抓包,< 100 RMB

3. Vendor chip 工具

         这种通常是抓取芯片内部 log 或者执行流程的软件,需要原厂提供方法以及工具,我目前也接触过几种,TI 的 logger 软件,CSR 的 bluecore 软件等! 


       

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Linux 系统中有几种常见蓝牙协议: 1. BlueZ:这是 Linux 系统中默认的蓝牙协议,它由 Linux 基金会开发并维护。BlueZ 提供了蓝牙的高级功能,并且可以让用户通过命令行或脚本来控制蓝牙设备。 2. Bluedroid:这是 Android 系统中的蓝牙协议,也可以在其他基于 Linux 的系统中使用。Bluedroid 提供了丰富的蓝牙功能,包括蓝牙协议、配对、连接、传输数据等。 3. BlueZ for Android:这是一个基于 BlueZ 的蓝牙协议,专门为 Android 系统开发。它兼容 BlueZ 命令行工具,可以让用户在 Android 系统中使用 BlueZ 命令行来控制蓝牙设备。 4. hciattach:这是 Linux 中用于驱动蓝牙硬件的工具,它可以将蓝牙硬件附加到蓝牙协议中,使蓝牙硬件可以与其他蓝牙设备通信。 总的来说,Linux 系统中的蓝牙协议主要有 BlueZ 和 Bluedroid 两种,其中 BlueZ 是 Linux 系统中的默认蓝牙协议,Bluedroid 则是 Android 系统中的蓝牙协议。 ### 回答2: Linux操作系统中有两种蓝牙协议可供选择。 1. BlueZ协议:BlueZ是Linux操作系统上最常用的蓝牙协议。它提供API和工具,用于在Linux设备上实现蓝牙功能。BlueZ支持几乎所有的蓝牙协议,包括传统的蓝牙核心规范(Bluetooth Core Specification)和最新的蓝牙低功耗(Bluetooth Low Energy)规范。BlueZ协议被广泛应用于各种Linux设备,包括智能手机、平板电脑、智能手表等。 2. Affix协议:Affix是一个开源的Linux蓝牙协议。它提供了蓝牙通信的基本功能,并可以在嵌入式系统上运行。Affix协议支持蓝牙核心规范,但对于蓝牙低功耗规范的支持相对有限。它适用于资源受限的嵌入式设备,如物联网设备、传感器等。 总结起来,Linux操作系统上有两种常用的蓝牙协议:BlueZ协议和Affix协议。其中,BlueZ协议是最常用和功能最全面的蓝牙协议,被广泛应用于各种Linux设备。而Affix协议则适用于资源受限的嵌入式设备。 ### 回答3: Linux操作系统支持多种蓝牙协议,以下是其中一些常见蓝牙协议: 1. BlueZ:BlueZ是Linux操作系统上最为广泛使用的开源蓝牙协议。它提供了一套完整的蓝牙协议实现,包括蓝牙核心协议蓝牙硬件驱动和一系列用户空间的工具和库。BlueZ支持众多的蓝牙协议和功能,如蓝牙文件传输、蓝牙耳机、蓝牙键盘等。 2. Affix:Affix是一种轻量级的蓝牙协议,旨在提供更小的内存占用和更低的功耗。它适用于嵌入式设备和资源受限的系统。Affix支持核心蓝牙协议,但不支持所有BlueZ的高级功能。 3. Bluedroid:Bluedroid最初是由Android平台使用的蓝牙协议,后来也被移植到了Linux操作系统中。Bluedroid基于BlueZ协议,但做了一些定制化的修改和优化,以适应移动设备的需求。 4. Fluoride:Fluoride是谷歌开发的蓝牙协议,最初用于Android平台,后来也支持了Linux操作系统。Fluoride提供了一套用于开发蓝牙应用的API和工具,并且与BlueZ相比有一些特有的优化和功能。 这些蓝牙协议都有各自的特点和适用场景,开发者可以根据不同的需求选择合适的协议来进行蓝牙应用程序的开发和调试。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风云说通信

支持小编为您创造更多干货,谢谢

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值