Nano 上的 Pybluez:无法生成 SDP
Pybluez on Nano: SDP can’t be generated
我的 Nano 遇到了这样的问题:
profiles = [ SERIAL_PORT_PROFILE ],
File "/usr/lib/python2.7/site-packages/bluetooth/bluez.py", line 176, in advertise_service
raise BluetoothError (str (e))
bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
我尝试在 bluetooth.service 文件中添加兼容模式,重新加载守护进程,重新启动蓝牙,然后通过
添加串口
sudo sdptool add SP
这些步骤在我的 ubuntu 20.04 笔记本电脑上运行良好,但在 Jetpack 4.5.1 上却不行。我也检查了,他们也不能在 jetson NX 上工作。
我真的很好奇如何解决这个问题,否则,欢迎使用另一种在 python 代码中使用蓝牙的方法。
谢谢
您可能想看看下面的文章,它展示了如何与核心 Python 套接字库进行连接
https://blog.kevindoran.co/bluetooth-programming-with-python-3/.
BlueZ 现在使用的方法是 Profile API。
在 https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/test-profile
有一个 Python 使用配置文件 API 的示例
hciattach
、hciconfig
、hcitool
、hcidump
、rfcomm
、sdptool
、ciptool
和 gatttool
是 2017 年的 deprecated by the BlueZ 项目。如果您正在学习使用它们的教程,它可能已经过时并且 Linux 系统将选择不支持它们。
解决方案在蓝牙配置文件的路径中(灵感来自此https://developer.nvidia.com/embedded/learn/tutorials/connecting-bluetooth-audio)
这个答案:bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
对于 jetson 设备 (jetpack) 是不够的。虽然我没有测试它是否可以在不更改此 link.
中提到的文件的情况下工作
还有一个 .conf
文件也需要更改:/lib/systemd/system/bluetooth.service.d/nv-bluetooth-service.conf
修改:
ExecStart=/usr/lib/bluetooth/bluetoothd -d --noplugin=audio,a2dp,avrcp
至:
ExecStart=/usr/lib/bluetooth/bluetoothd -C
之后需要做的是:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
使用 jetpach 4.5.1 在 jetson Nano 和 NX 上测试
感谢您的帮助!
我的 Nano 遇到了这样的问题:
profiles = [ SERIAL_PORT_PROFILE ],
File "/usr/lib/python2.7/site-packages/bluetooth/bluez.py", line 176, in advertise_service
raise BluetoothError (str (e))
bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
我尝试在 bluetooth.service 文件中添加兼容模式,重新加载守护进程,重新启动蓝牙,然后通过
添加串口sudo sdptool add SP
这些步骤在我的 ubuntu 20.04 笔记本电脑上运行良好,但在 Jetpack 4.5.1 上却不行。我也检查了,他们也不能在 jetson NX 上工作。
我真的很好奇如何解决这个问题,否则,欢迎使用另一种在 python 代码中使用蓝牙的方法。
谢谢
您可能想看看下面的文章,它展示了如何与核心 Python 套接字库进行连接 https://blog.kevindoran.co/bluetooth-programming-with-python-3/.
BlueZ 现在使用的方法是 Profile API。
在 https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/test/test-profile
有一个 Python 使用配置文件 API 的示例hciattach
、hciconfig
、hcitool
、hcidump
、rfcomm
、sdptool
、ciptool
和 gatttool
是 2017 年的 deprecated by the BlueZ 项目。如果您正在学习使用它们的教程,它可能已经过时并且 Linux 系统将选择不支持它们。
解决方案在蓝牙配置文件的路径中(灵感来自此https://developer.nvidia.com/embedded/learn/tutorials/connecting-bluetooth-audio)
这个答案:bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
对于 jetson 设备 (jetpack) 是不够的。虽然我没有测试它是否可以在不更改此 link.
中提到的文件的情况下工作还有一个 .conf
文件也需要更改:/lib/systemd/system/bluetooth.service.d/nv-bluetooth-service.conf
修改:
ExecStart=/usr/lib/bluetooth/bluetoothd -d --noplugin=audio,a2dp,avrcp
至:
ExecStart=/usr/lib/bluetooth/bluetoothd -C
之后需要做的是:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
使用 jetpach 4.5.1 在 jetson Nano 和 NX 上测试
感谢您的帮助!