Bluetooth 开发科普

Bluetooth 开发科普

1、蓝牙协议结构

在这里插入图片描述
Controller运行在蓝牙芯片上,host运行在主控上,两芯片通过硬件通信接口(uart或usb),进行通信连接(HCI)。
实际使用中有不同场景,根据场景需求,SIG定义了不同的规范(Profile),对于Controller只关心数据收发,不用用户场景,所以有了host端的L2CAP规范,屏蔽上层不同用户协议。
Profile,大致分三类,经典蓝牙(黄色),ble(紫色),mesh(绿色)

区别

当设备支持蓝牙4.0时,还得进一步确认设备是支持BT单模、BLE单模还是BT和BLE都支持的双模。  放一张经典蓝牙和BLE的软件层次区分,中间的是双模的。
在这里插入图片描述

2、常见测试工具使用

bluetoothd --version //bluez版本查询
连接设备 E0:CC:F8:CE:05:1A //yf的小米10

hciconfig -a
hcidump -w /tmp/xxx.cfa //hci log
hciconfig hci0 leadv //广播
首先启动bluetoothctl启动

常用命令

  • power on/off 打开电源或者关闭
  • scan on/off 开始扫描
  • pair xx:xx:xx:xx:xx 匹配某个设备
  • paired-devices显示已经匹配的设备
  • connect xx:xx:xx:xx:xx 连接蓝牙设备

首先运行
./bluetoothctl
给芯片上电,
power on
使芯片可发现
Discoverable on

作为主机连接从设备
进入bluetoothctl命令行 bluetoothctl
进入bluetoothctl命令行后,类似:[bluetooth]#
Controller代表arm板上的蓝牙设备,Device代表蓝牙耳机

按如下步骤初始化蓝牙设备,并连接蓝牙耳机

  • 查看帮助 help
  • power on
  • agent on
  • default-agent
  • 启动扫描 scan on
    假如蓝牙耳机地址为:E0:CC:F8:CE:05:1A
    trust E0:CC:F8:CE:05:1A
  • 配对 pair E0:CC:F8:CE:05:1A
  • 连接 connect E0:CC:F8:CE:05:1A
  • 查看蓝牙耳机信息
    info E0:CC:F8:CE:05:1A
  • 断开连接
    disconnect E0:CC:F8:CE:05:1A
    不想自动连接上蓝牙耳机,可以删除配对信息
    remove E0:CC:F8:CE:05:1A
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Android Bluetooth驱动开发是指针对Android操作系统的蓝牙功能进行驱动开发的过程。蓝牙驱动是操作系统与蓝牙硬件之间的桥梁,它负责实现蓝牙功能的核心代码。 在Android平台上进行Bluetooth驱动开发开发者需要了解Android的底层架构和蓝牙协议栈。首先,开发者需要熟悉Android系统的架构,包括应用层、系统服务层、HAL层和内核层等,以便更好地理解和操作Bluetooth驱动。其次,开发者还需要了解蓝牙协议栈的组成与工作原理,蓝牙协议栈包括HCI层、L2CAP层、RFCOMM层、SDP层等,每一层都需要进行相应的开发和调试。 在进行Android Bluetooth驱动开发时,开发者可以使用Android提供的Bluetooth API进行开发,通过这些API可以实现设备的蓝牙扫描、设备连接、数据传输等功能。此外,开发者还需要了解蓝牙硬件的特性和规范,以便在驱动开发中正确地操作蓝牙硬件。 在Android Bluetooth驱动开发过程中,开发者需要进行相应的测试和调试,以确保驱动程序的正确性和稳定性。开发者可以使用模拟器进行一些简单的测试,但最好还是借助真实的蓝牙设备进行全面的测试。同时,开发者还可以利用工具和调试器来定位和解决驱动开发中的问题,如使用Logcat来查看日志信息、使用adb命令进行调试等。 总之,Android Bluetooth驱动开发是一项复杂而精细的工作,需要开发者具备扎实的Android开发基础、蓝牙协议栈的专业知识和丰富的实践经验。通过合理规划和高效工作,开发者可以成功地开发出高质量的Android Bluetooth驱动程序。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

起风就扬帆

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值