最后,我可以使用PyBlueZ连接到设备。我希望这个答案将来能对其他人有所帮助。我尝试了以下方法:
首先,导入模块并发现设备。import bluetooth, subprocess
nearby_devices = bluetooth.discover_devices(duration=4,lookup_names=True,
flush_cache=True, lookup_class=False)
当您发现要连接的设备时,您需要知道端口、地址和密钥。利用这些信息做下一步:name = name # Device name
addr = addr # Device Address
port = 1 # RFCOMM port
passkey = "1111" # passkey of the device you want to connect
# kill any "bluetooth-agent" process that is already running
subprocess.call("kill -9 `pidof bluetooth-agent`",shell=True)
# Start a new "bluetooth-agent" process where XXXX is the passkey
status = subprocess.call("bluetooth-agent " + passkey + " &",shell=True)
# Now, connect in the same way as always with PyBlueZ
try:
s = bluetooth.BluetoothSocket(bluetooth.RFCOMM)
s.connect((addr,port))
except bluetooth.btcommon.BluetoothError as err:
# Error handler
pass
现在,你接通了!!您可以使用您的插座执行您需要的任务:s.recv(1024) # Buffer size
s.send("Hello World!")
PyBlueZ官方文档可用here