Valentin
Valentin

Reputation: 398

Slow reading speed of GATT characteristics BLE

I'm working on a project to transfer data between a Bluetooth device (TI CC2650) and android. To do this, it is necessary to perform a reading of the GATT characteristic at a speed of at least 24 kbps. The Bluetooth Low Energy specification allows this transfer rate. I work in Android Studio and use standard libraries for BLE offered by the studio. When requesting a read from a master device, the characteristics of a slave device using the mBluetoothLeService.readCustomCharacteristic () or mBluetoothLeService.readCharacteristic () command is at least 100 ms until the data is available. By increasing the size of the GATT characteristics, the time can reach 1500 ms. What is the reason for this limitation and how can it be circumvented?

Upvotes: 1

Views: 1782

Answers (1)

Emil
Emil

Reputation: 18452

The read operation requires one roundtrip per chunk. And the round trip time is at least one multiple of the connection interval.

If you use notifications instead, you can pump such messages very fast since multiple packets can be sent every connection event. Also try increase mtu and use LE data length extention when possible.

Upvotes: 1

Related Questions