2

我正在尝试通过蓝牙将我的 Raspberry Pi 3 连接到三部安卓手机。我想在 python 代码中使用手机的输入,但在开始编码之前,我必须确保我可以将所有三部手机连接到 Raspberry Pi 3。

我做的以下事情是:

sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get dist-upgrade -y
sudo rpi-update

sudo apt-get install python3
sudo apt-get install python-bluetooth

sudo nano /etc/systemd/system/dbus-org.bluez.service

更改了接下来的两行:

ExecStart=/usr/lib/bluetooth/bluetoothd -C
ExecStartPost=/usr/bin/sdptool add SP

我在智能手机上使用蓝牙串行控制器应用程序。接下来我连接通过sudo rfcomm listen hci0它工作正常。

我检查了与它的连接,minicom -D /dev/rfcomm0它也有效。我可以使用应用程序发送突击队员,它会显示在我的 Raspberry Pi 的终端上。

接下来,当该连接处于活动状态时,我尝试连接第二部手机,sudo rfcomm listen hci2它在手机上连接了一会儿,但在屏幕上它很快给了我消息

无法创建 rfcomm TTY:地址已在使用中

所以我认为这是因为我正在使用频道 1。所以我尝试sudo rfcomm listen hci2 2显示它正在频道 2 上等待。但这也不起作用。

我检查了我是否可以连接到第一个频道上的第二部手机(当它免费时)并且它可以工作。

所以我的问题是:如何使用 rfcomm 连接到多个安卓智能手机?还是有另一种更好的方法知道我想使用 Python 来使用输入?

4

1 回答 1

2

我遇到了同样的问题,这就是我解决它的方法:sudo rfcomm listen /dev/rfcommX 1X 从 0 开始,并为您要连接的每个设备递增 1。

于 2021-11-27T14:45:32.010 回答