カスタムメイドのハードウェアからデータを送受信するAndroid Bluetoothプロジェクトに取り組んでいます。SDK のBluetooth チャット サンプルを基礎として使用しました。
クライアント(Androidフォン)でボーレートを変更する方法はなく、ボーレートはハードウェアに依存することに気付きました。ハードウェアでさまざまなボーレートを設定しようとしましたが、どれも期待どおりではありませんでした。
私が得ることができる最速は91Kbpsです(ボーレートが2.7Mbps〜910Kbpsに設定されている場合)。最小ボーレート (115Kbps) を使用すると、43Kbps になります。別の電話を使用してみましたが、同じです。毎秒 170KB のデータをハードウェアに転送する必要があります。
仕様
プロトコル: 同期または生成されたデータは、最大 520 バイト サイズのパッケージを使用してハードウェアに送信されます。各パッケージが受信および承認されると、ハードウェアは検証コマンドを送信し、電話機は次のデータ パッケージを送信します。
クライアント: Android 2.3.3、Samsung galaxy w i8150、Bluetooth v3.0、RFCOMM
ハードウェア: カスタム、Bluetooth v2.1 BlueGiga WT11i
私は完全に混乱しています..おそらく、電話のAndroidまたはBluetoothデバイスによって引き起こされた問題でしょうか? 最大ボーレートはいくつですか?送信を高速化する方法はありますか (最大パッケージ サイズを増やす、ハードウェア検証コマンドを待たずにすべてのパッケージを送信するなど)。
編集
パッケージ サイズを 4160 バイトに変更した後、スループットは 254Kbps に増加しました。1.5Mbps に到達するための最適なパッケージ サイズを見つけようとしています。提案をいただければ幸いです