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: /
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 !! Smh