8

最近、BLE (Bluetooth Low Energy) 接続クラスをいじくり回していて、最近少し静かになり、1KB / 5 秒よりも速くデータを転送することができませんでした。ドキュメントでは、最大速度は 20 ミリ秒あたり 60 バイトであると書かれていると思います。データ転送とパケットの各セットの後の Ack 転送のカウントにより、1 秒あたり 1.5KB の速度で移動できるはずです。したがって、私のコードは本来よりも約 7 ~ 8 倍遅くなります。

ドキュメントに記載されているのと同じくらい速く、BLEでデータ転送を行うことができた人がいるかどうか疑問に思っています。私よりも速い場合、どのような速度が得られますか?

どうもありがとう

4

2 に答える 2

3

Apple のガイドラインを参照すると、接続を高速化するために接続更新要求が必要であることがわかります。

https://developer.apple.com/hardwaredrivers/BluetoothDesignGuidelines.pdf

私は最小= 20ミリ秒最大40ミリ秒を持っています

お役に立てれば幸いです

ローマン

于 2012-04-23T08:06:20.057 に答える
2

より大きな MTU サイズ (iOS によってネゴシエートされる) を使用できる場合は、帯域幅をさらに増やすことができます。これは、4 バイトの L2CAP ヘッダーと 3 バイトの ATT ヘッダーがあるためです。 1 パケット。

接続間隔ごとに 6 パケットを送信できる場合、接続間隔ごとに 35 バイト余分に入れることができます (最初のパケットには 7 バイトのヘッダーがまだ残っています)。MTU サイズは複数の接続に分割することもできます。接続間隔ごとにさらに 7 バイトを使用してスループットを向上させます。(パケットを再度組み立てるのにより長い時間がかかります。) ATT で許可される最大 MTU サイズは 515 バイトです (att の最大サイズは 512 バイト + オペコード用の 3 バイト ヘッダー + ハンドルです)。

于 2012-11-16T00:03:52.527 に答える