// wifi web-управление светодиодами
// + датчик освещенности
#include <WiFi.h>
#include <WebServer.h>
#include <Wire.h>
int led18 = 18;
int led19 = 19;
int led15 = 15;
/*Put your SSID & Password*/
const char* ssid = "............"; // здесь местная сеть
const char* password = "........."; //и пароль
WebServer server(80);
void setup() {
Serial.begin(115200);
delay(100);
pinMode(led18,OUTPUT);
pinMode(led19,OUTPUT);
pinMode(led15,OUTPUT);
Serial.println("Connecting to ");
Serial.println(ssid);
//connect to your local wi-fi network
WiFi.begin(ssid, password);
//check wi-fi is connected to wi-fi network
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected..!");
Serial.print("Got IP: "); Serial.println(WiFi.localIP());
////// подпрограммы
server.on("/", handle_OnConnect);
server.onNotFound(handle_NotFound);
server.on("/back", handle_OnConnect);
server.on("/on1", handleon1);
server.on("/off1", handleoff1);
server.on("/on2", handleon2);
server.on("/off2", handleoff2);
server.begin();
Serial.println("HTTP server started");
} // конец setup
void loop() {
server.handleClient(); // сервер 'слушает' клиента
////////работа датчика освещенности sv//////////
float sv = analogRead(34)/10; //sensor light
if (sv > 215){
digitalWrite(led15, LOW); //switch off led-15
} else {
digitalWrite(led15, HIGH);//switch on led-15
}
/////////////////////////////////////
}
// подпрограммы
void handleon1() { //включение Зеленого СД
digitalWrite(led18,HIGH);
server.send(200, "text/html", "<center><br><br><br><b>LED18 is ON<br> -
- <br><a href=\"back\"><button><b>PRESS</button></a>");
}
void handleoff1() {
digitalWrite(led18,LOW);
server.send(200, "text/html", "<center><br><br><br><b>LED18 is OFF<br>-
- <br><a href=\"back\"><button><b>PRESS</button></a>");
}
void handleon2() { //включение красного СД
digitalWrite(led19,HIGH);
server.send(200, "text/html", "<center><br><br><br><b>LED19 is ON<br>-
- <br><a href=\"back\"><button><b>PRESS</button></a>");
}
void handleoff2() {
digitalWrite(led19,LOW);
server.send(200, "text/html", "<center><br><br><br><b>LED19 is OFF<br>-
- <br><a href=\"back\"><button><b>PRESS</button></a>");
}
void handle_OnConnect() { // на начало WEB-сервера
server.send(200, "text/html", SendHTML(temperature,pressure,altitude));
}
void handle_NotFound(){
server.send(404, "text/plain", "Not found");
}
String SendHTML(float temperature,float pressure,float altitude){
// здесь строки WEB-HTML сервера
String ptr = " <html>\n";
ptr +="<head>\n";
ptr +="</head>\n";
ptr +="<h1>ESP32 Web-server</h1>\n";
ptr +="<h2>Leds control</h2><font size=+1 color=darkblue><b>\n";
ptr +="<p>LED Green <a href=\"on1\"><button><b>ON</button></a>
ptr +="<a href=\"off1\"><button><b>OFF</button></a></p>";
ptr +="<p>LED Red <a href=\"on2\"><button><b>ON</button></a>
ptr +="<a href=\"off2\"><button><b>OFF</button></a></p>";
ptr +="</body>\n";
ptr +="</html>\n";
return ptr;
}
|