4

私は pybluez を使用して、Python で Linux で Bluetooth アプリケーションを開発しています。ブルートゥースの「localhost」に接続できるかどうかを知りたいので、クライアントとサーバーを同じマシンで実行できます(ほとんどの人がWeb開発で行うように)。

これが不可能な場合、ほとんどの人は 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")と、サービスが見つかりません。

4

2 に答える 2

3

さらに調査した結果、同じ Bluetooth アダプターを使用して同じデバイス上で Bluetooth クライアントとサーバーを実行することはできないことがわかりました。ローカル テストでは、2 台の Bluetooth 対応コンピュータを使用するか、Bluetooth ドングルを入手できます。

于 2016-08-11T01:42:27.217 に答える