对于最近的一个项目,我尝试制作一个 python 程序来连接 HC06 模块。为此,我使用 pybluez。但这根本不起作用,所以我尝试使用 bluetoothctl 通过终端进行配对。
扫描时我发现该设备:
[新] 设备 98:D3:31:FD:9A:27 OKEY DOKEY MARIO
但连接时:
[蓝牙]# 连接 98:D3:31:FD:9A:27
尝试连接到 98:D3:31:FD:9A:27
连接失败:org.bluez.Error.Failed
[蓝牙]# 连接 OKEY DOKEY MARIO
设备 OKEY DOKEY MARIO 不可用
我该如何解决这个问题?
答案1
我上面所做的工作正常。我只需要一个外部 USB 蓝牙适配器。所以我电脑上的蓝牙模块是问题所在。现在我可以连接并发送消息。我用这个小程序来测试连接、发送然后打印发送和接收消息的时间。代码是用Python编写的。
import bluetooth
import socket
import time
import timeit
size = 1024
bd_addr = "98:D3:31:FD:9A:27"
port = 1
sock=bluetooth.BluetoothSocket( bluetooth.RFCOMM )
sock.connect((bd_addr, port))
time.sleep(5)
start = timeit.default_timer()
sock.send("hello!! \r\n")
while 1:
data = sock.recv(size)
if data:
end = timeit.default_timer()
print(data)
print(end-start)
sock.close()