Я пытаюсь проверить уровень заряда батареи беспроводных наушников из командной строки. Я натолкнулся на несколько обсуждений , и, похоже, все, что мне нужно сделать, это ввести следующее:
ioreg -c 'deviceName' |grep -i batterypercent
Я попробовал эту команду, используя "Powerbeats Wireless" и "bluetoothaudiod" для 'deviceName'
s, но ни один не вернул batterypercent
. Я попытался ioreg -c bluetoothaudiod |grep -i battery
получить общую информацию о батарее и получить в ответ:
| | +-o AppleSmartBatteryManager <class AppleSmartBatteryManager, id 0x100000250, registered, matched, active, busy 0 (0 ms), retain 7>
| | +-o AppleSmartBattery <class AppleSmartBattery, id 0x100000252, registered, matched, active, busy 0 (0 ms), retain 6>
Если я подключу наушники к своему iPhone , уровень заряда батареи сразу же выскочит на панели инструментов. Это заставляет меня поверить, что устройство передает уровень заряда батареи, и что я должен иметь доступ к этой информации с моего компьютера.
Как я могу проверить уровень заряда батареи моих наушников, подключенных по Bluetooth?
Редактировать:
Первоначально я думал, что проблема была с именем устройства, но кажется "Powerbeats Wireless"
и bluetoothaudiod
работает взаимозаменяемо. Просто не могу понять, как получить доступ к batterypercent
параметру.
Изменить 2:
Глядя на документах Bluetooth, кажется , есть служба батареи , которая обнажает состояние аккумулятора и уровень заряда аккумулятора . Уровень заряда батареи можно прочитать с помощью подпроцедуры GATT Read Characteristic Value , поэтому мне нужно выяснить способ взаимодействия с этим сервисом из командной строки. У меня такое чувство, что он batterypercent
может быть закодирован только для стандартных периферийных устройств (трекпад, мышь, клавиатура), так как все виджеты мониторинга батареи, которые я пробовал, совместимы только с такими устройствами.
Изменить 3:
Пересматривая это почти год спустя. Я знаю, что у меня есть беспроводной трекпад и клавиатура, и я могу видеть их уровень заряда батареи отлично (как на панели инструментов, так и в командной строке). Хотя я все еще не могу определить уровень заряда батареи в моих наушниках и не знаю почему: /
ioreg -c "Powerbeats Wireless" |grep -i battery
также возвращает общую информацию о батарее, поэтому я думаю, что у меня правильное имя устройства. Но почемуbatterylevel
команда не работает !! SmhОтветы:
На моем iMac (macOS 10.12.6) ни одно из упомянутых выше решений не работает. После прочтения справочной страницы ioreg . Решение, которое работает на моем компьютере:
Есть несколько других классов устройств, которые можно использовать для аргумента -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , они дают различный вывод.
источник
Вам нужно использовать
ioreg
. Вам нужно будет узнать название устройства. Просто следуйте этому руководству.Короче говоря, в основном вы управляете
ioreg -c <devicename> |grep '"BatteryPercent" ='
Пример:
Кроме того, вы можете получить более подробную информацию о батарее с помощью:
источник
Я только что обнаружил, что для проверки уровня заряда батареи моего powerbeats 3 на моем Mac я просто захожу в меню bluetooth в области значков в правом верхнем углу экрана, наводя курсор мыши на подключенные powerbeats, а затем показывает уровень заряда батареи прямо там. Надеюсь, это поможет.
источник