我正在用Python编写HID蓝牙设备的代码;目前它可以通过运行以下命令连接到PC:
os.system("hciconfig hcio class 0x002560")
os.system("hciconfig hcio name DataPaqWalk")
然后我们可以使用pybluez连接套接字并等待连接:
^{pr2}$这是可行的,我们使用hcitool con进行线程轮询,以检测Windows PC(适配器)断开的连接,在那里我们转储套接字并再次侦听。hci的设置没有安全性,所以连接到它的PC机会自动配对-这一切都可以。在
但是,当设备关机时,问题就会出现;电脑会正确地检测到设备不在了,并且它仍然处于配对状态。我要做的是让设备自动连接到它配对的PC。很明显,我有电脑的Mac地址,我正在尝试使用以下方式连接: (P_CTRL为17,P_INTR为19)
self.ccontrol,cinfo = self.scontrol.connect(('C8:FF:28:79:05:D4', self.P_CTRL))
self.controlClientMac = cinfo[0]
self.controlClientPsm = cinfo[1]
print ('control is ' + self.controlClientMac + " " + str(self.controlClientPsm))
self.cinterrupt,cinfo = self.scontrol.connect(('C8:FF:28:79:05:D4', self.P_INTR))
self.interruptClientMac = cinfo[0]
self.interruptClientPsm = cinfo[1]
print ('interrupt is ' + self.interruptClientMac + " " + str(self.interruptClientPsm))
这基本上是想联系起来,然后给我回复:
Traceback (most recent call last):
File "server/btk_server.py", line 267, in <module>
myservice = BTKbService();
File "server/btk_server.py", line 226, in __init__
self.device.listen();
File "server/btk_server.py", line 174, in listen
self.ccontrol,cinfo = self.scontrol.connect(('C8:FF:28:79:05:D4', self.P_CTRL))
File "<string>", line 5, in connect
bluetooth.btcommon.BluetoothError: (111, 'Connection refused')
在bluetooth窗口对话框中,您可以看到它快速切换到connected(已连接),但直接返回paired(配对)。问题是:如何让设备连接到配对的windows适配器?请注意,我在bluetoothctl中也得到了类似的响应。在
你不能在启动时在rpi上运行一个脚本来自动开始寻找蓝牙插座吗?https://www.dexterindustries.com/howto/run-a-program-on-your-raspberry-pi-at-startup/
相关问题 更多 >
编程相关推荐