ตรวจสอบระดับแบตเตอรี่ของหูฟังบลูทู ธ ที่เชื่อมต่อจากบรรทัดคำสั่ง


24

ฉันพยายามตรวจสอบระดับแบตเตอรี่ของหูฟังไร้สายจากบรรทัดคำสั่ง ฉันเจอการสนทนาเล็กน้อย และดูเหมือนว่าทั้งหมดที่ฉันต้องทำคือป้อนต่อไปนี้:

ioreg -c 'deviceName' |grep -i batterypercent

ฉันพยายามใช้คำสั่งนี้ "Powerbeats ไร้สาย" และ "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ระดับแบตเตอรี่จะปรากฏขึ้นทันทีบนแถบเครื่องมือ สิ่งนี้ทำให้ฉันเชื่อว่าอุปกรณ์กำลังออกอากาศระดับแบตเตอรี่และฉันควรจะสามารถเข้าถึงข้อมูลนี้จากคอมพิวเตอร์ของฉัน

ฉันจะตรวจสอบระดับแบตเตอรี่ของหูฟังที่เชื่อมต่อผ่านบลูทู ธ ได้อย่างไร

แก้ไข:

ตอนแรกฉันคิดว่าปัญหาเกิดขึ้นกับชื่ออุปกรณ์ แต่ดูเหมือน"Powerbeats Wireless"และใช้bluetoothaudiodงานได้แทนกัน แค่คิดออกไม่ได้ว่าจะเข้าถึงbatterypercentพารามิเตอร์ได้อย่างไร

แก้ไข 2:

มองไปที่เอกสารบลูทู ธ ดูเหมือนว่ามีบริการแบตเตอรี่ซึ่งตีแผ่รัฐแบตเตอรี่และระดับแบตเตอรี่ ระดับแบตเตอรี่สามารถอ่านได้โดยใช้ขั้นตอนย่อยของGATT Read Characteristic Valueดังนั้นฉันต้องหาวิธีการเชื่อมต่อกับบริการนี้จากบรรทัดคำสั่ง ฉันรู้สึกว่าbatterypercentอาจถูกเขียนขึ้นสำหรับอุปกรณ์ต่อพ่วงมาตรฐาน (แทร็คแพดเมาส์แป้นพิมพ์) เนื่องจากวิดเจ็ตการตรวจสอบแบตเตอรี่ทั้งหมดที่ฉันลองใช้นั้นเข้ากันได้กับอุปกรณ์ดังกล่าวเท่านั้น

แก้ไข 3:

กลับมาอีกครั้งในอีกหนึ่งปีต่อมา ฉันรู้ว่ามีแทร็คแพดและคีย์บอร์ดไร้สายและสามารถดูระดับแบตเตอรี่ได้อย่างสมบูรณ์แบบ (ทั้งในแถบเครื่องมือหรือบรรทัดคำสั่ง) ยังไม่สามารถรับระดับแบตเตอรี่จากหูฟังของฉันได้ แต่ไม่แน่ใจว่าทำไม: /


ioreg -c "Powerbeats Wireless" |grep -i batteryส่งคืนข้อมูลแบตเตอรี่ทั่วไปด้วยดังนั้นฉันคิดว่าฉันมีชื่ออุปกรณ์ที่ถูกต้อง แต่ทำไมbatterylevelคำสั่งไม่ทำงาน !! Smh
pingo

โปรดแก้ไขคำถามของคุณแทนที่จะแสดงความคิดเห็นในคำถามของคุณเอง
At0mic

@IronCraftMan การแก้ไขเสร็จสมบูรณ์แล้ว คุณคิดว่าคุณสามารถให้ความช่วยเหลือได้ไหม?
pingo

สวัสดี - ฉันสนใจที่จะได้ยินถ้าคุณมีอะไรเพิ่มเติม ฉันต้องการยืดอายุแบตเตอรี่ออกจากคอนโทรลเลอร์ PS4 ที่เชื่อมต่อโดย BlueTooth ไปยัง iMac ของฉัน
dunxd

ไม่ได้ผลกับหูฟังบลูทู ธ JVC ของฉันเช่นกัน แปลกเพราะ iPhone 4S อายุ 5 ปีของฉันไม่มีปัญหาในการบอกระดับแบตเตอรี่เมื่อเชื่อมต่อ
John Smith

คำตอบ:


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

ฉันเพิ่งค้นพบว่าเพื่อตรวจสอบระดับแบตเตอรี่ของ powerbeats 3 ของฉันบน Mac ของฉันฉันเพียงแค่ไปที่เมนูบลูทู ธ ในพื้นที่ไอคอนที่ด้านบนขวาของหน้าจอเลื่อนเมาส์ไปที่ powerbeats ที่เชื่อมต่อของคุณแล้วแสดงระดับแบตเตอรี่ที่นั่น หวังว่าจะช่วย

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.