• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Помогите, пожалуйста, описать каждую строчку кода. Только начал заниматься arduino хочу представить свой проект

N33R0S4P1AN%

New member
//****** Подключаемые библиотеки ******
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

MDNSResponder mdns;

//WiFi параметры
const char* ssid = "rostelecom"; //Имя Wi-Fi сети
const char* password = "123456789"; //Пароль Wi-Fi сети

byte arduino_mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED };
IPAddress ip(192,168,1,42); // Ад
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);

ESP8266WebServer server(80);

int D0_pin = 15; //Пин для управления реле розетки 1
int D2_pin = 13; //Пин для управления реле розетки 2
int D1_pin = 12; //Пин для управления реле розетки 3


void setup(void){
// preparing GPIOs
pinMode(D0_pin, OUTPUT);
digitalWrite(D0_pin, LOW);
pinMode(D2_pin, OUTPUT);
digitalWrite(D2_pin, LOW);
pinMode(D1_pin, OUTPUT);
digitalWrite(D1_pin, LOW);


delay(100);
Serial.begin(115200);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);


Serial.println("");

// Wait for connection
while (WiFi.status() != WL_CONNECTED) {
delay(500); //задержка
Serial.print(".");
}
Serial.println("");
Serial.print("Connected to ");
Serial.println(ssid);
Serial.print("IP address: ");
Serial.println(WiFi.localIP());

if (mdns.begin("esp8266", WiFi.localIP())) {
Serial.println("MDNS responder started");
}

//+++++++++++++++++++++++ Запуск Розетка1 ++++++++++++++++++++
server.on("/", [](){
server.send(200, "text/html", webPage());
});
server.on("/socket1On", [](){
digitalWrite(D0_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100); //задержка

});
server.on("/socket1Off", [](){
digitalWrite(D0_pin, LOW);
server.send(200, "text/html", webPage());
delay(100); //задержка
//+++++++++++++++++++++++ Конец Розетка1 ++++++++++++++++++++

//+++++++++++++++++++++++ Запуск Розетка2 ++++++++++++++++++++
});
server.on("/socket2On", [](){
digitalWrite(D2_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100); //задержка
});
server.on("/socket2Off", [](){
digitalWrite(D2_pin, LOW);
server.send(200, "text/html", webPage());
delay(100); //задержка

// +++++++++++++++++++++++ Конец Розетка2 ++++++++++++++++++++

//+++++++++++++++++++++++ Запуск Розетка3 ++++++++++++++++++++
});
server.on("/socket3On", [](){
digitalWrite(D1_pin, HIGH);
server.send(200, "text/html", webPage());
delay(100); //задержка
});
server.on("/socket3Off", [](){
digitalWrite(D1_pin, LOW);
server.send(200, "text/html", webPage());
delay(100); //задержка

// +++++++++++++++++++++++ Конец Розетка3 ++++++++++++++++++++


});
server.begin();
Serial.println("HTTP server started");
}

void loop(void){
server.handleClient();
}

String webPage()
{
String web;
web += "<head><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"/> <meta charset=\"utf-8\"><title>Управление WiFi розетками</title><style>button{color:red;padding: 10px 27px;}</style></head>";
web += "<h1 style=\"text-align: center;font-family: Open sans;font-weight: 100;font-size: 20px;\">WiFi розетка</h1><div>";
//++++++++++ Розетка1 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">РОЗЕТКА №1</p>";
if (digitalRead(D0_pin) == 1)
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ВКЛ</div>";
}
else
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">ВЫКЛ</div>";
}
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket1On\"><button>ВКЛ</button></a>&nbsp;<a href=\"socket1Off\"><button>ВЫКЛ</button></a></div>";
// ++++++++ Розетка1 +++++++++++++

//++++++++++ Розетка2 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">РОЗЕТКА №2</p>";
if (digitalRead(D2_pin) == 1)
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ВКЛ</div>";
}
else
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">ВЫКЛ</div>";
}
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket2On\"><button>ВКЛ</button></a>&nbsp;<a href=\"socket2Off\"><button>ВЫКЛ</button></a></div>";
// ++++++++ Розетка2 +++++++++++++

//++++++++++ Розетка3 +++++++++++++
web += "<p style=\"text-align: center;margin-top: 0px;margin-bottom: 5px;\">РОЗЕТКА №3</p>";
if (digitalRead(D1_pin) == 1)
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #43a209;margin: 0 auto;\">ВКЛ</div>";
}
else
{
web += "<div style=\"text-align: center;width: 98px;color:white ;padding: 10px 30px;background-color: #ec1212;margin: 0 auto;\">ВЫКЛ</div>";
}
web += "<div style=\"text-align: center;margin: 5px 0px;\"> <a href=\"socket3On\"><button>ВКЛ</button></a>&nbsp;<a href=\"socket3Off\"><button>ВЫКЛ</button></a></div>";
// ++++++++ Розетка3 +++++++++++++

// ========Обновить данные=============
web += "<div style=\"text-align:center;margin-top: 20px;\"><a href=\"/\"><button style=\"width:158px;\">Обновить данные</button></a></div>";
// ========Обновить данные=============


web += "</div>";
return(web);
}
 

CodeNameHawk

Moderator
Команда форума
Вы напишите какого оператора не можете найти описания в интернете.
И потом понять как он работает.
Наверное у вас примеры программ не установились.
 
Сверху Снизу