Kiểm tra mức pin của tai nghe bluetooth được kết nối từ dòng lệnh


24

Tôi đang cố kiểm tra mức pin của tai nghe không dây từ dòng lệnh. Tôi đã xem qua một vài cuộc thảo luận và dường như tất cả những gì tôi cần làm là nhập thông tin sau:

ioreg -c 'deviceName' |grep -i batterypercent

Tôi đã thử lệnh này bằng cách sử dụng "Powerbeats Wireless" và "bluetoothaudiod" cho các thiết bị 'deviceName', nhưng không trả lại batterypercent. Tôi đã cố gắng ioreg -c bluetoothaudiod |grep -i batteryđể có được thông tin chung về pin và nhận được phản hồi này:

| |   +-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>

Nếu tôi kết nối tai nghe với iPhone , mức pin sẽ bật lên ngay trên thanh công cụ. Điều này khiến tôi tin rằng thiết bị đang phát mức pin và tôi sẽ có thể truy cập thông tin này từ máy tính của mình.

Làm cách nào để kiểm tra mức pin của tai nghe được kết nối bluetooth?

Chỉnh sửa:

Ban đầu tôi nghĩ vấn đề là do tên thiết bị, nhưng có vẻ như "Powerbeats Wireless"bluetoothaudiodhoạt động thay thế cho nhau. Chỉ không thể tìm ra làm thế nào để truy cập vào batterypercentparam.

Chỉnh sửa 2:

Nhìn vào các tài liệu Bluetooth, có vẻ như có Dịch vụ pin hiển thị Trạng thái pinMức pin . Có thể đọc mức Pin bằng thủ tục phụ Giá trị đặc trưng của GATT Read , vì vậy tôi cần tìm ra cách giao tiếp với dịch vụ này từ dòng lệnh. Tôi có cảm giác batterypercentchỉ có thể được mã hóa cho các thiết bị ngoại vi tiêu chuẩn (trackpad, chuột, bàn phím), vì tất cả các tiện ích theo dõi pin tôi đã thử chỉ tương thích với các thiết bị như vậy.

Chỉnh sửa 3:

Xem lại điều này gần một năm sau. Tôi biết có bàn di chuột và bàn phím không dây và có thể thấy mức pin của chúng hoàn toàn tốt (trong cả thanh công cụ hoặc dòng lệnh). Vẫn không thể lấy mức pin từ tai nghe của tôi và không biết tại sao: /


ioreg -c "Powerbeats Wireless" |grep -i batterycũng trả về thông tin pin chung, vì vậy tôi nghĩ rằng tôi có tên thiết bị chính xác. Nhưng tại sao batterylevellệnh không hoạt động !! Smh
pingo

Vui lòng chỉnh sửa câu hỏi của bạn thay vì nhận xét về câu hỏi của riêng bạn.
At0mic

Các chỉnh sửa @IronCraftMan hiện đã hoàn tất. Bạn nghĩ rằng bạn có thể cung cấp bất kỳ trợ giúp?
pingo

Xin chào - Tôi muốn nghe nếu bạn có thêm. Tôi muốn lấy thời lượng pin ra khỏi bộ điều khiển PS4 được kết nối bởi BlueTooth với iMac của tôi.
dunxd

Không hoạt động cho tai nghe bluetooth JVC của tôi. Thật kỳ lạ, vì iPhone 4S 5 tuổi của tôi không có vấn đề gì cho tôi biết mức pin của chúng khi được kết nối.
John Smith

Câu trả lời:


8

Trên iMac của tôi (macOS 10.12.6), không có giải pháp nào được đề cập ở trên hoạt động. Sau khi đọc trang người đàn ông của ioreg . Giải pháp hoạt động trên máy tính của tôi là:

// 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ó một số lớp thiết bị khác để thử đối số -c: AppleHSBluetoothDevice AppleHSBluetoothHIDDriver AppleMultitouchMouseHIDEventDriver AppleHIDPalEventDriverV2 , chúng cho đầu ra khác nhau.


7

Bạn cần sử dụng ioreg. Bạn sẽ cần biết tên của thiết bị. Chỉ cần làm theo hướng dẫn này .

Hướng dẫn, về cơ bản, có bạn chạy ioreg -c <devicename> |grep '"BatteryPercent" ='

Thí dụ:

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

nhập mô tả hình ảnh ở đây

Ngoài ra, bạn có thể truy xuất thông tin pin rộng hơn với:

ioreg -c BeatsBluetoothHeadset |grep Battery

2
Hey, cảm ơn phản hồi của bạn! Vấn đề này dường như là cụ thể đối với tai nghe Beats, vì tôi có thể truy cập mức pin cho bàn phím và bàn di chuột không dây của mình. Sẽ cập nhật câu hỏi ban đầu!
pingo

nó không hoạt động với tôi
Jadda

1

Tôi mới phát hiện ra rằng để kiểm tra mức pin của powerbeats 3 trên máy Mac của mình, tôi chỉ cần vào menu bluetooth ở khu vực biểu tượng ở phía trên bên phải màn hình, di chuột qua các nhịp điện được kết nối của bạn và sau đó nó hiển thị mức pin ngay tại đó. Mong rằng sẽ giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.