linux - 在 Linux 上检查连接的蓝牙设备的电池电量

标签 linux bluetooth bluez

如何检查已连接蓝牙设备的电池电量?该设备在 Android 上显示电池电量,所以我假设该设备支持 GATT-based Battery Service .但是,通过在 bluetoothctl 中输入“menu gatt”,然后使用“list-attributes [dev]”列出设备的 GATT 属性,没有任何显示。

A similar question was posted to SO但 OP 似乎找到了一个对我不起作用的解决方案。当我在 bluetoothctl 中运行“info [dev]”时,我没有看到电池服务的 UUID。

我更喜欢在命令行上运行且与发行版无关的解决方案。

请让我知道这个问题是否应该发布在 SuperUser 上。

最佳答案

这可能有点晚了,但对我来说这个 Python 项目运行良好:

https://github.com/TheWeirdDev/Bluetooth_Headset_Battery_Level

对于我的无名 X5 耳机,我只需将第 57 行的端口更改为 3。如果它挂起或出现“连接被拒绝”错误,请尝试使用不同的端口。

Python 程序通过 RFCOMM 使用 AT 命令,并且应该在 Pulseaudio 使用 A2DP 接收器(我的重新连接)时工作。 Python 3 是必需的,因为 2 没有 BT 串行套接字。 Windows 可能无法运行,因为它缺少 bluez。它基本上与此处的 Pulseaudio hack 做同样的事情:https://stackoverflow.com/a/56390625/920122

如果您想在交换命令时查看命令,请尝试我的调试分支:https://github.com/clst/Bluetooth_Headset_Battery_Level

关于linux - 在 Linux 上检查连接的蓝牙设备的电池电量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49078659/

相关文章:

linux - 找不到命令

linux - 在 centos vm 中将压力实用程序作为 cronjob 运行

linux - Shimmercat 设置模板

linux - 在 Linux 终端中更改 DIR 颜色

ios - 连接到 iOS 的蓝牙外设在后台不工作

windows - 希望在 Windows 中编写等效的蓝牙 'hcitool'

bluetooth - 属性在读/写之前需要身份验证

android - HC-05 + Android(回声/数据错误)

android - 我无法在 Android 应用程序中使用 AltBeacon 库在后台检测到 iBeacon

python - 启动 bluez-simple-agent 时出现异常错误 : Already Exists