Stellen Sie über das Terminal eine Verbindung zu einem Bluetooth-Gerät her

50

Ich benutze Minze 15 mit Zimt.

Ich habe eine Reihe von Bluetooth-Lautsprechern gekauft und versuche, über ein Terminal eine Verbindung zu ihnen herzustellen. Über die GUI kann ich sie normal sehen und bin mit ihnen verbunden. Ich möchte ein kleines Skript erstellen, damit ich mich jedes Mal, wenn sie sichtbar sind, automatisch mit ihnen verbinde.

Ich versuche sie zu scannen mit:

hcitool scan

Aber ich verstehe

Scannen ...

und nach ein paar Sekunden stirbt der Prozess.

Das gleiche mit hidd --search.

Wenn ich renne hciconfig scanbekomme ich:

hci0:   Type: BR/EDR  Bus: USB
    BD Address: 40:2C:F4:78:E8:69  ACL MTU: 1021:8  SCO MTU: 64:1
    UP RUNNING PSCAN ISCAN 
    RX bytes:130700 acl:22 sco:0 events:18527 errors:0
    TX bytes:31875398 acl:36784 sco:0 commands:75 errors:0

Ich nehme an, das sagt nur meine Bluetooth-Adresse und dass sie eingeschaltet ist.

Wie ich bereits sagte, kann ich über die normale Benutzeroberfläche die Lautsprecher sehen und bin mit ihnen verbunden, aber über das Terminal bekomme ich nichts.

Eigentlich ist es ziemlich lustig, dass hcitool scanich nichts finde, da meine Lautsprecher angeschlossen sind und jedes Mal, wenn ich den Befehl ausführe, der Ton aus den Lautsprechern für ein paar Sekunden unterbrochen wird.

Zippie
quelle

Antworten:

32

Das habe ich über bluez-tools geschafft :

sudo apt-get install bluez-tools

Liste der Geräte, um die MAC-Adresse meines Geräts abzurufen:

bt-device -l

und erfolgreich verbinden:

bt-audio -c 01:02:03:04:05:06


Beachten Sie, dass die bt-audioFunktion für neuere Versionen neu implementiert wird.

Zippie
quelle
9
Dies ist wahrscheinlich für eine alte Version, da es keinen bt-audioBefehl mehr gibt
Édouard Lopez
1
Für ein Update folgen Sie der Ausgabe github.com/khvzak/bluez-tools/issues/13
Édouard Lopez
Unter Linux Mint 17 (Cinnamon) habe ich erfolgreich bluez-test-audio connect MAC_ADDRESSein bereits gekoppeltes Audiogerät verwendet.
Suzana
2
Ich habe es erfolgreich unter bt-device -c mac_addressDebian verwendet. 9.
jbrock
11

Ich habe es getan sudo apt-get install bluez-tools, weil ich es irgendwann benutzt habe.

Nachdem ich das Gerät gefunden habe hcitool scan, habe ich ausgeführt, bluez-simple-agent hci0 Xwobei X die Mac-Adresse des Geräts ist, das ich hinzugefügt habe. Dadurch wurde die Verbindung zum Gerät hergestellt.

Dann bin ich gelaufen hciconfig scanund es scheint die Verbindung automatisch gestartet zu haben.

user62474
quelle
1
Ubuntu 16.04. Es gibt keinen bluez-simple-agentBefehl.
LRDPRDX
2

Ich weiß, dass dies etwas spät ist, aber ich habe mit diesem Befehl gespielt hcitoolund möchte auf etwas hinweisen, das ich notiert habe und das Ihr Problem löst, einen Scan durchzuführen und den Prozess "nur im Sterben". Das Ding ist, der Scan funktioniert nur, wenn die Geräte ungepaart sind. In Ihrem Fall können Sie sehen, dass die Lautsprecher auf der GUI verbunden sind, was bedeutet, dass sie bereits gekoppelt wurden. Daher gibt der Scan nichts zurück.

Ich arbeite daran, wie ich Geräte mit demselben Tool koppeln / verbinden kann, obwohl ich sehe, dass Ihnen andere Optionen zur Verfügung stehen. Ich werde meine Antwort aktualisieren, sobald ich es schaffe.

KipchirchirIan
quelle
2

Um dies mit den eingebauten Hilfsprogrammen zu tun, können Sie diesen etwas manuelleren Vorgang mit ausführen bluetoothctl.

hcitool scan  # to get the MAC address of your device
bluetoothctl
agent on
scan on  # wait for your device's address to show up here
scan off
trust MAC_ADDRESS
pair MAC_ADDRRESS
connect MAC_ADDRESS

Die Beiträge in dieser Ausgabe von Github schlagen eine Möglichkeit vor, das Skript zu erstellen, aber das hat bei mir nicht funktioniert, da ich manuell warten musste, bis der Scan zu Ergebnissen führte.

Max
quelle
0

Ich habe folgendes in Debian 9 installiert.

blueman/stable,now 2.0.4-1 amd64 [installed]
bluez/stable,stable,now 5.43-2+deb9u1 amd64 [installed]
bluez-obexd/stable,stable,now 5.43-2+deb9u1 amd64 [installed,automatic]
bluez-tools/stable,now 0.2.0~20140808-5+b2 amd64 [installed]
pulseaudio-module-bluetooth/stable,now 10.0-1+deb9u1 amd64 [installed]

Ich habe meine Bluetooth-Kopfhörer mithilfe der GUI-Anwendung Bluetooth Manager bereits mit einem USB-Bluetooth-Adapter auf meinem Desktop verbunden. Ich habe eine Tastenkombination, die die folgenden zwei Befehle ausführt: bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. Schließen Sie Kopfhörer an den Bluetooth-USB-Adapter an. (Verwenden Sie bt-device -ldiese Option , um die MAC-Adresse abzurufen.)
  2. Stellen Sie Bluetooth-Audio als Standardausgabe ein. (Verwenden Sie pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}', um den richtigen Namen zu erhalten.)
jbrock
quelle
-1

Das mag etwas spät sein, aber ich hatte genau das gleiche Problem mit der gleichen Ausgabe von hciconfig.

Hat sudo hcitool lescanaber den Job für mich erledigt - vielleicht kann es dir ja noch weiterhelfen!

Einhorn
quelle