Ghép nối với thiết bị Bluetooth qua Terminal


12

Tôi đang cố gắng kết nối và ghép nối một thiết bị Bluetooth từ dòng lệnh. Tôi có thể làm điều đó qua GUI bằng quy trình chuẩn nhưng tôi đang tìm cách tự động hóa toàn bộ quy trình.

Tôi đang tìm kiếm các lệnh có thể được thực thi trong tập lệnh shell để kết nối với thiết bị Bluetooth. Giống như Linux có các lệnh "hcitool", "pand", tôi đang cố gắng tìm các lệnh tương đương cho macOS.

Làm thế nào tôi có thể thực hiện điều này?

Câu trả lời:


2

Điều này có vẻ hơi "hacky", nhưng bạn có thể làm điều này bằng cách sử dụng một oascript mô phỏng các tương tác GUI cần thiết để kết nối: /programming//a/23018886/5269642

Thật không may, tôi không thể tìm thấy bất kỳ API tài liệu nào cho bluetooth, cách tiếp cận oascript là cách tốt nhất tôi có thể tìm / nghĩ cho đến nay.


1

blueutil(có sẵn qua HomeBrew) là câu trả lời. Tôi chỉ sử dụng nó theo hướng dẫn trong bài viết trên blog này .

Trong trường hợp của tôi, tôi đã có một iMac với macOS Catalina không có trackpad được ghép nối. Tôi đã bị kẹt tại "Gửi Apple Crash Analytics?" màn hình không có điều khiển bàn phím. Sử dụng SSH, tôi đã kết nối với máy và sử dụng các lệnh sau để ghép nối và sau đó kết nối trackpad mà không cần truy cập vào GUI. (Đầu tiên, tôi phải biến trackpad thành chế độ Có thể khám phá. Mã PIN mặc định cho các thiết bị con trỏ của Apple là 0000.)

% blueutil --inquiry
address: d0-a6-xx-xx-xx-xx, not connected, not favourite, not paired, name: "-", recent access date: -
% blueutil --pair d0-a6-xx-xx-xx-xx
Type pin code (up to 16 characters) for "Cheshire, Josh’s Trackpad" (d0-a6-xx-xx-xx-xx) and press Enter: 0000
% blueutil --connect d0-a6-xx-xx-xx-xx

Tại thời điểm đó, trackpad hoạt động.


0

Công cụ blueutil sử dụng API riêng từ khung IOBluetooth để tương tác với các thiết bị bluetooth. Bạn có thể liệt kê các thiết bị gần đây bằng cách sử dụng:

blueutil --recent

và kết nối với một thiết bị cụ thể bằng cách sử dụng:

blueutil --connect $device_adress
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.