我正在尝试从命令行检查无线耳机的电池电量。我遇到了一些 讨论,看来我需要做的就是输入以下内容:
ioreg -c 'deviceName' |grep -i batterypercent
我使用的“ Powerbeats Wireless”和“ bluetoothaudiod”尝试了此命令'deviceName'
,但均未返回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,电池电量将立即在工具栏上弹出。这使我相信该设备正在广播电池电量,并且我应该能够从我的计算机访问此信息。
如何检查蓝牙耳机的电池电量?
编辑:
起初,我以为这个问题是与该设备的名称,但它似乎"Powerbeats Wireless"
和bluetoothaudiod
工作交替。只是不知道如何访问该batterypercent
参数。
编辑2:
查看Bluetooth文档,似乎有一个Battery Service公开了Battery State和Battery Level。可以使用GATT读取特征值子过程读取电池电量,因此我需要从命令行中找到与该服务接口的方法。我觉得batterypercent
可能只为标准外围设备(触控板,鼠标,键盘)编码,因为我尝试过的所有电池监控小部件都仅与此类设备兼容。
编辑3:
差不多一年后再来。我知道有一个无线触控板和键盘,并且可以看到它们的电池电量完全正常(在工具栏或命令行中)。虽然仍然无法从我的耳机中获取电池电量,但不确定为什么:/
ioreg -c "Powerbeats Wireless" |grep -i battery
还返回常规电池信息,所以我认为我具有正确的设备名称。但是为什么batterylevel
命令不起作用!Smh