• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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, вполне могло решить проблему.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу