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

Вывод ESP8266 из режима глубокого сна

aZholtikov

Active member
А как я пойму, что она сбросилась? Или если она зависнет то в списке портов не будет ее IP адреса?
Как вариант.
Блин! Похоже спалил ESP-шку, когда просадку мерил, коротнул +5В на землю.
Скорее дело в конвертере 5-3.3.
Если есть где взять 3в (2 батарейки например) можно подать напрямую на модуль для проверки.
 
Все. Голову сломал. Новую ESP впаял, она шиться не хочет!

esptool.py v2.8
Serial port COM11
Connecting........_____....._____....._____....._____....._____....._____.....____Traceback (most recent call last):
File "C:\Users\dimon\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.7.4/tools/upload.py", line 65, in <module>
esptool.main(cmdline)
File "C:/Users/dimon/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 2890, in main
esp.connect(args.before)
File "C:/Users/dimon/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/esptool\esptool.py", line 483, in connect
raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header
RX у меня оборван, но на время прошивки я его соединяю. Всегда писалось. Что еще - не пойму!
 
В общем с грехом пополам прошил.
На новой плате тоже кнопка RESET в основном режиме, когда работает от 220В, экран включен и все датчики тоже только подвешивает.
А вот в режиме глубокого сна срабатывает. Возможно дело в экране. Он вообще через Ж работает. При включении питания сразу не начинает работать, приходится программный RESET делать. Может и в этом случае затыкается.
 

aZholtikov

Active member
Возможно дело в экране. Он вообще через Ж работает.
Каждый разработчик сам себе раскидывает "грабли" и мужественно идет этим путем... :)
А если по частям? И тестить каждую по очереди (я по крайней мере всегда так делал/делаю).
Пример:
Пустая прошивка- проверяем плату.
Добавили OTA - проверили. Да - дальше. Нет - "копаем".
Добавили сон - проверили.
Ну и тд... Легко понять где "не выстрелило".

Тут я поддержу @pvvx - библиотеки для ESP8266 бывают кривоваты...
 
так может сначала с экраном надо разобраться окончательно
Тут дело в том, что я купил сразу неправильные индикаторы 1088BS (с общим анодом), а ввсе библиотеки написаны под 1088AS. Покупал я их в самый разгар пандемии и оооочень долго ждал когда придут. Ну и когда пришли и я начал сооружать свой девайс выяснился этот прискорбный момент(что не те купил). В итоге пришлось извращаться со всем, начиная от схемы и кончая кодом. Ну подключил я их довольно быстро. А вот с кодом мучился долго. Все никак оси не мог упорядочить. В итоге нашел единственную библиотеку, где все это задавалось вручную. Ну а у самой библиотеки нашлись косяки. Например если девайс работает и я его перепрошиваю, то он чудесно загружается. А вот если выключить питание и включить его, то он прекрасно загружается, но без дисплея. И вот после перезагрузки я нажимаю RESET прораммный (у меня и через WEB можно ресетнуть и через ИК приемник) и тогда все загружается как надо. Пришлось городить в коде чтобы после указания всех настроек дисплея и его запуска читалась переменная из внутренней памяти и по определенному значению сразу перегружала девайс. Вот тут все заработало. Собственно работает уже всё. Кроме пробуждения из DeepSleep по подаче 220В на БП.
 

CodeNameHawk

Moderator
Команда форума
В каком смысле?
Если стоит контроллер дисплея и есть вход ресета, то на него вешается цепочка ресета, обычно резистор с конденсатором, для сброса, после подачи питания.
По питанию ставят конденсаторы возле каждой микросхемы, если это модуль, то возле его выводов питания.
 
Последнее редактирование:
Ну какой контроллер дисплея? Там 16 индикаторов, у каждого по микросхеме MAX7219. Обвязка как в даташите, т.е. по питанию рядом с каждой стоит кондер 0,1мкФ. Нет это не модули. Покупал на али 16 индикаторов и 16 микросхем. Схему рисовал сам и заказывал печатные платы на JLCPCB.
Ну и програмный ресет никак ведь питание не затрагивает. Я почти уверен, что проблема с библиотекой. Ну почти. Все-таки я программист тот еще. Лет 20 назад работал программистом, писал на Delphi.
 
К сожалению на Али таких нет больше, который я купил. 40 ватт 5 вольт. Этого вполне достаточно. После месяца бесперерывной работы блок питания совсем холодный.
 
В общем отличие в загрузке от аккумулятора и БП такие. При включенном БП в дополнении к датчикам которые инициируются при работе от акуумулятора есть следующее: датчик движения, который как раз на GPIO16 висит, ИК приемник ну и сам дисплей. Дисплей в коде я отключал. Не помогло, так же не грузится.
 

CodeNameHawk

Moderator
Команда форума
Покажите, что выводит в сериал, при нажатии ресет, от аккума, что от бп.
 
Serial отключен полностью (TX у меня так же задействован), да и как я посмотрю, что на Serial, если я прошиваю только по воздуху.
В этом то и проблема. Был бы Serial, я бы наверное уже что-нибудь выяснил.
 

CodeNameHawk

Moderator
Команда форума
Переключите на сериал, потом обратно.
Делать это можно и на другой плате, важно проверить работу схемы, при смене питания.
 
Какие-то команды на вывод прописать или просто активировать порт и посмотреть, будет ли на него что-то выводиться?
 
При подключенном Serial устройство не запускается.
Если запустить устройство при отключенном по USB к компу кабелем, а после запуска USB кабель подключить и вывести на экран окно Serial, то устройство сразу виснет, выдавая порцию крокозябр.
А вообще если я задействую TX в качестве GPIO1, надо ли обрезать контакт модуля ESP и микросхемы UART? Если задействовать RX, то это надо делать и оно у меня разорвано. Но на всякий случай я к UART припаял провод, т.к. он на нижней, недоступной стороне платы модуля ESP.
 

CodeNameHawk

Moderator
Команда форума
Еще вас порадую, чтобы переходник не перезагружал есп, надо оставить подключенным только Rx Tx Ground.
 
Сверху Снизу