我正在尝试在 python 中进行蓝牙编程。直到昨天它工作正常。今天早上,突然停电了,蓝牙模块由于某种原因被禁用,无法打开。所以,我做了一个sudo hciconfig hci0 reset
然后打开它。从那时起,最简单的程序都无法执行。以这个为例。它卡advertise_service
在bluetooth
模块中并引发以下错误(仅供参考:virtualenv 在这里不是问题。系统范围的 python 也做同样的事情)。
Traceback (most recent call last):
File "bt.py", line 17, in <module>
advertise_service( server_sock, "SampleServer", service_id = uuid, service_classes = [ uuid, SERIAL_PORT_CLASS ], profiles = [ SERIAL_PORT_PROFILE ])
File "/home/machinename/.virtualenvs/py27/local/lib/python2.7/site-packages/bluetooth/bluez.py", line 242, in advertise_service
raise BluetoothError (str (e))
bluetooth.btcommon.BluetoothError: (2, 'No such file or directory')
有时我在编译并重新安装Bluez
驱动程序时遇到不同的错误:
Traceback (most recent call last):
File "build/bdist.linux-x86_64/egg/bluetooth/bluez.py", line 268, in advertise_service
bluetooth.btcommon.BluetoothError: error no advertisable device.
但是所有这些在以前在那台机器上都像魅力一样起作用。事实上,当我写这篇文章时,所有程序都可以在我的其他 ubuntu (14.04LTS) 机器上正常工作。我检查了源代码,并追踪到一个_bluetooth.so
文件——这是一个编译代码,因此我不知道该做什么了。
任何指针将不胜感激。