код для работы с 2мя роутерами каждые 50 реконектов переключается на другой роутер после 500 реконектов поднимает свою точку
Перед тем как вставить в окно конструктора кода вбить имена своих роутеров и пороли в 19,20,26,27 строке,после 500 реконектов поднимается точка доступа с хостнейм модуля и паролем 87654321
//заранее вбить имена роутеров и пороли в 19,20,26,27 строке,после 500 реконектов поднимается точка доступа с хостнейм модуля и паролем 87654321
//при сборке ввести переменных 0, а в поле настройки 0
uint8_t len_ssi;//длина названия wi-fi
uint16_t recon_wf=0;//переменная времени через которое поднимем точку
bool flag=0;
soft_ap_mode(){//функция в которой спрятан вызов точки доступа
struct softap_config apConfig;
wifi_softap_get_config(&apConfig);
os_sprintf(apConfig.ssid,"%s",sensors_param.hostname);//имя точки доступа берем хостнэйм
apConfig.authmode=4;//0 - без шифрования,4 с шифрованием
os_sprintf(apConfig.password,"87654321");//пароль точки
len_ssi=apConfig.ssid_len =strlen(apConfig.ssid);//длина имени точки доступа
wifi_softap_set_config(&apConfig);//применить параметры точки
wifi_set_opmode(3);//включить точку доступа
}
alt_ssid_mode1(){
struct station_config stationConf;
wifi_station_get_config(&stationConf);
os_sprintf(stationConf.ssid,"ROUTER1");//имя роутера 1
os_sprintf(stationConf.password,"PASSWORD");//пароль роутера 1
wifi_station_set_config(&stationConf);;//применить параметры роутера 1
}
alt_ssid_mode2(){
struct station_config stationConf;
wifi_station_get_config(&stationConf);
os_sprintf(stationConf.ssid,"ROUTER1");//имя роутера 2
os_sprintf(stationConf.password,"PASSWORD");//пароль роутера 2
wifi_station_set_config(&stationConf);;//применить параметры роутера 2
}
void ICACHE_FLASH_ATTR startfunc(){}
void ICACHE_FLASH_ATTR timerfunc(uint32_t timersrc) {
if(!(wfrc%50)){//каждые 50 реконнектов меняем имя роутера и пароль
recon_wf++;
if(1<recon_wf)recon_wf=0;
flag=1;
}
if(!recon_wf && flag){alt_ssid_mode2();flag=0;}//применить параметры роутера 1
if(recon_wf==1 && flag){alt_ssid_mode1();flag=0;}//применить параметры роутера 2
if(wfrc==500){soft_ap_mode();}//если реконектов 500 вызываем функцию с точкой
}
void webfunc(char *pbuf) {
os_sprintf(HTTPBUFF,"<br>обрывы связи : %d ",wfrc);//вывод на главную реконнектов
}