Evgeniy932
New member
Добрый день.
Столкнулся с проблемами с передачей данных между ESP32-D0W и Android.
ESP32 в режиме точки доступа.
По TCP - потери пакетов, задержки при доставке пакетов до нескольких секунд, по WireShark - TCP Retransmits.
Пропускная способность - в 5-10 раз меньше, чем если подключиться к ESP32 с ноутбука.
Пробовал WebSockets, но видимо ошибки на низком уровне, даже WebSockets нестабильно работает.
Обмен данными между ESP32 и Android построен так:
Android (3 байта запрос, пока не получен ответ следующий запрос не будет отправлен) -> TCP / WEBSockets -> ESP32
ESP32 (1136 байт ответ) -> TCP/WebSockets -> Android
При этом на ноутбуке с windows пропускная способность достаточная: 20 мбит/с, пакеты не теряются
Вопрос: как можно решить эту проблему? Подходит даже вариант - выбрать другой WiFi SOC.
IDF v4.4
Привожу тесты IPERF:
Столкнулся с проблемами с передачей данных между ESP32-D0W и Android.
ESP32 в режиме точки доступа.
По TCP - потери пакетов, задержки при доставке пакетов до нескольких секунд, по WireShark - TCP Retransmits.
Пропускная способность - в 5-10 раз меньше, чем если подключиться к ESP32 с ноутбука.
Пробовал WebSockets, но видимо ошибки на низком уровне, даже WebSockets нестабильно работает.
Обмен данными между ESP32 и Android построен так:
Android (3 байта запрос, пока не получен ответ следующий запрос не будет отправлен) -> TCP / WEBSockets -> ESP32
ESP32 (1136 байт ответ) -> TCP/WebSockets -> Android
При этом на ноутбуке с windows пропускная способность достаточная: 20 мбит/с, пакеты не теряются
Вопрос: как можно решить эту проблему? Подходит даже вариант - выбрать другой WiFi SOC.
IDF v4.4
Привожу тесты IPERF:
Код:
============================
TEST1
Xiaomi Mi A2 Lite (Android) + ESP32
============================
ESP32
Interval Bandwidth
0- 3 sec 3.79 Mbits/sec
3- 6 sec 3.94 Mbits/sec
6- 9 sec 3.88 Mbits/sec
9- 12 sec 3.67 Mbits/sec
12- 15 sec 3.96 Mbits/sec
15- 18 sec 3.90 Mbits/sec
18- 21 sec 3.98 Mbits/sec
21- 24 sec 3.20 Mbits/sec
24- 27 sec 3.70 Mbits/sec
27- 30 sec 3.54 Mbits/sec
0- 30 sec 3.76 Mbits/sec
XIAOMI MI A 2 lite: Client connecting to 192.168.4.1, TCP port 5001
TCP window size: 512 KByte (default)
------------------------------------------------------------
[ 3] local 192.168.4.2 port 47965 connected with 192.168.4.1 port 5001
[ ID] Interval Transfer Bandwidth
[ 3] 0.0- 1.0 sec 640 KBytes 5.24 Mbits/sec
[ 3] 1.0- 2.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 2.0- 3.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 3.0- 4.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 4.0- 5.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 5.0- 6.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 6.0- 7.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 7.0- 8.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 8.0- 9.0 sec 640 KBytes 5.24 Mbits/
[ 3] 9.0-10.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 10.0-11.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 11.0-12.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 12.0-13.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 13.0-14.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 14.0-15.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 15.0-16.0 sec 256 KBytes 2.10 Mbits/sec
[ 3] 16.0-17.0 sec 640 KBytes 5.24 Mbits/sec
[ 3] 17.0-18.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 18.0-19.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 19.0-20.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 20.0-21.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 21.0-22.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 22.0-23.0 sec 640 KBytes 5.24 Mbits/sec
[ 3] 23.0-24.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 24.0-25.0 sec 384 KBytes 3.15 Mbits/sec
[ 3] 25.0-26.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 26.0-27.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 27.0-28.0 sec 512 KBytes 4.19 Mbits/sec
[ 3] 28.0-29.0 sec 384 KBytes 3.15 Mbits/sec
============================
TEST2
Thinkpad X1 Carbon (Windows 10) + ESP32
============================
ESP32
0- 3 sec 20.52 Mbits/sec
3- 6 sec 20.62 Mbits/sec
6- 9 sec 20.41 Mbits/sec
9- 12 sec 20.40 Mbits/sec
12- 15 sec 20.33 Mbits/sec
15- 18 sec 20.33 Mbits/sec
18- 21 sec 19.67 Mbits/sec
21- 24 sec 19.73 Mbits/sec
24- 27 sec 20.32 Mbits/sec
27- 30 sec 19.83 Mbits/sec
0- 30 sec 20.22 Mbits/sec
Thinkpad X1 Carbon:
[ ID] Interval Transfer Bandwidth
[320] 0.0- 3.0 sec 7.38 MBytes 20.6 Mbits/sec
[320] 3.0- 6.0 sec 7.38 MBytes 20.6 Mbits/sec
[320] 6.0- 9.0 sec 7.25 MBytes 20.3 Mbits/sec
[320] 9.0-12.0 sec 7.38 MBytes 20.6 Mbits/sec
[320] 12.0-15.0 sec 7.25 MBytes 20.3 Mbits/sec
[320] 15.0-18.0 sec 7.25 MBytes 20.3 Mbits/sec
[320] 18.0-21.0 sec 7.00 MBytes 19.6 Mbits/sec
[320] 21.0-24.0 sec 7.13 MBytes 19.9 Mbits/sec
[320] 24.0-27.0 sec 7.25 MBytes 20.3 Mbits/sec
[320] 27.0-30.0 sec 7.13 MBytes 19.9 Mbits/sec
write failed: Software caused connection abort
[320] 0.0-31.5 sec 72.4 MBytes 19.3 Mbits/sec