从命令行检查连接的蓝牙耳机的电池电量


24

我正在尝试从命令行检查无线耳机的电池电量。我遇到了一些 讨论,看来我需要做的就是输入以下内容:

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 StateBattery Level。可以使用GATT读取特征值子过程读取电池电量,因此我需要从命令行中找到与该服务接口的方法。我觉得batterypercent可能只为标准外围设备(触控板,鼠标,键盘)编码,因为我尝试过的所有电池监控小部件都仅与此类设备兼容。

编辑3:

差不多一年后再来。我知道有一个无线触控板和键盘,并且可以看到它们的电池电量完全正常(在工具栏或命令行中)。虽然仍然无法从我的耳机中获取电池电量,但不确定为什么:/


ioreg -c "Powerbeats Wireless" |grep -i battery还返回常规电池信息,所以我认为我具有正确的设备名称。但是为什么batterylevel命令不起作用!Smh
pingo 2015年

请编辑您的问题,而不要对自己的问题发表评论。
At0mic

@IronCraftMan的编辑现已完成。您认为您可以提供任何帮助?
pingo 2015年

嗨-如果您有任何进一步的了解,我很想听听。我想通过通过蓝牙连接到我的iMac的PS4控制器获得电池寿命。
dunxd

也不适合我的JVC蓝牙耳机。奇怪,因为我5岁的iPhone 4S在连接时告诉我电池电量没问题。
约翰·史密斯,

Answers:


8

在我的iMac(macOS 10.12.6)上,上述解决方案均无效。在阅读了ioreg的手册页之后。我的计算机上可以使用的解决方案是:

// the -r option is used to reduce output
// the -l option is used to display properties for all object
// by default some object properties are not shown
// the -c specify device class, the class could be specific or general
ioreg -c AppleDeviceManagementHIDEventService -r -l
ioreg -c AppleDeviceManagementHIDEventService -r -l | grep -i battery

// instead of using device io class, you could also use a property key to query
// you need to know one of target device's property key(-k), for example it is BatteryPercent for Bluetooth keyboard and mouse
// any device with this property will be listed
ioreg -r -l -k "BatteryPercent"
ioreg -r -l -k "BatteryPercent" | grep -i battery

还有一些其他设备类可尝试使用-c参数:AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDKeyboardEventDriverV2,它们提供不同的输出。


7

您需要使用ioreg。您需要知道设备的名称。只需遵循指南即可。

简而言之,该指南基本上让您运行了 ioreg -c <devicename> |grep '"BatteryPercent" ='

例:

ioreg -c BeatsBluetoothHeadset |grep '"BatteryPercent" ='

在此处输入图片说明

此外,您可以使用以下方法检索更广泛的电池信息:

ioreg -c BeatsBluetoothHeadset |grep Battery

2
嘿,谢谢您的回复!这个问题似乎是Beats耳机特有的,因为我可以访问无线键盘和触控板的电池电量。将更新原始问题!
pingo

它对我不起作用
Jadda

1

我刚刚发现要在Mac上检查powerbeat 3的电池电量,我只是转到屏幕右上角图标区域中的蓝牙菜单,将鼠标悬停在已连接的powerbeat上,然后在那里显示电池电量。希望能有所帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.