Было много дискуссий о скорости загрузки данных из приложения iPhone на устройство ESP32 BLE. Большинство этих дискуссий устарели и не имеют решения. Некоторые упоминают решения, но они предназначены только для Android.
Моя проблема в том, что когда я загружаю файл размером 1 МБ через BLE в ESP32 с использованием стека NimBLE, я достигаю только скорости около 1560 байт в секунду.
Я настроил размер MTU ESP32 на 500. Я экспериментировал с различными размерами полезной нагрузки, поскольку читал, что это может повлиять скорость передачи. Однако, независимо от протестированного размера полезной нагрузки, обычно около 495 байт или меньше, я постоянно достигал скорости примерно 1500 байт в секунду.
Настройка параметров соединения на моем ESP32, похоже, не имеет никакого значения. влияние на скорость передачи. Я пробовал разные настройки несколько раз, но не заметил ни положительного, ни отрицательного влияния на скорость передачи.
Я очень озадачен, поскольку изменение этих настроек, похоже, не влияет на скорость передачи.
Я также изучил приложение для iPhone, чтобы найти решение. В настоящее время приложение отправляет пакет после получения ответа на запись. Хотя я считаю, что это желательное поведение (хотя я понимаю, что пропуск ответа может быть быстрее).
Кроме того, я столкнулся с информация о настройке приоритета соединения на Android, которая, как сообщается, оказывает существенное положительное влияние на скорость передачи данных. Однако, похоже, этой настройки нет на iPhone.
Было много дискуссий о скорости загрузки данных из приложения iPhone на устройство ESP32 BLE. Большинство этих дискуссий устарели и не имеют решения. Некоторые упоминают решения, но они предназначены только для Android. Моя проблема в том, что когда я загружаю файл размером 1 МБ через BLE в ESP32 с использованием стека NimBLE, я достигаю только скорости около 1560 байт в секунду. [list] [*]Я настроил размер MTU ESP32 на 500. Я экспериментировал с различными размерами полезной нагрузки, поскольку читал, что это может повлиять скорость передачи. Однако, независимо от протестированного размера полезной нагрузки, обычно около 495 байт или меньше, я постоянно достигал скорости примерно 1500 байт в секунду. [*]Настройка параметров соединения на моем ESP32, похоже, не имеет никакого значения. влияние на скорость передачи. Я пробовал разные настройки несколько раз, но не заметил ни положительного, ни отрицательного влияния на скорость передачи. [/list] [code]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; [/code] Я очень озадачен, поскольку изменение этих настроек, похоже, не влияет на скорость передачи. [list] [*]Я также изучил приложение для iPhone, чтобы найти решение. В настоящее время приложение отправляет пакет после получения ответа на запись. Хотя я считаю, что это желательное поведение (хотя я понимаю, что пропуск ответа может быть быстрее).
[*]Кроме того, я столкнулся с информация о настройке приоритета соединения на Android, которая, как сообщается, оказывает существенное положительное влияние на скорость передачи данных. Однако, похоже, этой настройки нет на iPhone.