6

だから私は 2 つの Bluetooth 4.0 Android フォンに BT クライアントとサーバー アプリケーションを持っています。サーバーは次を介した接続を待機します

BluetoothServerSocket serverSocket = mBluetoothAdapter.listenUsingRfcommWithServiceRecord(SDP_NAME, UUID.fromString(SDP_UUID));

そしてクライアントは経由でそれに接続します

socket = device.createRfcommSocketToServiceRecord(UUID.fromString(SDP_UUID));

次に、AsyncTask を使用して、クライアントからサーバーに無限ループでデータを送信しています。

byte[] buffer = new byte[4096];
outputStream.write(buffer);

速度を計算したところ、約 230KByte/s しか得られませんでした。これは、Bluetooth EDR が提供する 2.1 MBit/s とまったく同じです。Bluetooth HS (24 MBit/s) 経由でデータを送信するにはどうすればよいですか?

4

2 に答える 2

3

BT 3.0+HSは、実際にWifiの物理層を利用することで高レートを実現する方式です。したがって、それをサポートする適切な種類の BT/Wifi コンボ チップがある場合にのみ機能しますが、これはあまり一般的ではありません。4.0 デバイスを使用しているからといって、3.0+HS を実行できるわけではなく、データ レートが低い BT Low Energy を実行できることを意味します。

于 2013-03-13T15:51:57.967 に答える
1

4.0 チップに組み込まれた機能を駆動するために必要な API を Google が公開していないことを理解しています。この機能はラップトップやさまざまな Windows OS で動作するため、おそらくモバイル Window OS は、ソフトウェア パッチを使用して動作する可能性があります。Google にとっての優先事項は、HS の前に低バッテリーで作業することだと思います。

また、無線通信事業者は高速テザリングを無料で許可することに熱心ではなかったと思います。これがソフトウェア開発の努力を台無しにしました。

于 2013-03-19T18:27:09.283 に答える