bluetoothctl - O que é um agente bluetooth?

16

Estou usando o bluetoothctlutilitário para configurar conexões Bluetooth entre computadores e Raspberry Pis.

Em bluetoothctl, posso ver que existe algo chamado "agente" e, observando a maioria dos tutoriais, esse "agente" precisa estar ativado "para" criar conexões. Estou tentando entender o que é um agente bluetooth.

1) O que é um agente bluetooth?

2) Para que serve o comando "default-agent" bluetoothctl? Pode ser o mesmo para todas as conexões?

3) Qual é o impacto de não usar um agente ao configurar uma conexão?

4) Observando man bluetoothctl, diz-se que os agentes podem ser configurados como uma capacidade. O que é um recurso de agente? Que valores poderiam ser colocados lá?

5) Os agentes existem apenas com bluetooth? Existem, digamos, agentes wifi também?

Eu sou bastante novo no mundo do Bluetooth, e a documentação para bluetoothctl é bastante limitada ... Qualquer informação seria apreciada.

phodor
fonte

Respostas:

12

O agente Bluetooth é o que gerencia o 'código de emparelhamento' do Bluetooth. Ele pode responder a um 'código de emparelhamento' chegando ou pode enviar um.

O agente padrão deve funcionar para você. Você diz que é novo no Bluetooth, então sugiro que você use o padrão por enquanto.

Não usar um agente significa que os dois dispositivos não podem negociar o 'código de emparelhamento'.

Um exemplo pode ajudar, então aqui está um exemplo do que funcionou para mim no meu Raspberry Pi 3 chamado 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

Aqui pedi ao iPhone para emparelhar com Shep, e o iPhone enviou 680044.

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

Ou veja o seguinte, se você deseja definir a chave de acesso com antecedência:

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

Configure o agente bluetooth para passar o código de emparelhamento esperado

$ bluetooth-agent 0000 &

Obviamente, o '0000' pode ser qualquer número.

Esses agentes e 'códigos de emparelhamento' são específicos para Bluetooth e não para Wi-Fi.

Geoff
fonte
Obrigado Geoff. Bom esclarecimento. Além disso, o link que você me forneceu explica como configurar uma conexão serial através do Bluetooth, que foi meu próximo problema.
Phd #
Parece que bluetooth-agentnão está disponível no xenial. Alguns pesquisadores sugerem que costumava fazer parte do bluezpacote. Alguma idéia de como definir a chave de acesso com antecedência no xenial?
Cheshirekow #
@cheshirekow confira bt-agente em bluez-ferramentas
Björn Nilsson