Associare a un dispositivo Bluetooth tramite Terminale


12

Sto cercando di connettere e associare un dispositivo Bluetooth dalla riga di comando. Posso farlo tramite la GUI usando il processo standard ma sto cercando di automatizzare l'intero processo.

Sto cercando comandi che possono essere eseguiti in uno script di shell per connettersi al dispositivo Bluetooth. Proprio come Linux ha i comandi "hcitool", "pand", sto cercando di trovare comandi equivalenti per macOS.

Come posso farlo?

Risposte:


2

Questo sembra un po '"confuso", ma puoi farlo usando un JavaScript che emula le interazioni della GUI necessarie per la connessione: /programming//a/23018886/5269642

Purtroppo non sono riuscito a trovare alcuna API documentata per il bluetooth, l'approccio oascript è stato il migliore che ho potuto trovare / pensare finora.


1

blueutil(disponibile tramite HomeBrew) è la risposta. L'ho appena usato seguendo le linee guida in questo post del blog .

Nel mio caso, avevo un iMac con macOS Catalina che non aveva un trackpad associato. Ero bloccato in "Invia Apple Crash Analytics?" schermo senza controlli da tastiera. Usando SSH, mi sono collegato alla macchina e ho usato i seguenti comandi per accoppiare e quindi collegare il trackpad senza accedere alla GUI. (Innanzitutto, ho dovuto trasformare il trackpad in modalità rilevabile. Il PIN predefinito per i dispositivi con puntatore Apple è 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

A quel punto, il trackpad ha funzionato.


0

Lo strumento blueutil utilizza API private dal framework IOBluetooth per interagire con i dispositivi bluetooth. Puoi elencare i dispositivi recenti utilizzando:

blueutil --recent

e connettersi a un dispositivo specifico utilizzando:

blueutil --connect $device_adress
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.