如何检查连接的蓝牙设备的电池电量?该设备在 Android 上显示电池电量,因此我假设该设备支持 基于 GATT 的 Battery Service 。但是,通过在 bluetoothctl 中输入“menu gatt”,然后使用“list-attributes [dev]”列出设备的 GATT 属性,什么也没有出现。
类似的问题已发布到 SO ,但 OP 似乎找到了一个对我不起作用的解决方案。当我在 bluetoothctl 中运行“info [dev]”时,我看不到电池服务的 UUID。
我更喜欢在命令行上运行并且与发行版无关的解决方案。
请让我知道这个问题是否应该发布在 SuperUser 上。
原文由 Ricardo 发布,翻译遵循 CC BY-SA 4.0 许可协议
这可能有点晚了,但对我来说,这个 Python 项目运行良好:
https://github.com/TheWeirdDev/Bluetooth_Headset_Battery_Level
我只需要将我的无名 X5 耳机的第 57 行端口更改为 3。如果它挂起或出现“连接被拒绝”错误,请尝试不同的端口。
Python 程序通过 RFCOMM 使用 AT 命令,并且应该在 Pulseaudio 使用 A2DP 接收器(我的重新连接)时工作。需要 Python 3,因为 2 没有 BT-Serial 套接字。 Windows 可能无法工作,因为它缺少 bluez。它基本上与这里的 Pulseaudio hack 做同样的事情: https ://stackoverflow.com/a/56390625/920122
如果您想查看交换时的命令,请尝试我的调试分支: https ://github.com/clst/Bluetooth_Headset_Battery_Level