我只是想在https://code.google.com/p/pybluez/source/browse/trunk/examples/simple/rfcomm-server.py
运行RFCOMM服务器示例$ python2 rfcomm-server.py
Traceback (most recent call last):
File "rfcomm-server.py", line 20, in <module>
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')
我收到此错误。我的代码正在使用Windows,但我无法使用Ubuntu 15.10。
答案 0 :(得分:6)
我在Raspbian上遇到了同样的问题,并解决了:
在兼容模式下运行蓝牙,
修改/etc/systemd/system/dbus-org.bluez.service
,
更改
ExecStart=/usr/lib/bluetooth/bluetoothd
进入
ExecStart=/usr/lib/bluetooth/bluetoothd -C
然后添加串口配置文件,执行:
sudo sdptool add SP
参考文献:
答案 1 :(得分:0)
即使在@GozzoMan解决方案之后,我仍然遇到相同的问题,因为调用/var/run/sdp
之后根本没有生成sudo sdptool add SP
文件。问题是后台驻留程序服务文件的位置在我的系统上(Raspberry Pi上的Raspbian Buster)不同。
如果您遇到相同的情况;
sudo service bluetooth status
# alternative:
# sudo systemctl status bluetooth
在我的情况下,服务文件在/lib/systemd/system/bluetooth.service
上运行,而不是从/etc/systemd/system/dbus-org.bluez.service
运行。
然后修改正确的文件(
/lib/systemd/system/bluetooth.service
(在我的情况下)将-C
添加到
ExecStart=/usr/lib/bluetooth/bluetoothd
行中的指示
先前的答案。
在运行sdptool之前,请不要忘记重新加载守护程序并重新启动蓝牙服务:
sudo systemctl daemon-reload
sudo systemctl restart bluetooth
sudo sdptool add SP
现在应生成/var/run/sdp
。
注意:如果遇到权限错误,请检查以下答案:https://stackoverflow.com/a/42306883/4406572