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

Не работает WiFi после выхода из deep sleep

Kitsok

New member
Добрый день!

Поискал - и не нашел.
Суть проблемы: после входа в deep sleep, точнее, после выхода из него, WiFi не цепляется за точку доступа. Если сделать system_restart(), то цепляется.

Подробнее: использую nodemcu последнюю. RST и GPIO16 соединены перемычкой. Делаю node.dsleep(), модуль засыпает, просыпается, и не может зацепиться к WiFi.
Ресет кнопкой - не помогает. Игра в wifi.sleeptype - не помогает.
Единственное что помогает - node.restart(), т.е. системный вызов system_restart().
После этого все замечательно работает.

Вопрос: что я делаю не так, и, если это просто бага, то можно ли без лишних граблей типа создания файла перед засыпанием и проверки его после ресета, определить, что мы не просто обресетились, а вышли из сна?

Спасибо!
 

SkyN

New member
У команды node.dsleep два параметра. первый - на сколько заснуть (максимум 35 минут), второй - что делать с неким RF_CAL.
Так вот, если вторым параметром стоит 4, то wifi'я не будет, если стоит 0, то подключится автоматом.

Остальные не пробовал, но с интересом почитаю про про то что значат значения 1,2,4 у второго параметра. Почему в wiki пропущен 3. И замеры того, как каждый из режимов сна влияют на потребление.

Я засыпаю следующим способом, и с wifi проблем нет

function sleep()
print("SLEEP")
--node.dsleep( 30*1000*1000 , 0) -- 30 секунд
node.dsleep(60*60*1000*1000,0) -- час (на самом деле ~35 минут)
end
tmr.alarm(0,25*1000,1,function() print("timeout") sleep() end) -- чтобы гарантированно уснуть через 25 секунд после просыпания

-- ну и в остальном коде использую sleep()
 

SkyN

New member
встретил более толковое описание второго параметра http://bbs.espressif.com/viewtopic.php?f=7&t=171
option==1: do rf calibration during wake-up.Power consumption is larger.
option==2: not do rf calibration during wake-up.
option==4: disable rf when the chip wake up. This provides a better current performance.

про параметр равный нулю я обманул, при нем что делать с RF определяется неким 108 байтом из init data, но видимо он у меня выставлен как мне надо )))
 

Kitsok

New member
С нулём работает, вопрос в потреблении. Моего мультиметра не хватает на микроамперы...
 
Последнее редактирование:
Сверху Снизу