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

Нужна помощь ESP12E не до конца возвращается из DeepSleep

MaDerer

New member
Кстати, ваша прошивка весит около 600 байт. Экспортированная в bin с Arduino IDE - 290 килобайт. Тоже повод задуматься как об оптимизированности Arduino IDE, так и о возможных сбоях памяти.

P.S. Задолбал лимит на правку в 5 минут.
 

MaDerer

New member
так как припаять резистор я вам сказал не с потолка, а для устранения этой причины.
Вы всё таки не поняли, что обе платы ведут себя абсолютно одинаково что с резистором, что без него. Ваша прошивка работает на обеих платах. Моя работает на плате с NodeMCU и не работает на чистой.
 

nikolz

Well-known member
Кстати, ваша прошивка весит около 600 байт. Экспортированная в bin с Arduino IDE - 290 килобайт. Тоже повод задуматься как об оптимизированности Arduino IDE, так и о возможных сбоях памяти.

P.S. Задолбал лимит на правку в 5 минут.
моя прошивка сделана по принципу bare metal. т е без использования SDK и операционной системы
----------------------
SDK собственно и занимает 260 Кбайт
-------------------
В своих приложениях я выделяю две составные части
В первой части - это эти 1000-2000 байт я могу читать датчики проверять батарейку
и решаю передавать что-то или идти спать
Если надо передать то загружаю вторую часть с SDK так как там WiFi
----------------
На самом деле все функции есть в ROM чипа
Но Wifi - закрытая часть поэтому приходится использовать SDK
--------------------
 

MaDerer

New member
И ваша вторая прошивка запустилась тогда, когда я плюнув на это дело спаял все допаяные сопротивления.
 

nikolz

Well-known member
Вы всё таки не поняли, что обе платы ведут себя абсолютно одинаково что с резистором, что без него. Ваша прошивка работает на обеих платах. Моя работает на плате с NodeMCU и не работает на чистой.
Тогда железо тем более исправно
И причина - в отсутствии у Вас знаний
 

MaDerer

New member
моя прошивка сделана по принципу bare metal. т е без использования SDK и операционной системы
----------------------
SDK собственно и занимает 260 Кбайт
-------------------
В своих приложениях я выделяю две составные части
В первой части - это эти 1000-2000 байт я могу читать датчики проверять батарейку
и решаю передавать что-то или идти спать
Если надо передать то загружаю вторую часть с SDK так как там WiFi
----------------
На самом деле все функции есть в ROM чипа
Но Wifi - закрытая часть поэтому приходится использовать SDK
--------------------
Ооо, в это мне уже пожалуй лезть не хочется Я пока по серенькому в Arduin- ке поговнокодю :)
 

nikolz

Well-known member
Ооо, в это мне уже пожалуй лезть не хочется Я пока по серенькому в Arduin- ке поговнокодю :)
Тогда сравните результаты
У Вас активная работа модуля будет не менее 1-4 секунд, у меня 0.2 секунды . Т е у Вас модули будут потреблять в 5-20 раз больше энергии чем в моих решениях.
т е батарейки будут работать в 5-20 раз меньше.
Например у меня есть решение датчика температуры, которому вообще не надо батарейки
он работает от солнечной панельки 5 на 8 см. и это на ESP8266 (ESP8285)
Т е мои решения могут работать месяцами и даже годами .
Ваши будут работать днями и максимум неделями, при опросе не реже чем 1 раз в пять минут.
-----------------------
Подумайте над этим.
И не надо ругать железо, если нет знаний, а лишь очевидные рассуждения
Успехов
 

nikolz

Well-known member
Ооо, в это мне уже пожалуй лезть не хочется Я пока по серенькому в Arduin- ке поговнокодю :)
попробую выдвинуть рабочую гипотезу почему у вас не работает ваш скрипт на этом модуле
возможно в скрипте есть какой-то кусок кода где модуль зависает в ожидании
например в ожидании ответа wifi
возможно в голом ESP-12 не записаны параметры по умолчанию - верхние 4 сектора
 

MaDerer

New member
попробую выдвинуть рабочую гипотезу почему у вас не работает ваш скрипт на этом модуле
возможно в скрипте есть какой-то кусок кода где модуль зависает в ожидании
например в ожидании ответа wifi
возможно в голом ESP-12 не записаны параметры по умолчанию - верхние 4 сектора
Мой скрипт я выкладывал:
Код:
const int sleepTimeS = 5;

void setup() {
  Serial.begin(74880);
  Serial.println("Dont sleep!");
  delay(2000);
  ESP.deepSleep(sleepTimeS * 1000000);
}

void loop() {
}
Всё.
Есть возможно что-то от родной прошивки осталось и тогда пожалуй стоит очистить флэш как писали выше, но придется чистить в Linux.
 

MaDerer

New member
Кстати еще небольшая разница. Мой скетч выдает (3,6), ваша прошивка (3,7) :-?

И да, что-то просканить WiFi-эфир по выходу из сна я не подумал.
 

MaDerer

New member
В общем что я сделал:
- взял esptool;
- снял дамп с ESP-12 c моей прошивкой и которая нормально выходить из сна;
- очистил ESP-12, которая не работает как мне хочется;
- залил в неё этот дамп;
Результат? Не работает! Т.е. не выходит из сна.
 

MaDerer

New member
И остается только одна надежда: разобраться, почему прошивка @nikolz работает в boot mode 3,7, а моя 3,6.
 

MaDerer

New member
Если все резисторы на месте, то возможно ваш случай похож на мой
https://esp8266.ru/forum/threads/esp-12f-ne-xochet-pereproshivatsja-kak-zastavit.2843/
Скажем так. В моём случае всегда на месте 2 резистора - PC и GPIO15. Остальные я то подпаиваю, то отпаиваю - разницы ни какой. Копаясь дальше на форуме, наткнулся на мысль, что ESP8266 капризна как юная дева в пору лишения девственности (ну это я своими словами): то ей больше сопротивление ставь, то меньше; то конденсаторов туда, куда даже представить не мог, то стабилитрон ей в задний проход. А то вообще стоит голая последи площади и хоть бы хны!

В общем видимо придется дожидаться следующие ESP, смотреть, какие меня устраивают и пользоваться ими, пока китаица не придумает как еще сэкономить на во-о-он том SMD резисторе.
 

CodeNameHawk

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

Остальные я то подпаиваю, то отпаиваю - разницы ни какой.
Методом тыка мало чего решишь, надо искать закономерности при помощи тестера, составить таблицу состояний на всех выводах с резисторами, без них.
Подключили питание в таблицу, перевели (вручную) в режим программирования занесли в таблицу.
Потом стерли ВСЮ память и опять все измерения.
 

MaDerer

New member
@CodeNameHawk, Увы, мне не шашечки и углубленные знания, а ехать бы. Я не хочу слишком глубоко во всё это вникать. Я хочу довести до ума (ну со своей колокольни, хотя может и СИ займусь, но скорее со скуки, а не пользы для) свою метеостанцию, сделать Эмбилайт подсветку монитора (телевизора - дорого, хоть малинка уже есть) и еще мечтаю об WiFi-управлении бойлером в ванной (если конечно позволят соображения электробезопасности).

С другой стороны даже свою тему я не считаю пустопорожней. Вон узнал об esptool (кстати, как виндузятнику с Линуксоидными заскоками очень даже понравилась), дампе, стирании, заливке готовых прошивок. Слегка (чууууть-чуть) поднялся в своих глазах в плане пайки. Прицепом узнал об AT SDK. Короче по-нубски, но по зернышку.

Если что, в esptool в параметре -fm можно выбирать dio/qio. И если покопаться довольно мощная утилитка.
 

CodeNameHawk

Moderator
Команда форума
и еще мечтаю об WiFi-управлении бойлером в ванной (если конечно позволят соображения электробезопасности).
ЕСП практически не повлияет на элекробезопасность, если не ставить кнопок, а управлять через WiFi.
Другое дело общая безопасность, что бы не взорвать бойлер при нагреве.
На бойлере есть механический термовыключатель, его и можно использовать как второе звено безопасности.
Если ставить на бойлер цифровой датчик температуры и по нему управлять нагревом, я бы поставил дополнительный процессор, а есп как дополнение к нему.

Использовать есп с автономным питанием, есть смысл только если есп очень долго спит и только иногда просыпается.
Если надо каждую минуту снимать показания с датчика и отправлять это в "интернет" то есп слишком прожорливая.
 

CodeNameHawk

Moderator
Команда форума
и еще мечтаю об WiFi-управлении бойлером в ванной (если конечно позволят соображения электробезопасности).
ЕСП практически не повлияет на элекробезопасность, если не ставить кнопок, а управлять через WiFi.
Другое дело общая безопасность, что бы не взорвать бойлер при нагреве.
На бойлере есть механический термовыключатель, его и можно использовать как второе звено безопасности.
Если ставить на бойлер цифровой датчик температуры и по нему управлять нагревом, я бы поставил дополнительный процессор, а есп как дополнение к нему.

Использовать есп с автономным питанием, есть смысл только если есп очень долго спит и только иногда просыпается.
Если надо каждую минуту снимать показания с датчика и отправлять это в "интернет" то есп слишком прожорливая.
 

nikolz

Well-known member
Скажем так. В моём случае всегда на месте 2 резистора - PC и GPIO15. Остальные я то подпаиваю, то отпаиваю - разницы ни какой. Копаясь дальше на форуме, наткнулся на мысль, что ESP8266 капризна как юная дева в пору лишения девственности (ну это я своими словами): то ей больше сопротивление ставь, то меньше; то конденсаторов туда, куда даже представить не мог, то стабилитрон ей в задний проход. А то вообще стоит голая последи площади и хоть бы хны!

В общем видимо придется дожидаться следующие ESP, смотреть, какие меня устраивают и пользоваться ими, пока китаица не придумает как еще сэкономить на во-о-он том SMD резисторе.
сделайте такой тест.
Сотрите всю флеш на обоих чипах ESP12
после этого поочередно залейте свой скрипт и мою прогу.
В итоге станет окончательно, бесповоротно, неукоснительно ясно что куда и почему.
 
Сверху Снизу