Se connecter à un périphérique Bluetooth via un terminal

50

J'utilise Mint 15 w / Cinnamon.

J'ai acheté un ensemble de haut-parleurs Bluetooth et j'essaie de me connecter via un terminal. Via l'interface graphique, je peux les voir normalement et je suis connecté à eux. Je veux faire un petit script afin que chaque fois qu'ils soient visibles, je me connecterais automatiquement à eux.

J'essaye de les scanner avec:

hcitool scan

Mais je reçois

Balayage...

et au bout de quelques secondes, le processus meurt.

La même chose avec hidd --search.

Si je cours hciconfig scanje reçois:

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

Je suppose que cela ne fait que dire mon adresse Bluetooth et qu'elle est activée.

Comme je l'ai déjà dit, via l'interface utilisateur normale, je peux voir les haut-parleurs et je suis connecté à eux, mais rien ne se passe via un terminal.

En fait, il est assez amusant de hcitool scanne rien trouver car mes haut-parleurs sont connectés et chaque fois que je lance la commande, le son des haut-parleurs est interrompu pendant quelques secondes.

Zippie
la source

Réponses:

33

J'ai réussi à le faire via bluez-tools :

sudo apt-get install bluez-tools

Liste des périphériques pour obtenir l'adresse MAC de mon périphérique:

bt-device -l

et vous y connecter avec succès:

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


Gardez à l'esprit que la bt-audiofonctionnalité est en cours de réimplémentation pour les versions plus récentes.

Zippie
la source
9
C'est probablement pour une ancienne version car il n'y a plus de bt-audiocommande.
Édouard Lopez
1
Pour les mises à
Édouard Lopez
Sur Linux Mint 17 (Cinnamon), j’ai utilisé avec succès bluez-test-audio connect MAC_ADDRESSun périphérique audio déjà couplé.
Suzana
2
J'ai utilisé avec succès bt-device -c mac_addresssur Debian. 9.
Jbrock
11

Je l'ai fait sudo apt-get install bluez-tools, parce que je l'ai utilisé à un moment donné.

Après avoir pu localiser le périphérique hcitool scan, j’ai exécuté bluez-simple-agent hci0 Xoù X est l’adresse MAC du périphérique que j’ajoutais. Cela a créé la connexion au périphérique.

Ensuite, j'ai couru hciconfig scanet il semble avoir démarré automatiquement la connexion.

utilisateur62474
la source
1
Ubuntu 16.04. Il n'y a pas de bluez-simple-agentcommande.
LRDPRDX le
2

Je sais que c'est un peu tard, mais je jouais avec cette commande hcitoolet je voudrais signaler quelque chose que j'ai noté qui résout votre problème d'analyse et du processus "tout simplement en train de mourir". Le problème, c’est que l’analyse ne fonctionne que si les appareils ne sont pas appariés. Dans votre cas, vous dites que vous pouvez voir que les haut-parleurs sont connectés à l'interface graphique, ce qui signifie qu'ils ont déjà été couplés ... par conséquent, l'analyse ne renvoie rien.

Je travaille sur la manière de coupler / connecter des périphériques avec le même outil, même si je vois que d'autres options vous ont été proposées. Je mettrai à jour ma réponse dès que je me débrouillerai.

KipchirchirIan
la source
2

Pour le faire avec les utilitaires intégrés, vous pouvez suivre ce processus légèrement plus manuel en utilisant 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

Les articles de ce numéro de Github suggèrent un moyen de le scripter, mais cela n’a pas fonctionné pour moi car je devais attendre manuellement que l’analyse donne des résultats.

Max
la source
0

J'ai les éléments suivants installés dans Debian 9.

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]

J'ai déjà couplé mon casque Bluetooth à un adaptateur USB Bluetooth sur mon bureau à l'aide de l'application Bluetooth GUI. J'ai un raccourci clavier qui exécute les deux commandes suivantes: bt-device -c 00:02:5B:01:3C:3B; pacmd set-default-sink bluez_sink.00_02_5B_01_3C_3B.a2dp_sink

  1. Connectez le casque à l'adaptateur USB Bluetooth. (Utilisez bt-device -lpour obtenir l'adresse MAC.)
  2. Définissez l’audio Bluetooth comme sortie par défaut. (Utilisez pacmd list-sinks | awk '/index:/ {print $0}; /name:/ {print $0}; /device\.description/ {print $0}'pour obtenir le nom correct.)
jbrock
la source
-1

C'est peut-être un peu tard, mais j'avais exactement le même problème, avec le même résultat hciconfig.

Cependant, sudo hcitool lescanle travail a été fait pour moi - peut-être que cela peut encore vous aider!

unihorn
la source