Estou usando o bluetoothctl
utilitário para configurar conexões Bluetooth entre computadores e Raspberry Pis.
Em bluetoothctl
, posso ver que existe algo chamado "agente" e, olhando a maioria dos tutoriais, esse "agente" deve 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 utilizar um agente ao configurar uma conexão?
4) Observando man bluetoothctl
, diz-se que os agentes podem ter uma capacidade definida. O que é uma capacidade de agente? Que valores poderiam ser colocados lá?
5) Os agentes só existem com bluetooth? Existem, digamos, agentes wifi também?
Sou bastante novo no mundo do Bluetooth e a documentação do bluetoothctl é bastante limitada... Qualquer informação será apreciada.
Responder1
O agente Bluetooth é quem gerencia o 'código de emparelhamento' do Bluetooth. Ele pode responder a um 'código de emparelhamento' recebido ou enviar um.
O agente padrão deve funcionar para você. Você diz que é novo no Bluetooth, então sugiro que use o padrão por enquanto.
A não utilização de um agente significa que os 2 dispositivos não poderão 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 para emparelhar o iPhone 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 quiser definir a chave de acesso antecipadamente:
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.