我正在编写一个Python脚本来搜索蓝牙设备,并使用RFCOMM连接它们。此设备具有密钥/密码。我正在使用PyBlueZ,据我所知,这个库不能处理密钥/密码连接(Python PyBluez connecting to passkey protected device)。
我能够发现设备并检索它们的名称和地址:
nearby_devices = bluetooth.discover_devices(duration=4,lookup_names=True,
flush_cache=True, lookup_class=False)
但如果尝试使用以下方式连接到特定设备:
s = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
s.connect((addr,port))
我得到一个错误'Device or resource busy (16)'
。
我使用hcitool和bluetooth代理尝试了一些bash命令,但我需要以编程方式进行连接。我可以使用这里描述的步骤连接到我的设备:How to pair a bluetooth device from command line on Linux。
我想问一下是否有人使用Python使用密钥/密码连接到蓝牙设备。我正在考虑使用subprocess.call()
在Python中使用bash命令,但我不确定这是否是一个好主意。
谢谢你的帮助。
最后,我可以使用PyBlueZ连接到设备。我希望这个答案将来能对其他人有所帮助。我尝试了以下方法:
首先,导入模块并发现设备。
当您发现要连接的设备时,您需要知道端口、地址和密钥。利用这些信息做下一步:
现在,你接通了!!您可以使用您的插座执行您需要的任务:
PyBlueZ官方文档可用here
相关问题 更多 >
编程相关推荐