Python 连接到本地蓝牙

Python 连接到本地蓝牙,python,bluetooth,pybluez,Python,Bluetooth,Pybluez,我正在使用pybluez在linux上用python开发一个蓝牙应用程序。我想知道是否可以连接到蓝牙的“本地主机”,这样我就可以在同一台机器上运行客户端和服务器(就像大多数人在web开发中所做的那样) 如果这是不可能的,大多数人如何开发蓝牙应用程序?他们只是在不同的设备上运行客户机和服务器,还是有更聪明的方法来处理这个问题 最终,服务器将在raspberry pi上运行,客户端将是任何支持蓝牙的设备(手机、笔记本电脑等),但在开发过程中,如果我可以在同一台机器上同时运行这两个设备,那就太好了 这

我正在使用pybluez在linux上用python开发一个蓝牙应用程序。我想知道是否可以连接到蓝牙的“本地主机”,这样我就可以在同一台机器上运行客户端和服务器(就像大多数人在web开发中所做的那样)

如果这是不可能的,大多数人如何开发蓝牙应用程序?他们只是在不同的设备上运行客户机和服务器,还是有更聪明的方法来处理这个问题

最终,服务器将在raspberry pi上运行,客户端将是任何支持蓝牙的设备(手机、笔记本电脑等),但在开发过程中,如果我可以在同一台机器上同时运行这两个设备,那就太好了

这是我的服务器:

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”)
时,它找不到任何服务。

通过进一步的研究,我发现不可能在具有相同蓝牙适配器的同一设备上运行蓝牙客户端和服务器。对于本地测试,您可以使用两台支持蓝牙功能的计算机,也可以使用蓝牙加密狗。

无法在同一设备上运行蓝牙客户端和服务器。 我使用了pybluezpython模块。 当我在我的机器上的客户端代码中运行bluetooth.discover_devices(lookup_names=True)时,它会返回除我的机器之外的所有其他蓝牙设备

由于我们无法发现机器,我们无法通过蓝牙连接到它,也无法将其用作蓝牙服务器