2016-08-10 2 views
2

Ich benutze PYBLUEZ, um eine Bluetooth-Anwendung auf Linux in Python zu entwickeln. Ich möchte wissen, ob es möglich ist, eine Verbindung zu einem "localhost" für Bluetooth herzustellen, damit ich den Client und den Server auf demselben Computer ausführen kann (wie die meisten Leute für die Webentwicklung tun).Verbinden mit lokalen Bluetooth

Wenn dies nicht möglich ist, wie die meisten Menschen Bluetooth-Anwendungen entwickeln? Führen sie den Client und den Server nur auf verschiedenen Geräten aus oder gibt es dafür einen clevereren Weg?

Schließlich wird der Server auf einem Raspberry Pi laufen und der Client wird jedes Bluetooth-fähige Gerät (Handy, Laptop, etc.) sein, aber während der Entwicklung wäre es toll, wenn ich beide auf dem gleichen Rechner laufen könnte.

Hier ist mein Server:

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() 

Und wenn ich services = bt.find_service(name=None, uuid=None, address="localhost") auf dem Client aufrufen kann es keine Leistungen.

Antwort

2

Durch weitere Untersuchungen habe ich festgestellt, dass es nicht möglich ist, einen Bluetooth-Client und -Server auf dem gleichen Gerät mit dem gleichen Bluetooth-Adapter zu betreiben. Für lokale Tests können Sie entweder zwei Bluetooth-fähige Computer verwenden oder einen Bluetooth-Dongle erhalten.

Verwandte Themen