Pasangkan dengan perangkat Bluetooth melalui Terminal

12

Saya mencoba menghubungkan dan memasangkan perangkat Bluetooth dari baris perintah. Saya dapat melakukannya melalui GUI menggunakan proses standar tetapi saya mencari untuk mengotomatiskan seluruh proses.

Saya mencari perintah yang dapat dieksekusi dalam skrip shell untuk terhubung ke perangkat Bluetooth. Sama seperti Linux memiliki perintah "hcitool", "pand", saya mencoba mencari perintah yang setara untuk macOS.

Bagaimana saya bisa mencapai ini?

Ankur Bose
sumber

Jawaban:

2

Ini tampaknya sedikit "retas", tetapi Anda dapat melakukan ini dengan menggunakan oascript yang mengemulasi interaksi GUI yang diperlukan untuk menghubungkan: /programming//a/23018886/5269642

Sayangnya saya tidak dapat menemukan API yang terdokumentasi untuk bluetooth, pendekatan oascript adalah yang terbaik yang dapat saya temukan / pikirkan sejauh ini.

SimMac
sumber
1

blueutil(tersedia melalui HomeBrew) adalah jawabannya. Saya hanya menggunakannya mengikuti pedoman dalam posting blog ini .

Dalam kasus saya, saya memiliki iMac dengan macOS Catalina yang tidak memiliki trackpad. Saya terjebak di "Kirim Apple Crash Analytics?" layar tanpa kontrol keyboard. Menggunakan SSH, saya terhubung ke mesin dan menggunakan perintah berikut untuk memasangkan dan kemudian menghubungkan trackpad tanpa akses ke GUI. (Pertama, saya harus mengubah trackpad ke mode Discoverable. PIN default untuk perangkat penunjuk Apple adalah 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

Pada saat itu, trackpad berfungsi.

Josh Cheshire
sumber
0

Alat blueutil menggunakan API pribadi dari kerangka kerja IOBluetooth untuk berinteraksi dengan perangkat bluetooth. Anda dapat membuat daftar perangkat terbaru menggunakan:

blueutil --recent

dan sambungkan ke perangkat tertentu menggunakan:

blueutil --connect $device_adress
Friedrich
sumber