На форуме Weemos были сообщения, что при соединении D0 с RST напрямую не всегда удается заливать новые скетчи, приходится перемычку снимать. С резистором такой проблемы вроде как нет.
Я немного не понял. Смещение должно быть кратно четырем или объем записываемых данных должен иметь такую кратность? Просто, если второе, то логика как-то не совсем понятна. Смещение всегда имело кратность, чтобы быстрее происходил процесс записи (один блок записывать, вместо считывания и записи двух).
Здравствуйте! Очень полезный канал. А у меня такой вопрос: Esp8266 в deepSleep'е. Существует цифровой датчик - счетчик. С него приходит постоянно чередование 0/1 с большой скоростью изменения. Цель проснуться, когда работает датчик. Есть ли какой то способ правильный, чтобы осуществить задуманное? Если напрямую соединить сигнал с датчика с RST - получим постоянную перезагрузку. Если к СH_PD. то тоже самое по сути. Может Вы можете посоветовать какое то решение?
Только через промежуточный микроконтроллер с возможность просыпаться от внешнего прерывания, который и сформирует сигнал на RST для ESP8266. Копеечный STM8 или AVR должны подойти. Или меняйте ESP8266 на ESP32. У той есть несколько возможных источников пробуждения, в том числе внешнее прерывание.
Добавьте вторым параметром в вызов метода ESP.deepSleep() константу RF_NO_CAL, тогда после пробуждения не будет выполнена калибровка WiFi и подключение к тому же роутеру произойдет быстрее. Для автоматического коннекта при старте к последней AP надо вызвать WiFi.setAutoConnect(true) и при необходимости setAutoReconnect(true)
Как esp8266 заставить спать навсегда?!!!! если reset не соединять не с чем то по истечении rtc времени начинает жрать 11 мА. На пине EN стоит геркон на землю, таким образом при замкнутом герконе все выключено и почти не ест батарейку. Но если открыть геркон на EN попадет напряжение через резистор 680k c плюса и ESP вместо того чтоб отработать событие подумает что это был deepsleep.
В параметре deepSleep указать 0 и никакого таймера просыпания не будет. Если же после этого плата будет перезагружена любым образом кроме долговременного снятия питания, то по мнению ESP это все равно будет пробуждение от глубокого сна.
зачем - для простоты? перезагрузить - выдиранием питания? но вообще очевидно, это была левая схема из интернета. вообще сейчас нашел схемы прошивки и без подтяжки ресета куда-либо. вообще зоопарк модулей и сред создает определенную сумятицу.
Примерно. Точнее надо мерить тестером. И максимальное потребление включает подсветку дисплея, но правда вай-фай не используется, который в пике до 170 мА может потреблять.
Alex Morozov понял, спасибо. А можно ли сделать так, чтобы модуль спал до тех пор, пока его не разбудит другое устройство (например ардуино). Насколько я понимаю для этого просто не нужно ставить перемычку, а на контакте ресет держать высокий уровень с пина апдуины. И когда необходимо разбудить ЕСП, просто подавать на этот выход LOW. Так будет работать? Или лучше тогда сделать просто включение/выключения питания ЕСП с помощью транзистора в режиме ключа?
Шикарный канал, снимай еще. Все очень понятно объясняешь. Я, правда просто перемычку кидаю от резета на 16 пин.
На форуме Weemos были сообщения, что при соединении D0 с RST напрямую не всегда удается заливать новые скетчи, приходится перемычку снимать. С резистором такой проблемы вроде как нет.
Alex Morozov
Я приноровился жать резет при загрузке нового скетча, иначе не заливается. Ну надо попробовать резистор запаять и посмотреть.
да, есть такое, пока перемычка - не загружает
спасибо классный канал. очень познавательно
Спасибо за работу!
Я немного не понял. Смещение должно быть кратно четырем или объем записываемых данных должен иметь такую кратность? Просто, если второе, то логика как-то не совсем понятна. Смещение всегда имело кратность, чтобы быстрее происходил процесс записи (один блок записывать, вместо считывания и записи двух).
Что происходит с настроенными выходами во время глубокого сна? Они сохраняют свои значения или их состояние не определено?
Это 8266, здесь только один выход в глубоком сне может работать, остальные сбрасываются и с этим ничего нельзя поделать.
спасибо
очень дохотчиво
ещё бы где так доходчиво про BLYNK
🤝 Привет. Помоги, пожалуйста. Можно ли сделать пробуждение ESP8266 ? Сон нашел в приложении на айфоне через браузер, но где настройка пробуждения ?
Здравствуйте! Очень полезный канал. А у меня такой вопрос: Esp8266 в deepSleep'е. Существует цифровой датчик - счетчик. С него приходит постоянно чередование 0/1 с большой скоростью изменения. Цель проснуться, когда работает датчик. Есть ли какой то способ правильный, чтобы осуществить задуманное? Если напрямую соединить сигнал с датчика с RST - получим постоянную перезагрузку. Если к СH_PD. то тоже самое по сути. Может Вы можете посоветовать какое то решение?
Только через промежуточный микроконтроллер с возможность просыпаться от внешнего прерывания, который и сформирует сигнал на RST для ESP8266. Копеечный STM8 или AVR должны подойти.
Или меняйте ESP8266 на ESP32. У той есть несколько возможных источников пробуждения, в том числе внешнее прерывание.
шикарный канал
Сделал замер тока в слипе связки ESP8266+BME280 при Vdd=3V3. Итак, если верить китайскому мультиметру, 25 мкА. Однако, совсем недурно...
Подскажите можно таким образом запомнить подключение к WiFi? Чтобы Wemos не подключался к сети заново после пробуждения ?
Добавьте вторым параметром в вызов метода ESP.deepSleep() константу RF_NO_CAL, тогда после пробуждения не будет выполнена калибровка WiFi и подключение к тому же роутеру произойдет быстрее.
Для автоматического коннекта при старте к последней AP надо вызвать WiFi.setAutoConnect(true) и при необходимости setAutoReconnect(true)
Спасибо ! теперь вообще практически не жрет аккумулятор.
Alex, огромное человеческое спасибо за ваши уроки!
Как esp8266 заставить спать навсегда?!!!! если reset не соединять не с чем то по истечении rtc времени начинает жрать 11 мА. На пине EN стоит геркон на землю, таким образом при замкнутом герконе все выключено и почти не ест батарейку. Но если открыть геркон на EN попадет напряжение через резистор 680k c плюса и ESP вместо того чтоб отработать событие подумает что это был deepsleep.
В параметре deepSleep указать 0 и никакого таймера просыпания не будет. Если же после этого плата будет перезагружена любым образом кроме долговременного снятия питания, то по мнению ESP это все равно будет пробуждение от глубокого сна.
@@alexmorozov73 Как вариант в RTC хранить инкремент просыпаний. При сбросе по пину Enable RTC сбрасывается.
а почему строчка pinMode(D0, WAKEUP_PULLUP); в коде закомментирована? она там не нужна?
Если без нее работает - значит не нужна.
а еще я программирую с пином reset, который закорочен на +3.3В. (модуль ESP-12) - может, это излишнее?
Именно закорочен, а не подтянут через резистор? А зачем? И как тогда перезагрузить модуль?
зачем - для простоты? перезагрузить - выдиранием питания? но вообще очевидно, это была левая схема из интернета. вообще сейчас нашел схемы прошивки и без подтяжки ресета куда-либо. вообще зоопарк модулей и сред создает определенную сумятицу.
То есть в рабочем режиме потребление 90мА, а в режиме сна 4.85мА. Правильно я понял?
Примерно. Точнее надо мерить тестером. И максимальное потребление включает подсветку дисплея, но правда вай-фай не используется, который в пике до 170 мА может потреблять.
Alex Morozov понял, спасибо. А можно ли сделать так, чтобы модуль спал до тех пор, пока его не разбудит другое устройство (например ардуино). Насколько я понимаю для этого просто не нужно ставить перемычку, а на контакте ресет держать высокий уровень с пина апдуины. И когда необходимо разбудить ЕСП, просто подавать на этот выход LOW. Так будет работать? Или лучше тогда сделать просто включение/выключения питания ЕСП с помощью транзистора в режиме ключа?
Вы сами ответили на свой вопрос.
@@klmbss нет, не правильно. После того как RTC выдаст сигнал на пробуждение ESP начинает кушать 11 мА.