Моя проблема в том, что когда я загружаю файл размером 1 МБ через BLE в ESP32 с использованием стека NimBLE, я достигаю только скорости около 1560 байт в секунду.
- Я настроил размер MTU ESP32 на 500. Я экспериментировал с различными размерами полезной нагрузки, поскольку читал, что это может повлиять скорость передачи. Однако, независимо от протестированного размера полезной нагрузки, обычно около 495 байт или меньше, я постоянно достигал скорости примерно 1500 байт в секунду.
- Настройка параметров соединения на моем ESP32, похоже, не имеет никакого значения. влияние на скорость передачи. Я пробовал разные настройки несколько раз, но не заметил ни положительного, ни отрицательного влияния на скорость передачи.
Код: Выделить всё
params.itvl_min = 105;
params.itvl_max = 135;
params.latency = 13;
params.supervision_timeout = 4000;
params.min_ce_len = 0;
params.max_ce_len = 0;
- Я также изучил приложение для iPhone, чтобы найти решение. В настоящее время приложение отправляет пакет после получения ответа на запись. Хотя я считаю, что это желательное поведение (хотя я понимаю, что пропуск ответа может быть быстрее).
- Кроме того, я столкнулся с информация о настройке приоритета соединения на Android, которая, как сообщается, оказывает существенное положительное влияние на скорость передачи данных. Однако, похоже, этой настройки нет на iPhone.
Подробнее здесь: https://stackoverflow.com/questions/784 ... rom-iphone