Raspberry Pi 上的蓝牙串行端口 & 在对 运行 python 文件使用 IDE 和终止符时发生了一些奇怪的事情
Bluetooth Serial Port on Raspberry Pi & something weird happened when using IDE and terminator to run python files
我正在做一个使用蓝牙串口的项目。是关于手机和Rpi之间的消息通信。
我在终结者上输入了'sudo rfcomm watch hci0'。
Python上的代码很简单:只分配端口地址('/dev/rfcomm0')和readline()。
起初,一切正常,直到我断开连接并重新连接。它说,“无法创建 Rfcomm TTY:地址已在使用”。我猜是因为我没有关闭串口,所以加了'ser.close()'。然后它起作用了。我在 Thonny 上 运行(Rpi 上 Python 的 IDE)。
但是,当我尝试 运行在终结者上使用 Python 脚本时,奇怪的事情发生了。最初,一切正常,但当我断开蓝牙连接时,它卡住了,如果我尝试重新连接,它再次告诉我“无法创建 Rfcomm TTY:地址已在使用中”。
那么,运行在 IDE 和终结者上使用脚本有什么区别?这真的让我很困惑,因为我打算在重新启动后自动制作脚本 运行ning。
此外,有人能告诉我如何以更好的方式解决错误“无法创建 Rfcomm TTY:地址已在使用”吗?
谢谢!
我想补充更多说明。
当我使用 IDE 到 运行 脚本时:
enter image description here
当我断开连接并重新连接时它运行良好。
但是当我使用 Terminator 来 运行 脚本时(“sudo Python3 xxxxxx.py”):
enter image description here
我尝试重新连接时失败了。而且断线重连时终结器卡住然后运行异常
hciattach
、hciconfig
、hcitool
、hcidump
、rfcomm
、sdptool
、ciptool
和 gatttool
是 2017 年的 deprecated by the BlueZ 项目。如果您正在学习使用它们的教程,它可能已过时。
Bluedot
库支持创建服务器来通信 RFCOMM 串行数据。更多详细信息,请访问:
https://bluedot.readthedocs.io/en/latest/btcommapi.html#bluetoothserver
我正在做一个使用蓝牙串口的项目。是关于手机和Rpi之间的消息通信。
我在终结者上输入了'sudo rfcomm watch hci0'。
Python上的代码很简单:只分配端口地址('/dev/rfcomm0')和readline()。
起初,一切正常,直到我断开连接并重新连接。它说,“无法创建 Rfcomm TTY:地址已在使用”。我猜是因为我没有关闭串口,所以加了'ser.close()'。然后它起作用了。我在 Thonny 上 运行(Rpi 上 Python 的 IDE)。
但是,当我尝试 运行在终结者上使用 Python 脚本时,奇怪的事情发生了。最初,一切正常,但当我断开蓝牙连接时,它卡住了,如果我尝试重新连接,它再次告诉我“无法创建 Rfcomm TTY:地址已在使用中”。
那么,运行在 IDE 和终结者上使用脚本有什么区别?这真的让我很困惑,因为我打算在重新启动后自动制作脚本 运行ning。
此外,有人能告诉我如何以更好的方式解决错误“无法创建 Rfcomm TTY:地址已在使用”吗?
谢谢!
我想补充更多说明。
当我使用 IDE 到 运行 脚本时: enter image description here
当我断开连接并重新连接时它运行良好。
但是当我使用 Terminator 来 运行 脚本时(“sudo Python3 xxxxxx.py”): enter image description here
我尝试重新连接时失败了。而且断线重连时终结器卡住然后运行异常
hciattach
、hciconfig
、hcitool
、hcidump
、rfcomm
、sdptool
、ciptool
和 gatttool
是 2017 年的 deprecated by the BlueZ 项目。如果您正在学习使用它们的教程,它可能已过时。
Bluedot
库支持创建服务器来通信 RFCOMM 串行数据。更多详细信息,请访问:
https://bluedot.readthedocs.io/en/latest/btcommapi.html#bluetoothserver