selan61
Member
Прочитал на форуме что, @enjoynering пишет:"каждый раз когда вызываете WiFi.begin(ssid, password); ардуино перезаписывает название точки доступа и пароль. в итоге через год, два таких манипуляций у вас на флешке будет дырка."
Нашел и сохранил все сообщения по этому поводу, но окончательно запутался.
Так и не понял можно ли сейчас использовать WiFi.begin(ssid, password); или нет. Вроде @enjoynering потом писал, что, цитата"Теперь перед сохранием пароля и ssid проверяют его с сохраненным на флешке и не перезаписывают зря. ну и для самых продвинутых внедрили запрет на запись путем вызова функции WiFi.persistent(false). "
И что лучше использовать для отключения WIFI WiFi.disconnect(false); или WiFi.mode(WIFI_OFF); чтобы контроллер крутился и выполнял какие либо действия и иногда включал WIFI для передачи данных.
Поэтому в скетч сделал вставки на основе рекомендаций @enjoynering. Только не знаю, правильно или нет.
Нашел и сохранил все сообщения по этому поводу, но окончательно запутался.
Так и не понял можно ли сейчас использовать WiFi.begin(ssid, password); или нет. Вроде @enjoynering потом писал, что, цитата"Теперь перед сохранием пароля и ssid проверяют его с сохраненным на флешке и не перезаписывают зря. ну и для самых продвинутых внедрили запрет на запись путем вызова функции WiFi.persistent(false). "
И что лучше использовать для отключения WIFI WiFi.disconnect(false); или WiFi.mode(WIFI_OFF); чтобы контроллер крутился и выполнял какие либо действия и иногда включал WIFI для передачи данных.
Поэтому в скетч сделал вставки на основе рекомендаций @enjoynering. Только не знаю, правильно или нет.
/*
* This example show how to ping a remote machine using it's hostname
*/
#include <ESP8266WiFi.h>
#include <ESP8266Ping.h>
#include <SimpleTimer.h>
const char* ssid = "ssid";
const char* password = "password";
const char* host = "narodmon.ru";
SimpleTimer timer;
void setup() {
Serial.begin(115200);
timer.setTimeout (15000, connectwifi);// через 15 сек однократно выполнить функцию connectwifi
timer.setInterval (600000, pinghost);// каждые 10 мин выполняем функцию pinghost
}
void loop(){
timer.run();
}
void connectwifi(){ // функция первоначального подключения к WIFI
Serial.println("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.print("WiFi connected with ip ");
Serial.println(WiFi.localIP());
if (WiFi.getPersistent() == true) WiFi.persistent(false);
//disable saving wifi config into SDK flash area
WiFi.mode(WIFI_OFF); // отключаем WIFI
WiFi.persistent(true); //enable saving wifi config into SDK flash area
}
void pinghost(){ // функция пинга host
Serial.println("Connecting to WiFi");
if (WiFi.getAutoConnect() != true) //configuration will
be saved into SDK flash area
{
WiFi.setAutoConnect(true); //on power-on automatically
connects to last used hwAP
WiFi.setAutoReconnect(true); //automatically reconnects to hwAP in case it's disconnected
}
Serial.print("WiFi connected with ip ");
Serial.println(WiFi.localIP());
Serial.print("Pinging host ");
Serial.println(host);
if(Ping.ping(host)) {
Serial.println("Success!!");
}
else {
Serial.println("Error ");
}
//WiFi.disconnect();
if (WiFi.getPersistent() == true) WiFi.persistent(false);
//disable saving wifi config into SDK flash area
WiFi.mode(WIFI_OFF); // отключаем WIFI
WiFi.persistent(true); //enable saving wifi config into SDK flash area
}
* This example show how to ping a remote machine using it's hostname
*/
#include <ESP8266WiFi.h>
#include <ESP8266Ping.h>
#include <SimpleTimer.h>
const char* ssid = "ssid";
const char* password = "password";
const char* host = "narodmon.ru";
SimpleTimer timer;
void setup() {
Serial.begin(115200);
timer.setTimeout (15000, connectwifi);// через 15 сек однократно выполнить функцию connectwifi
timer.setInterval (600000, pinghost);// каждые 10 мин выполняем функцию pinghost
}
void loop(){
timer.run();
}
void connectwifi(){ // функция первоначального подключения к WIFI
Serial.println("Connecting to WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
Serial.print("WiFi connected with ip ");
Serial.println(WiFi.localIP());
if (WiFi.getPersistent() == true) WiFi.persistent(false);
//disable saving wifi config into SDK flash area
WiFi.mode(WIFI_OFF); // отключаем WIFI
WiFi.persistent(true); //enable saving wifi config into SDK flash area
}
void pinghost(){ // функция пинга host
Serial.println("Connecting to WiFi");
if (WiFi.getAutoConnect() != true) //configuration will
be saved into SDK flash area
{
WiFi.setAutoConnect(true); //on power-on automatically
connects to last used hwAP
WiFi.setAutoReconnect(true); //automatically reconnects to hwAP in case it's disconnected
}
Serial.print("WiFi connected with ip ");
Serial.println(WiFi.localIP());
Serial.print("Pinging host ");
Serial.println(host);
if(Ping.ping(host)) {
Serial.println("Success!!");
}
else {
Serial.println("Error ");
}
//WiFi.disconnect();
if (WiFi.getPersistent() == true) WiFi.persistent(false);
//disable saving wifi config into SDK flash area
WiFi.mode(WIFI_OFF); // отключаем WIFI
WiFi.persistent(true); //enable saving wifi config into SDK flash area
}