Bluez D-BUS API应用参考资源

Linux操作系统中默认的蓝牙协议栈是Bluez。

1、简介

Bluez的应用方式,有两种:

(1)借助于Bluez的工具(如:bluetoothctl),可以实现:扫描、发现设备、配对、连接等常用的操作。优点:不需要写代码,简单。缺点:动态去扫描蓝牙设备,把蓝牙设备加入一个列表,在屏幕上显示,用户选择与某个蓝牙设备连接,以及接收通知、写特性。上述需求,用shell命令存在很大局限。

(2)通过D-BUS API编写代码,实现蓝牙应用。缺点:D-BUS API入门学习门槛比较高(参考资源很少)。优点:能实现更复杂的应用。

2、Bluez DBUS API参考资源

值得参考的资源:

(1)BluezV5.42 DBUS C API for BLE?(链接):stackoverflow网站的一个讨论D-BUS API的帖子。

(2)Library to access GATT information from BLE (Bluetooth Low Energy) devices(链接):D-BUS的实例代码。

(3)bluez源代码(链接

下面是中文的参考资源(有2篇谈及D-BUS)

(4)BlueZ5.45 D-Bus总线 GATT API 分析(链接

(5)BlueZ5(链接

目前只找到这么多,后续如有更好的资源,再补充。

3、蓝牙规范文档

学习蓝牙必需参考官方文档。

蓝牙4.1规范(Core_V4.1.pdf

蓝牙4.2规范(Core_V4.2.pdf


3. 蓝牙驱动介绍............................................................................................................................................... 4 3.1 串口驱动介绍........................................................................................................................................ 5 3.2 初始化.................................................................................................................................................... 5 3.2.1 模块上电........................................................................................................................................ 5 3.2.2 PSKEY的设置................................................................................................................................. 6 3.3 HCIATTACH的工作原理.......................................................................................................................... 7 3.3.1 Hci_uar和bcsp层的加入................................................................................................................. 9 3.3.2 hci层的加入.................................................................................................................................. 10 3.3.3 hci_attach的内核处理.................................................................................................................. 11 4. 数据在驱动的传递流程.............................................................................................................................. 13 4.1 UART层的数据接收.............................................................................................................................. 13 4.2 HCI_UART的数据接收.......................................................................................................................... 14 4.3 BCSP层的处理...................................................................................................................................... 15 4.4 HCI层及以上的处理............................................................................................................................. 15 4.5 数据流程的总结.................................................................................................................................. 17 5. 扫描过程的分析......................................................................................................................................... 18 5.1 用户使用例子...................................................................................................................................... 18 5.2 用HCITOOL扫描时的逻辑..................................................................................................................... 18 5.2.1 上层逻辑...................................................................................................................................... 18 5.2.2 内核层逻辑.................................................................................................................................. 19 5.3 通过DBUS触发的逻辑.......................................................................................................................... 21 5.3.1 上层逻辑之adapter dbus方法的建立........................................................................................... 21 5.3.2 上层扫描方法的调用................................................................................................................... 22 5.3.3 Dbus触发的扫描对应于内核层的处理........................................................................................ 25 5.3.4 上层的扫描数据收集................................................................................................................... 26 5.3.5 Hci_send_frame的讨论................................................................................................................. 28 6. A2DP的使用过程........................................................................................................................................ 28 6.1 如何使用.............................................................................................................................................. 28 6.2 服务的激活.......................................................................................................................................... 29 6.3 设备的创建.......................................................................................................................................... 30 6.3.1............................................................................................................................................................. 33 6.3.2............................................................................................................................................................. 33 6.3.3............................................................................................................................................................. 33 6.3.4............................................................................................................................................................. 33 6.4 设备的连接.......................................................................................................................................... 33
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值