我正在使用 pybluez 在 python 中的 linux 上开发蓝牙应用程序。我想知道是否可以连接到蓝牙的“本地主机”,这样我就可以在同一台机器上运行客户端和服务器(就像大多数人为 Web 开发所做的那样)。
如果这不可能,大多数人如何开发蓝牙应用程序?他们只是在不同的设备上运行客户端和服务器,还是有更聪明的方法来处理这个?
最终,服务器将在树莓派上运行,客户端将是任何支持蓝牙的设备(手机、笔记本电脑等),但在开发过程中,如果我可以在同一台机器上同时运行两者会很棒。
这是我的服务器:
import bluetooth as bt
socket = bt.BluetoothSocket(bt.RFCOMM)
host = ""
socket.bind((host, bt.PORT_ANY))
port = socket.getsockname()[1]
print("port: " + str(port))
socket.listen(1)
uuid = "94f39d29-7d6d-437d-973b-fba39e49d4ee"
# bt.advertise_service(socket, "BTServer", uuid)
print("Listening on " + host + ":" + str(port))
client_sock, addr = socket.accept()
print("Connection accepted from " + addr)
data = client_sock.recv(1024)
print(data)
client_sock.close()
socket.close()
当我打电话services = bt.find_service(name=None, uuid=None, address="localhost")
给客户时,它找不到任何服务。