• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

ESP8266 виснет

Victor

Administrator
Команда форума
Статистика поисковых запросов показывает, что достаточно много людей, у которых "ESP8266 виснет".
Предлагаю вам в этой теме размещать посты с подробным описанием подключения esp8266 - мы постараемся вам помочь. Внимание! Перед тем, как размещать пост, прочитайте
ESP8266 — подключение и обновление прошивки
Если вы выполнили все рекомендации, описанные в этой статье, а esp8266 виснет, тогда можете разместить свой пост.

1. Укажите тип модуля esp8266 (ESP-01, ESP-07 и т.п.)
2. Сообщите схему подключения (какой стабилизатор питания, как и куда подтянуты GPIO, какой USB-TTL и т.д. - чем подробнее, тем больше шансов, что кто-то из пользователей форума увидит вашу ошибку и вам поможет)
3. Сообщите тип и версию прошивки (если модуль сами не перепрошивали, то так и напишите)
4. Сообщите через какое время стабильной работы происходит зависание
5. К какому роутеру подключаетесь, какую IP адресацию используете (статическую или динамическую)

Приложите как можно больше подробной информации (фото, фрагменты кода, скриптов и AT команд, только пожалуйста, уважайте других - спрячьте это все под спойлер, чтобы глаза не выпадывали от вашего поста)
 

TRO

Member
У меня вешался ESP-01 во время передачи посылки через вайфай, из за длинного шлейфа от стабилизатора до ESP-01.
По осцилографу просадка была при передаче менше 2.5в. Заменил шлейф на покороче и добавил емкостей, теперь ок.

ESP-0з тоже вешалась, но тут уже был виноват другой длинный кабель с USB до стабилизатора, поставил на входе стабилизатора емкость от материнки на пару тысяч микрофарад, пока полет нормальный.
 

Victor

Administrator
Команда форума
Основные признаки, по которым я визуально могу определить зависание или Exception прошивки
1. Резкое увеличение тока (если при отключенном WiFi у меня 0,07А, то при зависании постоянно 0,3А)
2. Красный светодиод начинает гореть в половину яркости, которая была при старте модуля (светодиод питания присутствует не на всех типах модуля) при питании от USB (через конвертер, конечно)
3. При обмене по UART не мигает в такт данным синий светодиод на модуле
 

xlightx

New member
Модуль ESP-01. Прошит NodeMCU. Подключен как показано на рисунке. GPIO 0 включен на выход из датчика движения: http://arduino-ua.com/prod193-IK_datchik_dvijeniya_dlya_Arduino . При загрузке виснет. Если отключаю от датчика - грузится и работает нормально. Датчик выдает ноль если нет движения. Вероятно модуль считает, что его перевели в режим прошивки, т.к. gpio 0 заведен на ноль. Как это обойти - не понимаю. И кстати, если включать датчик после загрузки модуля - все работает на ура.
 
Последнее редактирование:

Виктор59

New member
Модуль ESP-01. Прошит NodeMCU. Подключен как показано на рисунке. GPIO 0 включен на выход из датчика движения: http://arduino-ua.com/prod193-IK_datchik_dvijeniya_dlya_Arduino . При загрузке виснет. Если отключаю от датчика - грузится и работает нормально. Датчик выдает ноль если нет движения. Вероятно модуль считает, что его перевели в режим прошивки, т.к. gpio 0 заведен на ноль. Как это обойти - не понимаю. И кстати, если включать датчик после загрузки модуля - все работает на ура.
Аналогичная проблема, тоже ищу информацию по этому поводу
 

xlightx

New member
Аналогичная проблема, тоже ищу информацию по этому поводу
Виктор, у меня датчик и esp, были запитаны от разных источников питания и проблемма возникала если esp включался, в момент выдачи датчиком нуля (когда отсутствовало движение). Решил проблемму запитав оба устройства от одного источника.
 

Alex Sedov

New member
Привет. Есть такая проблема с зависанием: esp- точка доступа, к ней подключается мобильное устройство и кидает данные (данных 1 байт). Все идет нормально, пока не отключить wi-fi на мобильном устройстве( эмуляция обрыва) при активном соединении "сервер-клиент". Дальше - wifi есть в списке, но подключение к нему не возможно до перезагрузки esp. Esp программировал через Arduino IDE.
Код:
void setup()
{ delay(1000);
  Serial.begin(115200);
  delay(1000);
  WiFi.mode(WIFI_AP);
  WiFi.softAP(ssid,password);
  server.begin();
}

void loop()
{ String s,s1;
  WiFiClient client = server.available();  
  if (client)
  { while (client.connected())
     { while (client.available())
       {char c= client.read();      
        s +=c;
       }
       if (s.toInt()>0 && s.toInt()<33){ Serial.write(s.toInt()); s="";} else{s="";}
      }
   }
client.stop();

}
Была идея при потере клиента перезагрузить или wi-fi, или сервер, или esp. Но реализовать это в Arduino IDE не вижу возможности. Может ли кто-нибудь что-нибудь подсказать/посоветовать?
 

sav-13

Member
Привет. Есть такая проблема с зависанием: esp- точка доступа, к ней подключается мобильное устройство и кидает данные (данных 1 байт). Все идет нормально, пока не отключить wi-fi на мобильном устройстве( эмуляция обрыва) при активном соединении "сервер-клиент". Дальше - wi
Была идея при потере клиента перезагрузить или wi-fi, или сервер, или esp. Но реализовать это в Arduino IDE не вижу возможности. Может ли кто-нибудь что-нибудь подсказать/посоветовать?
Решил проблему "топором". Повесил на выход ESP-шки сторожевой таймер на NE555
В принципе релюшкой можно перезагружать хоть ESP, хоть роутер, хоть весь дом )))
 

Alex Sedov

New member

sav-13

Member
Т.е. программно реализовать подобное через Arduno IDE пока нет возможности?
У меня не получилось. ESP.reset() не всегда лечит подвисание.
Функции работы со встроенным WDT тоже глючные
Народ советует через уход в спящий режим и пробуждение через GPIO16 лечить. На мой взгляд тоже не самый простой путь )))
Может SDK допилят и все решится само со временем.
 

Alex Sedov

New member
У меня не получилось. ESP.reset() не всегда лечит подвисание.
Функции работы со встроенным WDT тоже глючные
Народ советует через уход в спящий режим и пробуждение через GPIO16 лечить. На мой взгляд тоже не самый простой путь )))
Может SDK допилят и все решится само со временем.
Cпасибо, будем пробовать.
 
Привет всем. Помогите пожалуйста решить следующюю проблему залил в esp8266 стандартную прошивку из библиотеки ардуино WIFI web server. Там происходит управлением gpio отправкой запроса 192.168.1...gpio/1 на выходе ставится логическая единица или аналогично ноль. после 5-6 посылов модулю, модуль наченает зависать (отрабатывает медленно) Что посоветуете?
 

Виктор59

New member
я решил проблему подпаяв проводок с крайнего выхода. Получился еще один GPIO5. с ним проблем нет. Кому интересно пишите - отвечу.
 

net

New member
два есп01 работают параллельно. виснут оба неделя-две. Ставить ватчдог не вижу смысла т.к. передергивание не помогает, если только подождать минуты 4-5. зашел в роутер- оба есп01 висят как клиенты с айпи адресами. После перезагрузки роутера , обе зависшие есп восстанавливаются без передергивания и работают. Дело в роутере? глюк есп? что посоветуете. .
 

sharikov

Active member
два есп01 работают параллельно. виснут оба неделя-две.
...что посоветуете. .
Забейте болт.
Китайские модули отвратительно разведены. Например на esp-03 только 1 (один!) блокировочный конденсатор который расположен вплотную к антенне. Гигагерцовые схемы так не разводят если хочется чтобы работало.
Модуль должен быть разведен на 4-х слойке с соблюдением импеданса вч трасс и нормативным отступом от антенны, на каждый питающий вывод esp8266 должно быть установлено по блокировочному конденсатору...
 

nikolz

Well-known member
два есп01 работают параллельно. виснут оба неделя-две. Ставить ватчдог не вижу смысла т.к. передергивание не помогает, если только подождать минуты 4-5. зашел в роутер- оба есп01 висят как клиенты с айпи адресами. После перезагрузки роутера , обе зависшие есп восстанавливаются без передергивания и работают. Дело в роутере? глюк есп? что посоветуете. .
возможно esp теряют соединение. После этого они действительно повиснут и восстановятся лишь после перезагрузки роутера.
Как вариант надо вставить поиск соединения при его потере в программу eSP.
 

net

New member
возможно esp теряют соединение. После этого они действительно повиснут и восстановятся лишь после перезагрузки роутера.
Как вариант надо вставить поиск соединения при его потере в программу eSP.
Пока роутер не сбросит есп шки в листе клиентов успеха нет. либо передернуть зависшие есп и подождать минуты 4 пока сбросятся они в роутере. Попробовать реализовать циклическое отключение/включение соединения в программе и не ждать пока наберутся ошибки и зависнеит?
 

Юрий Ботов

Moderator
Команда форума
Ставить ватчдог не вижу смысла т.к. передергивание не помогает, если только подождать минуты 4-5. зашел в роутер- оба есп01 висят как клиенты с айпи адресами. После перезагрузки роутера , обе зависшие есп восстанавливаются без передергивания и работают
Похоже на роутер. Сталкивался с подобным на андроид-устройствах.
 

=AK=

New member
Мы написали тестовую программку для РС, которая делает тривиальную вещь: открывает ТСР соединение с ESP8266, посылает 3 байта данных и закрывает соединение. Она это делает в нескольких потоках с максимальной скоростью, примерно 200 раз в секунду получатся. ESP8266 зависает через пару секунд работы этой программы, перестает реагировать на АТ команды.

Я использую ESP-12 с АТ командами 0.60, вот эту прошивку: http://esp8266.ru/forum/resources/at-0-60-sdk-1-5-2-dlja-modulej-s-512k-flash.29/, но не думаю, что проблема в АТ командах, скорей в ТСР сервере в ESP8266. Интересно было бы попробовать с другими прошивками, зависнет от такой программы или нет.

Если зависнет, то это сущее безобразие получится. Значит, кто угодно сможет завесить ваше устройство через WiFi.
 
Последнее редактирование:
Сверху Снизу