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

Решено Как сделать reset esp8266-1

Статус
В этой теме нельзя размещать новые ответы.

Denisww

New member
Вы обозначили проблему time_wait

Этот параметр задаёт продолжительность времени, которое соединение будет оставаться в состоянии TIME_WAIT при закрытии. Пока соединение находится в состоянии TIME_WAIT, сокет не может быть использован снова. Это состояние известно так же как состояние 2MSL, и, согласно RFC, значение должно быть в два раза больше максимального времени жизни сегмента в сети.
Параметр выставляется, в моем случае на клиентском месте, а именно на windows машине?

Я попробую.

Но все равно не сходится: по моим ощущениям падает именно ардуино+Esp8266.
Даже если я наблюдаю стабильную работу клиенского приложения, то новое подключение (из другой вкладки chroma или запрос 192.168.0.1 через мобильное устройство ) на 90% рушит взаимодействие ардуино с esp8266 и в большинстве случаев навсегда. Помогает только ресет ардуино.
 

Denisww

New member
По моему я переигрался командой AT+CIOBAUD

Не могу вспомнить какую скорость установил. Не могу подобрать

Уже перебирал +100. Не могу найти

Может есть ресет ? Не шил.

есть - перепрошивка :-Р Перепрошейте ту же AT, если вы на ней сидите, и всего делов.
не получается перепрошить esp8266-1
Target com fail to connect!
test baudrate selection: 2
test baudrate intop: 345600
test offset : 0 0x0
case ok
(True, [[u'D:\\XTCOM_UTIL\\ESP_8266_v0.9.2.2 AT Firmware.bin', 0]])
rep_path : D:\XTCOM_UTIL\FLASH_DOWNLOAD_TOOLS_v1.0_150508\bin_tmp\downloadPanel1
size_speed : 0
test fpath: D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1
test fname: D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1\ESP_8266_v0.9.2.2 AT Firmware.bin_rep
mode : speed:
write bin : D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1\ESP_8266_v0.9.2.2 AT Firmware.bin_rep
test running : False
serial port opened
Connecting...
chip sync error.
com closed
test baudrate: 115200
test baudrate selection: 0
test baudrate intop: 115200
test offset : 0 0x0
case ok
(True, [[u'D:\\XTCOM_UTIL\\ESP_8266_v0.9.2.2 AT Firmware.bin', 0]])
rep_path : D:\XTCOM_UTIL\FLASH_DOWNLOAD_TOOLS_v1.0_150508\bin_tmp\downloadPanel1
size_speed : 0
test fpath: D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1
test fname: D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1\ESP_8266_v0.9.2.2 AT Firmware.bin_rep
mode : speed:
write bin : D:\XTCOM_UTIL\_temp_by_dltool/downloadPanel1\ESP_8266_v0.9.2.2 AT Firmware.bin_rep
test running : False
serial port opened
Connecting...
chip sync error.
com closed
 

Вложения

pvvx

Активный участник сообщества
Вы обозначили проблему time_wait
Сто раз обозначена.
Если сервер закрывает соединение первым, то на это соединение TCP ему надо держать структуру в памяти не менее 60 сек. Она необходима для ответа затерявшимся TCP пакетам и защиты логики идентификации TCP соединений по host и remote ip: port в сети.
В итоге на каждую такую TIME_WAIT в памяти модуля, на 60 сек, остается структура pcb у Lwip-а. Они набираются, если таких соединений было много и память модуля кончается.
Вы делаете игрушку на игрушечной системе arduino, по тому вам нельзя делать более пару соединений за 60 сек. :)
Espressif в своем SDK сделало опцию в esp_conn - убийства TIME_WAIT. Но это подходит только игрушкам, т.к. является нарушением спецификации TCP. - Думаю вам это подойдет.
Другим вариантом является отслеживание размера "heap" памяти перед открытием нового соединения. Плюс логика обработки закрытия TCP, не приводящая к TIME_WAIT, только в экстренных случаях, когда это нарушает запрашивающая сторона (так часто поступают дурные прокси серверы - они не хотят накапливать TIME_WAIT у себя). В свалке Web сервера есть реализация такого подхода, как опция "Web pcb close enable".
 
Последнее редактирование:

Victor

Administrator
Команда форума
не получается перепрошить esp8266-1
убедитесь, что GPIO0 на земле
попробуйте передернуть питание модуля ESP8266 (без отключения USB-TTL) в момент, когда идет попытка синхронизации (в логах это [inline]Connecting...[/inline])
 

Denisww

New member
иф.. и тут всё пошло
ничего не делал. разве что отключал arduino от питания
 

JustACat

Moderator
Команда форума
разве что отключал arduino от питания
Это разве ничего? Некоторым приходится иногда ПК перезагружать - так хорошо ком-порты встают в клинч при работе с ESP :p Так что передергивание ардуины, которая у вас, емнип, в качестве переходника для ESP, вполне могло решить проблему.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу