Вывод ESP8266 из deepSleep с помощью кнопки
У меня есть кнопка с двумя изолированными дорожками. Я хочу иметь возможность выводить esp из deepSleep с помощью этой кнопки, а также определять, что она была нажата. Поэтому я не могу подключить его для сброса, потому что esp не будет работать, если я не отпущу кнопку. А если не в deepSleep, то он перезагрузится, а мне это не нужно. Как это сделать?
@TheLastGimbus, 👍0
Обсуждение2 ответа
Используйте другой контакт для удержания RESET HIGH или отключения кнопки от RESET, когда esp8266 не работает.
Я спросил на EE SE недостающую часть схемы.
Было бы полезно дать картинку лучшего качества или лучше нарисовать правильную схему на компьютере., @MichaelT
это лишь частичный ответ, поскольку схема управления, подключенная к выводу io X, отсутствует. @MichaelT, ты можешь отредактировать и улучшить ответ или написать лучший, @Juraj
Я мог бы, и ты мог бы, кто-нибудь еще. Я предложил ФП потратить немного больше времени на ответ., @MichaelT
Вы не можете остановить deepSleep, все, что вы можете сделать, это перезагрузить плату, поэтому подключите кнопку к контакту сброса и выполните соответствующие настройки:
- Подключите подтягивающий резистор (10 кОм) к RST
- Подключите кнопку из RST к земле
Когда вы нажимаете, RST имеет GND, поэтому ESP сбрасывается.
Помните, что глубокий сон работает только около часа, поэтому вам тоже придется обдумать эту ситуацию, возможно, со статической переменной...
EDIT Спасибо Юраю за комментарий: «из SDK API» system_dee p_sleep(0): таймер пробуждения отсутствует; чтобы проснуться, подключите GPIO к контакту RST; микросхема проснется при спаде фронта на выводе RST."
из SDK API «system_deep_sleep(0): таймер пробуждения отсутствует; чтобы проснуться, подключите GPIO к выводу RST; чип проснется по спаду на выводе RST»., @Juraj
в ссылке предполагается, что esp8266 используется в качестве «сопроцессора» для основного MCU, поскольку он не предназначен для автономного использования. поэтому упомянутый контакт GPIO является контактом основного MCU., @Juraj
- Легкий сон ESP8266 — не могу проснуться
- Монитор напряжения батареи сразу после глубокого сна
- Переключатель управления энергосбережением esp8266
- Питание Nodemcu с помощью Vin
- Как перевести ATtiny/ATmega в режим глубокого сна (чтобы годами работать от батарей), но при этом обнаруживать нажатие кнопки?
- ESP8266 глубокий сон и MQTT
- PIR движение выводит ESP8266 из глубокого сна
- Как узнать максимальный ток через VIN на плате NodeMCU?
Можете ли вы опубликовать код, который у вас есть? И что вы подразумеваете под «двумя изолированными дорожками»?, @MichaelT
Подключите кнопку с подтяжкой к GPIO. Также подключите кнопку через небольшой конденсатор к выводу сброса. Платы Arduino используют тот же трюк для сброса ATMega328 через USB на DTR-контакт последовательного чипа., @Gerben
У меня пока нет кода, который бы относился к этой функции. Под «двумя изолированными дорожками» я подразумеваю, что эта кнопка имеет 4 контакта и 2 пути изолированы, поэтому вы можете подключить две отдельные вещи к одной и той же кнопке. Один путь разбудит ESP, а второй будет подключен к одному из GPIO. Будет ли конденсатор также сбрасывать его во время работы? Я хочу, чтобы он сбрасывался только один раз во время сна и не делал этого во время работы., @TheLastGimbus
Не могли бы вы нарисовать мне это в красках или чем-нибудь еще?, @TheLastGimbus
Возможный дубликат Сброс глубокого сна с датчиком удара, @Juraj