Проверьте состояние батареи наушников Bluetooth в Linux
Возможно ли получить состояние батареи наушников Bluetooth, подключенных к Linux, Android показывает это, поэтому мне было интересно, если это было возможно??
6 ответов
Я не уверен насчет состояния в Ubuntu, но в Arch Linux в настоящее время вам не нужно писать собственные сценарии для получения информации о батарее Bluetooth.
Пакет bluez имеет экспериментальную поддержку запроса данных о батарее Bluetooth-гарнитуры. Просто включите экспериментальные функции, отредактировав
/etc/bluetooth/main.conf
и добавление
Experimental=true
Затем вам просто нужно перезапустить службу Bluetooth, используя
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)
Решение с использованием upower, предложенное danjjl, теперь также должно работать.
И теперь процент уровня заряда батареи также должен отображаться в диалоговом окне настроек Gnome Power.
Я написал простой скрипт на Python, который выполняет эту работу. Он использует AT-команды для связи с устройством через RFCOMM и печатает уровень заряда батареи, если устройство поддерживается.
https://github.com/TheWeirdDev/Bluetooth_Headset_Battery_Level
(Для запуска скрипта вам понадобится Python 3.6.0 или новее)
Это может работать не со всеми bluetooth-гарнитурами, но на странице "Проблемы" я предложил несколько обходных решений, которые могут помочь.
В Ubuntu вы можете просто перейти в
settings->power
чтобы увидеть состояние батареи системы и подключенных устройств.
Да, я знаю, что это Bluetooth-мышь Microsoft в системе Linux... но, эй, Microsoft теперь новая крутая компания;)
upower
может использоваться с терминала для составления списка устройств питания, прослушивания событий устройства и запроса истории и статистики.
Если ваше устройство указано
upower -e
Вы можете запустить
upower --dump
чтобы узнать уровень заряда батареи вашего устройства.
Вот пример вывода:
$ upower --dump
...
Device: /org/freedesktop/UPower/devices/mouse_dev_C1_FC_26_13_A9_58
native-path: /org/bluez/hci0/dev_C1_FC_26_13_A9_58
model: MX Anywhere 2S
serial: C1:FC:26:13:A9:58
power supply: no
updated: Wed 31 Dec 1969 06:00:00 PM CST (1550719462 seconds ago)
has history: yes
has statistics: no
mouse
present: yes
rechargeable: no
state: unknown
warning-level: none
percentage: 50%
icon-name: 'battery-missing-symbolic'
...
Я разработал приложение с графическим интерфейсом, чтобы узнать уровень заряда батареи bluetooth-гарнитуры. Вы можете проверить это: https://github.com/Coutj/Bluetooth_project.git
Для устройств Airpods загрузите и запустите https://github.com/delphiki/AirStatus с помощью:
git clone git@github.com:delphiki/AirStatus.git
cd AirStatus
pip3 install bleak
python3 main.py