使用 Bluetooth 2.0 dongle headless 与 Raspberry Pi Zero 配对

Pair with Raspberry Pi Zero using Bluetooth 2.0 dongle headless

我有一个 Raspberry Pi Zero,USB 端口有一个蓝牙 2.0 加密狗,因为它是蓝牙 2.0,我不能使用简单配对模式(仅适用于蓝牙 2.1+)。我想将我的计算机与 Raspberry Pi 配对,但计算机要求我输入 PIN,我不想与 Raspberry 交互。

由于简单配对模式不可用,我想到了使用固定 PIN(如 0000),这样当计算机要求输入 PIN 时,我可以输入 0000,它会配对设备。但是,我还没有找到设置固定 PIN 码的方法。

我在网上搜索过,但只能找到蓝牙 2.1+ 或使用 Bluez4 的解决方案(我使用的是 Bluez 5.23-2+rpi2)。

我试过下载 simple-agent 编辑 RequestPinCode 到 return “0000” 因为我在某处读到它可以工作,但后来我运行 代码为:

python agent.py

我得到一个错误:

Illegal instruction

我也试过:

sudo python agent.py

在这种情况下,我没有得到错误,我没有得到任何输出,程序只是存在。

我不确定 simple-agent 是如何工作的,但我很确定它应该等待无限循环。

我不知道我做错了什么。我只想为 Raspberry PI 设置一个固定的 PIN (0000),这样每次有新设备想要通过蓝牙连接到 Raspberry PI 时我都可以引入该 PIN。我真的不在乎它是如何完成的,只要它有效。

更新 #1: 我已经尝试了 this question 中的答案,所以我想我执行脚本的方式不对,所以我尝试了这个:

./simple-agent -c NoInputNoOutput

就像答案说的那样,但它给出了一个错误:

-bash: ./simple-agent: Permission denied

我试过:

sudo ./simple-agent -c NoInputNoOutput

但它接着说:

sudo: ./simple-agent: command not found

更新 #2: 在对简单代理文件授予执行权限后,我现在收到此错误:

-bash: ./simple-agent: /usr/bin/python^M: bad interpreter: No such file or directory
实际上,^M 字符只是一个 Windows 字符,我 运行 dos2unix 现在文件应该没有奇怪的字符,我再次测试它,它给了我和以前一样的错误(非法指令)即使在授予它执行权限之后。

我决定在 Whosebug 上单独询问 Illegal instruction 问题:

所以我解决了这个错误,它是由为不同架构编译的安装包引起的,所以我用 apt-get 重新安装了所有东西,现在脚本可以工作了。

接下来要做的是确保我可以将设备与 PIN 0000 配对,这是我提出这个问题的主要原因。所以我 运行 脚本然后我尝试将它与我的计算机配对,它要求输入 PIN,我输入 0000 并且成功了!