Проверьте состояние батареи наушников 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'
...

src reddit

Я разработал приложение с графическим интерфейсом, чтобы узнать уровень заряда батареи 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
Другие вопросы по тегам