私はPythonでLinux上でBluetoothアプリケーションを開発するためにpybluezを使用しています。私はブルートゥースのための "localhost"に接続することが可能かどうかを知りたいので、クライアントとサーバを同じマシンで実行できます(ほとんどの人がWeb開発のために行います)。ローカルBluetoothに接続
これが不可能な場合は、ほとんどの人がどのようにBluetoothアプリケーションを開発するのですか?彼らはクライアントとサーバーを異なるデバイス上で実行するだけですか、これを処理するより巧妙な方法がありますか?
最終的にサーバーはラズベリーパイで実行され、クライアントはBluetooth対応のデバイス(携帯電話、ラップトップなど)になりますが、開発中は同じマシンで両方を実行できると大丈夫です。
は、ここに私のサーバーです:
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")
を呼び出すときには、すべてのサービスを見つけることができません。