bluetoothctl - ¿Qué es un agente bluetooth?

16

Estoy usando la bluetoothctlutilidad para configurar conexiones Bluetooth entre computadoras y Raspberry Pis.

En bluetoothctl, puedo ver que hay algo llamado "agente", y al mirar la mayoría de los tutoriales, este "agente" tiene que estar "activado" para crear conexiones. Estoy tratando de entender qué es un agente bluetooth.

1) ¿Qué es un agente bluetooth?

2) ¿Para qué sirve el comando "agente predeterminado" bluetoothctl? ¿Puede ser lo mismo para todas las conexiones?

3) ¿Cuál es el impacto de no usar un agente al configurar una conexión?

4) Al observar man bluetoothctl, se dice que los agentes pueden establecer una capacidad. ¿Qué es la capacidad de un agente? ¿Qué valores se podrían poner allí?

5) ¿Los agentes solo existen con bluetooth? ¿Hay, digamos, agentes wifi también?

Soy bastante nuevo en el mundo de Bluetooth, y la documentación para bluetoothctl es bastante limitada ... Cualquier información sería apreciada.

Phodor
fuente

Respuestas:

12

El agente de Bluetooth es el que administra el "código de emparejamiento" de Bluetooth. Puede responder a un 'código de emparejamiento' entrante o puede enviar uno.

El agente predeterminado debería funcionar para usted. Dices que eres nuevo en Bluetooth, así que te sugiero que sigas con el valor predeterminado por ahora.

No usar un agente significará que los 2 dispositivos no pueden negociar el 'código de emparejamiento'.

Un ejemplo podría ayudar, así que aquí hay un ejemplo de lo que funcionó para mí en mi Raspberry Pi 3 llamado 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

Aquí le pedí al iPhone que se vincule con Shep, y el iPhone envió 680044.

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

O consulte lo siguiente si desea establecer la clave de acceso por adelantado:

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

Configurar bluetooth-agent para pasar el código de emparejamiento esperado

$ bluetooth-agent 0000 &

Obviamente el '0000' podría ser cualquier número.

Estos agentes y 'códigos de emparejamiento' son específicos de Bluetooth en lugar de Wi-Fi.

Geoff
fuente
Gracias Geoff Buena aclaracion. Además, el enlace que me proporcionó explica cómo configurar una conexión en serie a través de Bluetooth, que fue mi siguiente problema.
phodor
Parece bluetooth-agentque no está disponible en xenial. Algunas búsquedas en Google sugieren que solía ser parte del bluezpaquete. ¿Alguna idea sobre cómo configurar la clave de paso por adelantado en xenial?
Cheshirekow
@cheshirekow echa un vistazo a bt-agent en bluez-tools
Björn Nilsson el