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"
và bluetoothaudiod
hoạt động thay thế cho nhau. Chỉ không thể tìm ra làm thế nào để truy cập vào batterypercent
param.
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 pin và Mứ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 batterypercent
chỉ 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 battery
cũ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 saobatterylevel
lệnh không hoạt động !! Smh