Может заблуждаюсь, но это параметр только для индикации состояния.dimonsustr писал(а): ↑08.01.2019{, 18:13}Делаю через "Запись системного параметра - WiFi клиент-Состояние", пишу туда false или 0, без разницы, ничего не происходит.
Код: Выделить всё
extern "C" {
#include "user_interface.h" // Required for wifi_station_connect() to work
}
#include <Arduino.h>
#include <ESP8266WiFi.h>
#define FPM_SLEEP_MAX_TIME 0xFFFFFFF
void WiFiOn();
void WiFiOff();
//------------------------------------------------------------------------------
void setup() {
WiFiOn();
delay(5000);
WiFiOff();
delay(5000);
ESP.deepSleep(1e6 * 10, WAKE_RF_DEFAULT); // sleep 10 seconds
}
void loop() {
;
}
//------------------------------------------------------------------------------
void WiFiOn() {
wifi_fpm_do_wakeup();
wifi_fpm_close();
//Serial.println("Reconnecting");
wifi_set_opmode(STATION_MODE);
wifi_station_connect();
}
void WiFiOff() {
//Serial.println("diconnecting client and wifi");
//client.disconnect();
wifi_station_disconnect();
wifi_set_opmode(NULL_MODE);
wifi_set_sleep_type(MODEM_SLEEP_T);
wifi_fpm_open();
wifi_fpm_do_sleep(FPM_SLEEP_MAX_TIME);
}
выключается а вот включить не получилось.dimonsustr писал(а): ↑07.02.2019{, 21:49}В общем, путем экспериментов, созданы 2 блока: отключения и включения WIFI. Ток потребления в режиме MODEM SLEEP ~20 мА и ESP при этом не соединен с роутером.
Блок отключения:
if(Off_WiFi){
WiFi.forceSleepBegin(); // Wifi off
delay(100);
}
Блок включения:
if(On_WiFi){
WiFi.forceSleepWake(); // Wifi on
delay(100);
}
Грозит ли сия конструкция износом флэш-памяти ESP при частом переключении туда-сюда пока не понял, изучаю.