【发布时间】:2012-07-06 08:27:45
【问题描述】:
- 我们正在尝试检测 C/C++ 中的事件。
- 我们在 Linux 上使用 Bluez 作为我们的蓝牙库。
- 我们的目标是在触发该事件时运行外部脚本。
- 具体来说,我们有一个摩托罗拉 H730 耳机,上面有一个按钮,我们正在寻找检测该按钮的按下。
- 我们已配对蓝牙设备 (hcitool),并且可以连接到它 (bluez-test-audio),但有兴趣将该方法迁移到 C/C++。
-
连接设备并按下按钮时hcidump的输出为:
HCI 嗅探器 - 蓝牙数据包分析器 2.2 版
设备:hci0 snap_len:1028 过滤器:0xffffffffHCI 事件:模式更改 (0x14) plen 6
状态 0x00 句柄 21 模式 0x00 间隔 0
模式:主动
ACL 数据:句柄 21 标志 0x02 dlen 17
L2CAP(d): cid 0x0041 len 13 [psm 0]
L2CAP(d): cid 0x0047 len 10 [psm 0]
L2CAP(d): cid 0x0047 len 18 [psm 0]
L2CAP(d): cid 0x0047 len 18 [psm 0]
HCI 事件:已完成数据包数 (0x13) plen 5
处理 21 个数据包 1
ACL 数据:句柄 21 标志 0x02 dlen 18
L2CAP(d): cid 0x0041 len 14 [psm 0]
L2CAP(d): cid 0x0047 len 10 [psm 0]
HCI 事件:已完成数据包数 (0x13) plen 5
处理 21 个数据包 1
HCI 事件:已完成数据包数 (0x13) plen 5
处理 21 个数据包 1
HCI 事件:已完成数据包数 (0x13) plen 5
处理 21 个数据包 1
HCI 事件:模式更改 (0x14) plen 6
状态 0x00 句柄 21 模式 0x02 间隔 2048
模式:嗅探 - 我们查找了蓝牙文档,但没有取得多大成功。
我们如何使用 Bluez 在 C/C++ 中检测蓝牙事件?
【问题讨论】:
-
成功了吗?