我正在尝试通过蓝牙将我的 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 来使用输入?