Domanda:
Come selezionare il dispositivo Bluetooth utilizzando la riga di comando?
nachocab
2016-04-29 05:57:14 UTC
view on stackexchange narkive permalink

Ho due trackpad Bluetooth, uno al lavoro e uno a casa.C'è un modo per selezionare l'uno o l'altro dalla riga di comando.Il mio flusso di lavoro corrente sta salendo al menu Bluetooth, passando con il mouse su casa o in ufficio e facendo clic su Connetti , ma vorrei poterlo fare dal terminale.

[Ecco una risposta usando Applescipt piuttosto che chiamandolo dalla riga di comando] (http://stackoverflow.com/questions/17519804/connect-to-bluetooth-device-iphone-via-command-line-on-macosx) - è quelloabbastanza buono?
Puoi chiarire la tua risposta in modo che sappiamo cosa hai già provato sulla riga di comando?Altrimenti potresti ottenere molti suggerimenti / risposte sprecati.Inoltre, se è pertinente, potresti voler espandere il motivo per cui desideri connetterti tramite il terminale: chiedo perché se è per aggirare vedere una sorta di problema, potrebbero esserci altre opzioni migliori per aggirarlo piuttosto che usare il terminale.
Cinque risposte:
luckman212
2019-03-03 00:20:56 UTC
view on stackexchange narkive permalink

Questa app CLI open source BluetoothConnector sembra una buona soluzione.Ho testato e confermato che funziona di recente come macOS 10.15.2.

È disponibile su GitHub e su Homebrew:

  $ brew install bluetoothconnector
$ BluetoothConnector --connect 00-11-22-33-44-55 --notify
$ BluetoothConnector - disconnetti 00-11-22-33-44-55
 
Ma non viene rilevato alcun nuovo dispositivo :(
nachocab
2016-05-04 04:56:41 UTC
view on stackexchange narkive permalink

Ho finito per utilizzare questa versione modificata da questa risposta e creare due file, uno con "Home Trackpad" e un altro con "Office Trackpad".Funziona, ma ci vogliono alcuni secondi per completare

  dì all'applicazione "Eventi di sistema" di dire al processo "SystemUIServer" di impostare bt su (primo elemento della barra dei menu la cui descrizione è "bluetooth") del menubarra 1 clic bt tell (la prima voce di menu il cui titolo è "Home Trackpad") del menu di bt fai clic su tell menu 1 se esiste voce di menu "Connect" fai clic su voce di menu "Connect" ritorna "Connecting ..." altrimenti fai clic bt -chiudi il menu a discesa principale per ripulire dopo che siamo tornati "Nessun pulsante di connessione; è già connesso?"end if end tell end tellend tell  
Ho usato il codice sopra.Una nota, però, se il nome del tuo dispositivo ha un apostrofo (ad esempio, "Bob's Airpods", potresti dover utilizzare un carattere non standard. Sembra che i dispositivi configurati su un telefono utilizzino probabilmente l'U + 2019carattere, mentre i nostri IDE di solito usano U + 0027. Ho copiato / incollato l'apostrofo di fantasia e poi ha funzionato bene.Sto usando Alfred per attivarlo e ci vogliono solo frazioni di secondo
Allan
2016-05-03 20:34:46 UTC
view on stackexchange narkive permalink

AFIK, non esiste un'utilità della riga di comando incorporata per gestire le singole connessioni Bluetooth.

Infatti, la pagina man man blued (OS X Bluetooth daemon) afferma specificamente:

Il demone Bluetooth gestisce le transazioni SDP, la gestione delle chiavi di collegamento e l'accettazione della connessione in entrata. Non può essere utilizzato direttamente dall'utente. (Enfasi mia)

Quindi, sembra che tu sia limitato a caricare / scaricare il demone BT dalla riga di comando . Potrebbe essere utile, comunque. Se il tuo dispositivo è attivo, OS X si connetterà automaticamente al dispositivo all'avvio. In altre parole, si connetterà automaticamente a qualsiasi dispositivo nel raggio di azione all'avvio del daemon.

Ottieni lo stato del daemon Se emettiamo il comando i valori predefiniti leggono /Library/Preferences/com.apple.Bluetooth.plist ControllerPowerState

Risponde con un 1 o 0 a seconda se il demone BT è in esecuzione o meno; 1 in alto, 0 in basso.


Scarica il demone

L'immissione del comando sudo killall blued dovrebbe uccidere il daemon BT. Lo svantaggio qui è che se hai una tastiera BT, smetterà di funzionare.


(Ri) avvio del demone

Se emettiamo il comando: launchctl start com.apple.blued dirà al demone di (ri) avviare. Dopo averlo fatto, dovrebbe rilevare il dispositivo nel raggio d'azione.

Mettere tutto insieme Mettendolo insieme come una riga, possiamo emettere il comando

sudo killall blued && sleep 3 && launchctl start com.apple.blued

Ciò che fa è ....

  1. Uccidi il demone
  2. Attende 3 secondi per assicurarsi che sia stato ucciso (puoi cambiarlo se lo desideri)
  3. Avvia il demone.

Ora per renderlo più facile

Per renderlo più semplice, gli diamo un alias . Puoi chiamare l'alias come preferisci; Ho appena usato "btrestart" perché ha senso in questo contesto.

alias btrestart = sudo killall blued && sleep 3 && launchctl start com.apple.blued

Ora, ovunque nella shell del terminale, se digiti btrestart emetterà il comando. Una volta che hai funzionato, puoi aggiungerlo al tuo .bash_profile in modo che l'alias sia persistente durante i riavvii:

  echo alias btrestart = sudo killall blued && sleep 3 && launchctl start com.apple.blued >> ~ / .bash_profile  


Un paio di avvertimenti

  1. Avrai per inserire la password ogni volta. Launchctl è un comando di sistema e richiede privilegi elevati.
  2. Tutti i tuoi dispositivi BT verranno disconnessi e ricollegati. Se hai solo uno o due dispositivi BT, questo potrebbe non essere un grosso problema

Spero che questo ti porti nella giusta direzione ...

frank ankersly
2016-05-04 05:22:33 UTC
view on stackexchange narkive permalink
  blued listall  

Questo comando di Terminale ti dirà tutti i dispositivi attualmente "conosciuti". Dovrai capire (leggendo tra le righe) quale è (supponendo che tu abbia chiamato il tuo trackpad qualcosa di "carino", come "casa" o "lavoro", ecc.)

Ho fatto questo e ho ottenuto:

  2016-05-03 20: 14: 58.392 blued [3852: 507] hostControllerOnline - Numero di dispositivi accoppiati = 3, Elenco di dispositivi accoppiati = ( "d8-96-95-e0-3e-f8", "c4-2c-03-b7-87-57", "90-84-0d-e4-7b-41") tasto di collegamento trovato per il dispositivo: c4- 2c-03-b7-87-572016-05-03 20: 15: 04.637 blu [3852: 507] link key trovato per il dispositivo: c4-2c-03-b7-87-572016-05-03 20: 15: 04.639 blued [3852: 507] [setSystemPreference] syncs returns false2016-05-03 20: 15: 04.639 blued [3852: 507] Salva link key for device: c4-2c-03-b7-87-57link key found for device: 90 -84-0d-e4-7b-412016-05-03 20: 15: 04.640 blu [3852: 507] link key trovata per il dispositivo: 90-84-0d-e4-7b-412016-05-03 20:15: 04.640 blu [3852: 507] Salva codice collegamento per dispositivo: 90-84-0d-e4-7b-41 codice collegamento trovato per dispositivo: d8-96-95-e0-3e-f82016-05-03 20: 15: 04.640 blu [3852: 507] link key fo und per dispositivo: d8-96-95-e0-3e-f82016-05-03 20: 15: 04.641 blu [3852: 507] Salva collegamento chiave per dispositivo: d8-96-95-e0-3e-f8 Creazione connessione non riuscita (0x4) per il dispositivo: D8-96-95-E0-3E-F8  

(poi ho premuto "ctrl-c" per annullare)

Supponiamo che io sapessi che "c4-2c-03-b7-87-57" è 'home' ....

successivo:

  blued join c4-2c-03-b7-87-57  

Funziona sul mio sistema (10.9.5). YMMV.

Potrebbe anche essere necessario aggiungere una funzione kill, poiché sembra che blued non "parli" bene con Terminal.

Quindi forse un possibile comando di shell sarebbe:

  blued join c4-2c-03-b7-87-57killall terminal  
Grazie!Questo è esattamente ciò di cui avevo bisogno.Molto più veloce rispetto a farlo con applecript e non è necessario inserire una password sudo.Invece di "killall", premo di nuovo ctrl + c
Penso di aver parlato troppo presto.Il tuo comando rende possibile connettere e disconnettere l'ultimo comando bluetooth abilitato, ma il passaggio da uno all'altro fallisce con questo errore: `Creazione connessione fallita (0x4) per dispositivo: 7C-C3-A1-4D-CF-99`
Victor Sergienko
2020-03-18 00:45:13 UTC
view on stackexchange narkive permalink

L'ho appena fatto con https://github.com/toy/blueutil.

Installato da MacPorts:

  $ sudo port install blueutil
 

ho scoperto l'ID del mio dispositivo:

  $ blueutil --paired
indirizzo: 03-5e-1c-4a-a8-11, non connesso, non preferito, non accoppiato, nome: "Los Headphones", data di accesso recente: 2020-03-17 17:58:09 +0000
...
 

Connesso:

  $ blueutil --connect 03-5e-1c-4a-a8-11
 
brew installa blueutil


Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 3.0 con cui è distribuito.
Loading...