Estou tentando verificar o nível da bateria dos meus fones de ouvido sem fio na linha de comando. Me deparei com algumas discussões e parece que tudo o que preciso fazer é inserir o seguinte:
ioreg -c 'deviceName' |grep -i batterypercent
Eu tentei este comando usando "Powerbeats Wireless" e "bluetoothaudiod" para os 'deviceName'
, mas nenhum deles retornou batterypercent
. Tentei ioreg -c bluetoothaudiod |grep -i battery
obter informações gerais sobre a bateria e obtive isso como resposta:
| | +-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>
Se eu conectar os fones de ouvido ao meu iPhone , o nível da bateria será exibido imediatamente na barra de ferramentas. Isso me leva a acreditar que o dispositivo está transmitindo o nível da bateria e que devo poder acessar essas informações no meu computador.
Como posso verificar o nível da bateria dos meus fones de ouvido conectados por bluetooth?
Editar:
Inicialmente, pensei que o problema era com o nome do dispositivo, mas parece "Powerbeats Wireless"
e bluetoothaudiod
funciona de forma intercambiável. Só não consigo descobrir como acessar o batterypercent
parâmetro.
Edição 2:
Observando os documentos do Bluetooth, parece que existe um Serviço de bateria que expõe o estado e o nível da bateria . O nível da bateria pode ser lido usando o sub-procedimento GATT Read Characteristic Value , portanto, preciso descobrir uma maneira de fazer interface com esse serviço na linha de comando. Sinto que batterypercent
só pode ser codificado para periféricos padrão (trackpad, mouse, teclado), pois todos os widgets de monitoramento de bateria que experimentei são compatíveis apenas com esses dispositivos.
Edição 3:
Revisitando isso quase um ano depois. Sei que tenho um trackpad e teclado sem fio e posso ver os níveis de bateria perfeitamente bem (na barra de ferramentas ou na linha de comando). Ainda não consigo obter o nível da bateria dos meus fones de ouvido e não sei por que: /
fonte
ioreg -c "Powerbeats Wireless" |grep -i battery
também retorna as informações gerais da bateria, então acho que tenho o nome correto do dispositivo. Mas por que obatterylevel
comando não está funcionando !! SmhRespostas:
No meu iMac (macOS 10.12.6), nenhuma das soluções mencionadas acima funciona. Depois de ler a página de manual do ioreg . A solução que funciona no meu computador é:
Existem algumas outras classes de dispositivo para tentar o argumento -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2 , fornecem resultados diferentes.
fonte
Você precisa usar
ioreg
. Você precisará saber o nome do dispositivo. Basta seguir este guia.O guia, em suma, basicamente você executa o
ioreg -c <devicename> |grep '"BatteryPercent" ='
Exemplo:
Além disso, você pode recuperar informações mais amplas da bateria com:
fonte
Acabei de descobrir que, para verificar o nível da bateria do meu powerbeats 3 no meu Mac, basta ir ao menu bluetooth na área de ícones no canto superior direito da tela, passar o mouse sobre os powerbeats conectados e mostrar o nível da bateria ali. Espero que ajude.
fonte