Скрыть объявление
На нашем форуме недоступен просмотр изображений для неавторизованных пользователей. Если Вы уже зарегистрированы на нашем форуме, то можете войти. Если у Вас еще нет аккаунта, мы будем рады, если Вы к нам присоединитесь. Зарегистрироваться Вы можете здесь.

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

Тема в разделе "Железные вопросы по esp8266", создана пользователем Denisww, 8 май 2015.

Метки:
Статус темы:
Закрыта.
  1. Denisww

    Denisww Новичок

    Сообщения:
    20
    Симпатии:
    0
    Вы обозначили проблему time_wait

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

    Я попробую.

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

    Denisww Новичок

    Сообщения:
    20
    Симпатии:
    0
    не получается перепрошить esp8266-1
    XTCOM UTIL (раскрыть)

    Target com fail to connect!

    FLASH_DOWNLOAD_TOOLS_v1.0_150508: (раскрыть)

    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
     

    Вложения:

    • esp_update.jpg
      esp_update.jpg
      Размер файла:
      281,2 КБ
      Просмотров:
      11
  3. pvvx

    pvvx Активный участник сообщества

    Сообщения:
    8.687
    Симпатии:
    1.282
    Сто раз обозначена.
    Если сервер закрывает соединение первым, то на это соединение 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".
     
    Последнее редактирование: 13 май 2015
  4. Victor

    Victor Administrator Команда форума

    Сообщения:
    2.211
    Симпатии:
    386
    убедитесь, что GPIO0 на земле
    попробуйте передернуть питание модуля ESP8266 (без отключения USB-TTL) в момент, когда идет попытка синхронизации (в логах это Connecting...)
     
  5. Denisww

    Denisww Новичок

    Сообщения:
    20
    Симпатии:
    0
    иф.. и тут всё пошло
    ничего не делал. разве что отключал arduino от питания
     
  6. JustACat

    JustACat Moderator Команда форума

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

Поделиться этой страницей