Bluetoothctl设置密码

Sub*_*ert 13 linux bluetooth raspberry-pi

我有一个Raspberry Pi 2运行Raspbian内核4.1.15和Bluez版本5.23.

我希望能够将设备(如Android手机)连接到rapsberry,rapsberry应接受连接而无需用户交互.

使用bluetoothct我可以让设备被发现,与其他设备配对,但我还没有找到像蓝牙代理一样设置引脚的方法

bluetooth-agent PIN
Run Code Online (Sandbox Code Playgroud)

蓝牙代理在我的系统上不再可用,有没有办法用bluetoothctl做到这一点?

Sub*_*ert 13

这是感谢kaylum的作用:

$bluetoothctl
[bluetooth]# power on
Changing power on succeeded
[bluetooth]# discoverable on
Changing discoverable on succeeded
[bluetooth]# pairable on
Changing pairable on succeeded
[bluetooth]# agent NoInputNoOutput
Agent registered
[bluetooth]# default-agent 
Default agent request successful
Run Code Online (Sandbox Code Playgroud)

然后我用手机将覆盆子和手机配对.

[NEW] Device XX:XX:XX:XX:XX:XX nameofthedevice
[CHG] Device XX:XX:XX:XX:XX:XX UUIDS:
      --UUIDS--
[CHG] Device XX:XX:XX:XX:XX:XX Paired: yes
Run Code Online (Sandbox Code Playgroud)

  • 我有同样的问题.我想在树莓面上设置一个固定的密码,以避免"匿名"连接.这个答案并没有指出这不是吗? (2认同)
  • 我做了完全相同的步骤,但仍然我的所有手机都要求我输入PIN码,然后bluetoothctl仍然要求输入相同的PIN码?!代理NoInputNoOutput似乎没有工作或我错过了什么? (2认同)

run*_*uhl 10

我刚才有同样的问题.如果您在agent看到可用代理列表后再按两次选项卡; KeyboardOnly没有通知工作正常:

[bluetooth]# agent on          # accidentally used wrong agent
Agent registered
[bluetooth]# agent 
DisplayOnly      DisplayYesNo     KeyboardDisplay  KeyboardOnly     NoInputNoOutput  off              on               
[bluetooth]# agent KeyboardOnly 
Agent is already registered    # can't use two agents at one
[bluetooth]# agent off         # unregister agent
Agent unregistered
[bluetooth]# agent KeyboardOnly   # register proper agent
Agent registered
[bluetooth]# pair XX:XX:XX:04:F5:7C 
Attempting to pair with XX:XX:XX:04:F5:7C 
[CHG] Device XX:XX:XX:04:F5:7C Connected: yes
Request passkey
[agent] Enter passkey (number in 0-999999): 722504
[MoarBacon]# pair XX:XX:XX:04:F5:7C 
Attempting to pair with XX:XX:XX:04:F5:7C 
[CHG] Device XX:XX:XX:04:F5:7C Paired: yes
Pairing successful
Run Code Online (Sandbox Code Playgroud)


小智 5

首先,您必须配置 sspmode 0,用于 pin 请求: hciconfig hci0 sspmode 0

并使用 bt-agent 应用程序(您也可以作为守护进程运行):

bt-agent -c NoInputNoOutput -p /root/bluethooth.cfg
Run Code Online (Sandbox Code Playgroud)

编辑文件配置,可以输入mac地址和pin:例如:

XX:XX:XX:XX:XX:XX 1234
Run Code Online (Sandbox Code Playgroud)

或者,如果您希望所有设备都使用相同的 PIN 码(例如 1234),请像这样编辑文件: * 1234

这对我有用!