Bluedroid API : How to improve Data Transfer Rate ?

ThomasESP32
Posts: 229
Joined: Thu Jul 14, 2022 5:15 am

Bluedroid API : How to improve Data Transfer Rate ?

Postby ThomasESP32 » Thu Mar 09, 2023 7:46 am

Good morning,

I am working on a program where I would like to read a file which is on the embedded flash of a ESP32-WROOM1 (BLE Client)
module and to send it via BLE to a server module.

The algorithm seems to be ok and optimised, the MTU negociated is 255 and the connection parameters negociated are :
min int = 6
max int = 14
Conn int = 14
Latency = 0
Timeout = 3200.

I am reader the file chunck by chunck using approximatively MTU bytes each time, and I send it using the write_characteristic
command.
The program is waiting the WRITE_CHARAC_..._EVT in order to read and send the following chunck.

The Server is automatically acknowledging the write_characteristic (I do not remember how to choose between auto acknowledge and manual acknowledge ?).

Using these connexion parameters and the MTU I thought the transfer rate would be better than that.
Unfortunately, my file is 62146 bytes and it takes 11,47s to send it. So the transfer rate is 5418 bytes/sec...

It seems to be very low...
I would like to improve it but I don't know how to do this...
I do not understand why the transfer rate is so low !!


Could you please help me ???

Best regards,

Thomas TRUILHE

Who is online

Users browsing this forum: Baidu [Spider], mejhaMA and 108 guests