• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Вопрос Как часто esp8266 может отправлять/принимать данные?

Sapsan

New member
1-й вариант:
esp8266 подключается к хосту. Хост отправляет данные (1байт) каждые 500мс. esp8266 сам закрывает соединение где-то через 20сек. Если хост отправляет данные каждые 1000мс, то esp8266 закрывает соединение уже где-то через 10 сек. Если каждые 2000мс, esp8266 не закрывает соединение (данные передаются бесконечно).
2-й вариант:
esp8266 хостит, клиент подключается и передает данные. Все тоже самое, только сейчас esp8266 не закрывает соединение, а перезагружается. У меня 21 прошивка, говорят в 23 - исправили баг с перезапуском.
Собственно вопросы:
1. Из-за чего esp8266 закрывает соединение, при частом отправлении данных?
2. Какой интервал для передачи\приема, чтобы он не закрывал соединение?
3. Можно ли сделать чтобы он не закрывал соединение?

Мне нужно передавать данные хотя бы каждые 100мс. Если esp8266 не может справится даже при 100мс, зачем он вообще нужен? Ждать каждый запрос 2 сек просто нелепо, а если соединение закроется еще +время на переподключение. Я например управляю скоростью вращения двигателей квадракоптера, при запросе 2 сек он с места не сдвинется же)) Даже при 100мс, шим получится с частатой 10Гц, а это очень мало. Нужны микросекунды, а то и нано. Нормальный wifi должен справиться с такой задачей, если нет, то это просто мусор.
 

Sapsan

New member
Прошил этой прошивкой. Сейчас сам пере подключается (с сохранением настройки), это хорошо (раньше тупо перезагружал модуль). Но все равно проблема остается. После 4 попытки подключиться (id тот же, подключаемся, отключаемся) к серверу (созданной на модуле) он пишет:
WIFI DISCONNECT
WIFI CONNECT
WIFI GOT IP
На все при все уходит 4-5 сек, что не есть хорошо. Т. е. я например, хочу включить лампочку чз комп. После вкл-выкл-вкл нужно ждать 4-5 сек, пока модуль пере подключиться к wifi. Кто-нибудь сталкивался с такой проблемой? Из-за чего такое происходит?
 

Sapsan

New member
ну МОРЕ же информации. Добавляете ESP8266 в Arduino IDE и прошиваете
Да прочитал про Arduino esp8266. Написал свой скетч и прошил. Ситуация та же:
На esp создается сервер, когда к нему 4-ый раз подключается клиент, он отключается от wifi (wifi.status()=6). В скетче я отсчитывал время, которое требуется на пере подключения к wifi. Время всегда разное (от 1500 до 2700 мс), в моих проверках была. Это нормально, что его дисконнектит на 4-том клиенте? Клиент на сервере, всегда равен одному (т. е. соединился->закрылся, соединился->закрылся... и так 4 раза).
 

Sapsan

New member
нет - ищите утечку памяти
Я тоже подумал, что оперативка переполняется, и программа по новой начинает работать. А где искать утечку? В arduino я самый примитивный код по примеру использовал, без указателей, ничего динамически не выделяется. Да и с родной прошивкой, та же проблема (я писал выше), на 4-том дисконнект. А может быть, что у меня брак (физической оперативы меньше, чем в программе прошивке)? Ну в смысле программа думает, что оперативы больше чем, он есть на самом деле...
 
Последнее редактирование:
Сверху Снизу