在 Linux 中检查蓝牙耳机的电池状态

在 Linux 中检查蓝牙耳机的电池状态

是否可以获取连接到 Linux 的蓝牙耳机的电池状态?Android 会显示这一点,所以我想知道这是否可行。

答案1

我不确定 Ubuntu 下的状态,但在 Arch Linux 下,您现在不需要编写自己的脚本来获取蓝牙电池信息。

bluez 软件包对查询蓝牙耳机电池数据提供了实验性支持。只需通过编辑即可启用实验性功能

/etc/bluetooth/main.conf

并将以下行添加到该[General]部分

Experimental = true

然后,你只需要使用以下命令重新启动蓝牙服务

systemctl restart bluetooth

重新连接到您的设备,然后

bluetoothctl info

现在还应该显示电池状态。例如

Device 28:11:A5:47:6C:6E (public)                                             
Name: Cloud Walker                                                    
Alias: Cloud Walker                                                   
Class: 0x00240418                                                            
Icon: audio-headphones                                                
Paired: yes                                                           
...                               
Battery Percentage: 0x3c (60)                                         

danjjl 给出的使用 upower 的解决方案现在也应该可以起作用了。

现在电池电量百分比也应该显示在 Gnome Power 设置对话框中。

前: 在启用 bluez Experimental 选项之前,Cloud Walker 蓝牙耳机不会显示在电源设置的“设备”部分中

后: 启用 bluez Experimental 选项后,Cloud Walker 蓝牙耳机显示在电源设置的“设备”部分

答案2

在 ubuntu 中,您可以简单地settings->power查看系统和连接设备的电池状态。

在此处输入图片描述

是的,我知道这是 Linux 系统上的微软蓝牙鼠标...但是,嘿,微软现在是一家很酷的新公司 ;)

这是什么:systemctl status bluetooth

在此处输入图片描述

这就是:bluetoothctl设备显示的内容:

在此处输入图片描述

JBL 已断开连接,Creative 扬声器已接通电源。因此,settings->power对话框中将显示带电池的扬声器(Keychron 和鼠标)。

注意:如果upower -d不显示设备,其功率级别可能不会显示在设置中。//
我显示了一个鼠标,但没有显示耳机。

答案3

我写了一个简单的 Python 脚本来完成这个任务。它使用 AT 命令通过 RFCOMM 与设备通信,并打印电池电量(如果设备受支持)。

https://github.com/TheWeirdDev/Bluetooth_Headset_Battery_Level

(您需要 Python 3.6.0 或更新版本才能运行该脚本)

它可能不适用于所有蓝牙耳机,但我在“问题”页面中提供了一些可能有帮助的解决方法。

答案4

我开发了一个 GUI 应用程序来获取蓝牙耳机的电池电量。您可以在以下位置查看:https://github.com/Coutj/Bluetooth_project.git

相关内容