bluetoothctl - Qu'est-ce qu'un agent bluetooth?

16

J'utilise l' bluetoothctlutilitaire pour configurer les connexions Bluetooth entre les ordinateurs et Raspberry Pis.

Dans bluetoothctl, je peux voir qu'il y a quelque chose qui s'appelle un "agent", et en regardant la plupart des tutoriels, cet "agent" doit être activé "pour" créer des connexions. J'essaie de comprendre ce qu'est un agent Bluetooth.

1) Qu'est-ce qu'un agent Bluetooth?

2) À quoi sert la commande "default-agent" bluetoothctl? Peut-il en être de même pour toutes les connexions?

3) Quel est l'impact de la non-utilisation d'un agent lors de la configuration d'une connexion?

4) En regardant man bluetoothctl, on dit que les agents peuvent définir une capacité. Qu'est-ce qu'une capacité d'agent? Quelles valeurs y mettre?

5) Les agents existent-ils uniquement avec Bluetooth? Existe-t-il aussi des agents wifi?

Je suis assez nouveau dans le monde du Bluetooth, et la documentation de bluetoothctl est assez limitée ... Toute information serait appréciée.

phodor
la source

Réponses:

12

L'agent Bluetooth est ce qui gère le «code de couplage» Bluetooth. Il peut soit répondre à un «code de couplage» entrant, soit en envoyer un.

L'agent par défaut devrait fonctionner pour vous. Vous dites que vous êtes nouveau sur Bluetooth, donc je vous suggère d'utiliser la valeur par défaut pour l'instant.

Si vous n'utilisez pas d'agent, les 2 appareils ne pourront pas négocier le «code de couplage».

Un exemple pourrait aider, alors voici un exemple de ce qui a fonctionné pour moi sur mon Raspberry Pi 3 appelé Shep:

pi@shep:~/bluetooth $ bluetoothctl
[NEW] Controller B8:27:EB:B0:BC:22 shep [default]
[NEW] Device 18:9E:FC:94:8C:33 iPhone4
[bluetooth]# agent on
Agent registered
[bluetooth]# default-agent
Default agent request successful
[CHG] Device 18:9E:FC:94:8C:33 Connected: yes
[CHG] Device 18:9E:FC:94:8C:33 Connected: no

Ici, j'ai demandé à l'iPhone de s'associer à Shep, et l'iPhone a envoyé 680044.

[CHG] Device 18:9E:FC:94:8C:33 Connected: yes
Request confirmation
[agent] Confirm passkey 680044 (yes/no): yes

Ou consultez les informations suivantes si vous souhaitez définir la clé d'accès à l'avance:

http://www.heatxsink.com/entry/how-to-pair-a-bluetooth-device-from-command-line-on-linux

Configurer l'agent Bluetooth pour transmettre le code de couplage attendu

$ bluetooth-agent 0000 &

Évidemment, le «0000» peut être n'importe quel nombre.

Ces agents et «codes de couplage» sont spécifiques au Bluetooth plutôt qu'au Wi-Fi.

Geoff
la source
Merci Geoff. Bonne clarification. De plus, le lien que vous m'avez fourni explique comment configurer une connexion série via Bluetooth, qui était mon prochain problème.
phodor
Il ne semble bluetooth-agentpas disponible sur xenial. Certaines recherches sur Google suggèrent qu'il faisait partie du bluezpackage. Avez-vous des idées sur la façon de définir la clé de passe à l'avance sur Xenial?
cheshirekow
@cheshirekow consultez bt-agent dans bluez-tools
Björn Nilsson