bluetoothctl - 什么是蓝牙代理?

mar*_*004 25 bluetooth 16.04

我正在使用该bluetoothctl实用程序在计算机和 Raspberry Pi 之间建立蓝牙连接。

在 中bluetoothctl,我可以看到有一种叫做“代理”的东西,通过查看大多数教程,必须将这个“代理”设置为“开启”才能创建连接。我试图了解什么是蓝牙代理。

1)什么是蓝牙代理?

2)什么是“default-agent”命令bluetoothctl?所有连接都可以吗?

3) 建立连接时不使用代理有什么影响?

4)通过查看man bluetoothctl,据说可以设置代理的能力。什么是代理能力?什么值可以放在那里?

5) 代理只存在蓝牙吗?也有wifi代理吗?

我对蓝牙世界还很陌生,而且 bluetoothctl 的文档非常有限......任何信息都将不胜感激。

小智 20

蓝牙代理管理蓝牙“配对代码”。它可以响应进入的“配对代码”,也可以发出一个。

默认代理应该适合你。你说你是蓝牙的新手,所以我建议你现在使用默认值。

不使用代理将意味着 2 台设备无法协商“配对代码”。

一个例子可能会有所帮助,所以这里有一个在我的 Raspberry Pi 3 上对我有用的例子,叫做 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
Run Code Online (Sandbox Code Playgroud)

在这里我让iPhone与Shep配对,iPhone发送了680044。

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

或者,如果您想提前设置密码,请参阅以下内容:

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

设置蓝牙代理以传递预期的配对代码

$ bluetooth-agent 0000 &

显然,“0000”可以是任何数字。

这些代理和“配对代码”特定于蓝牙而不是 Wi-Fi。

  • @cheshirekow 在 bluez-tools 中查看 bt-agent (2认同)