Помогите адаптировать скетч от esp8266 к esp8285

kent2
Offline
Зарегистрирован: 15.08.2021
#include <ESP8266WiFi.h>
#include <ESP8266Ping.h>

const char* ssid = «ssid»; // подставить название своей сети WiFi
const char* password = «password»; //подставить пароль свой сети WiFi
//IPAddress ip(192, 168, 1, 70); //Node static IP
//IPAddress gateway(192, 168, 0, 1);
//IPAddress subnet(255, 255, 255, 0);

//const char* remote_host = «www.ya.ru»; //адрес для пинга
const IPAddress remote_ip(87, 250, 250, 242); // адрес для пинга
unsigned long previousMillis = 0;
const long interval = 300; //интервал между пингами в сек
const long T_ROUTER = 60; // время ожидания загрузки роутера в сек
const long T_RELAY = 5; // задержка от выключения реле до включения в сек

int PIN_RELAY = 12;
int PIN_LED = 13;
int PIN_BUTTON = 0;
int COUNT_PING = 0; //количество попыток при отсутствии пинга (не задается)
int COUNT_PING_MAX = 2; //максимальное количество отсутствия пинга до перезагрузки роутера
int COUNT_WIFI = 0; //счетчик попыток подключения к WiFi
int COUNT_WIFI_MAX = 60; //300; // Таймаут до перезагрузки роутера при отсутствии WiFi в сек

void setup()
{
pinMode(PIN_LED, OUTPUT);
pinMode(PIN_RELAY, OUTPUT);
pinMode(PIN_BUTTON, INPUT);
digitalWrite(PIN_RELAY, HIGH);
digitalWrite(PIN_LED, LOW);
Serial.begin(115200);
delay(10);
attachInterrupt(PIN_BUTTON, Click, FALLING);
}

void ConnectWIFI()
{
Serial.println(«Подключаюсь к WiFi»);
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
// WiFi.config(ip, gateway, subnet);
while (WiFi.status() != WL_CONNECTED)
{
if (COUNT_WIFI <= COUNT_WIFI_MAX)
{
COUNT_WIFI++;
}
else
{
Serial.println();
Relay(); //перезагружаемся так как нет подключения к WiFi
Serial.println(«Подключаюсь к WiFi»);
}
//Serial.println(WiFi.status());
digitalWrite(PIN_LED, !digitalRead(PIN_LED)); //моргаем зеленым светодиодом
delay(1000);
Serial.print(".");
}
COUNT_WIFI = 0; // сбрасываем счетчик попыток подключения к WiFi
Serial.println();
Serial.print(«WiFi подключен, ip: „);
Serial.println(WiFi.localIP());
//Serial.println(WiFi.status());
digitalWrite(PIN_LED, LOW); // зажигаем зеленый светодиод
COUNT_PING = 0; // сбрасываем счетчик неуспешных пингов
}

void Relay()
{
if (digitalRead(PIN_RELAY) == HIGH)
{
digitalWrite(PIN_RELAY, LOW); //отключаем питание на розетке
Serial.println(“Реле ВЫключено»);
}
delay(T_RELAY*1000);
digitalWrite(PIN_RELAY, HIGH); //включаем питание на розетке
Serial.println(«Реле Включено, ждем загрузки роутера»);
delay(T_ROUTER*1000); // ждем загрузки роутера
COUNT_PING = 0; // сбрасываем счетчик неуспешных пингов
COUNT_WIFI = 0; // сбрасываем счетчик попыток подключения к WiFi
previousMillis = 0;
}

void Click()
{
digitalWrite(PIN_RELAY, LOW); //отключаем питание на розетке
Serial.println(«Реле выключено кнопкой»);
}

void loop()
{
if (WiFi.status() != WL_CONNECTED) // нет подключения к WiFi
{
ConnectWIFI(); //подключаемся к WiFi
}
unsigned long currentMillis = millis();
if (((currentMillis — previousMillis) >= interval*1000) && (digitalRead(PIN_RELAY) == HIGH) && (WiFi.status() == WL_CONNECTED))
{
previousMillis = currentMillis;
Serial.print(«Попытка пинга: „);
//Serial.println(remote_host);
Serial.println(remote_ip);
//if(Ping.ping(remote_host))
if (Ping.ping(remote_ip))
{ //пинг есть
Serial.println(“Пинг есть!!»);
COUNT_PING = 0;// сбрасываем счетчик неуспешных пингов
} else
{ // пинга нет
Serial.print(«Пинг отсутствует :( „);
COUNT_PING ++;
Serial.println(COUNT_PING);
}
}
if (COUNT_PING >= COUNT_PING_MAX) // если превышено количество попыток пинга перезагружаем роутер
{
Relay();
}
if (digitalRead(PIN_RELAY) == LOW) // нажата кнопка, перезагружаем роутер
{
Relay();
}
}

 

kent2
Offline
Зарегистрирован: 15.08.2021

форум мертвый. удаляйте тему.

rkit
Offline
Зарегистрирован: 23.11.2016

Зачем? Полезная тема.

SAB
Offline
Зарегистрирован: 27.12.2016

За любую помощь кто то всегда платит. Даже если это стихийное бедствие, и вам кажется, что помощь оказывают вам бесплатно, вокруг все бессеребрянники и альтруисты.  Автор, вы задали данный вопрос не в той теме. Вам в тему ищу исполнителя. Там обязательно помогут. 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

SAB пишет:

Автор, вы задали данный вопрос не в той теме. 

Он вообще никаких вопросов не задавал. Он сначала приказал ему "помочь", а потом приказал удалить тему.