• Система автоматизации с открытым исходным кодом на базе 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
С нулём работает, вопрос в потреблении. Моего мультиметра не хватает на микроамперы...
 
Последнее редактирование:
Сверху Снизу