Пишем программный код для управления выходами микроконтроллера ESP8266 через WiFi сеть в среде программирования Arduino IDE.

Страница на этапе разработки

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>

String SendHTML(uint8_t led_n);

const char* ssid = «Alena»;
const char* password = «alena557»;
IPAddress ip(192,168,1,17); //статический IP
IPAddress gateway(192,168,1,1);
IPAddress subnet(255,255,255,0);
ESP8266WebServer server(80);
const int led = LED_BUILTIN;

void handleRoot() {
server.send(200, «text/html», SendHTML(0));
}
void handleRootOn() {
server.send(200, «text/html», SendHTML(1));
}
void handleRootOff() {
server.send(200, «text/html», SendHTML(0));
}

void handle_NotFound(){
server.send(404, «text/plain», «Not found!»);
}

void setup(void){
pinMode(led, OUTPUT);
digitalWrite(led, 0);
Serial.begin(115200);
WiFi.begin(ssid, password);
WiFi.config(ip, gateway, subnet);
Serial.println(«»);
// ожидание соединения
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());
server.on(«/», handleRoot);
server.on(«/led_on», handleRootOn);
server.on(«/led_off», handleRootOff);
server.onNotFound(handle_NotFound);
server.begin();
Serial.println(«HTTP server started»);
}
void loop(void){
server.handleClient();
}

String SendHTML(uint8_t led_n){
String str = «<!DOCTYPE html> <meta http-equiv=\»content — type\» content=\»text/html; charset = UTF-8 \»>»;
str += «<style>»;
str += «html{font-family: Helvetica; display:inline-block; margin:0px auto; text-align: center;}»;
str += «h1{color: #0F3376; padding:2vh;}»;
str += «p{font-size:1.5rem;}»;
str += «.button{background-color: #e7bd3b; border: none; border-radius:4px; color: white; padding:16px 40px; text-decoration: none; font-size:30px; margin:2px; cursor: pointer;}»;
str += «.button1{background-color: #4286f4;}»;
str += «.form-group {display: inline-block;}»;
str += «</style>»;
str += «</head>»;
str += «<body>»;
if (led_n){
str +=» <h1>LED On</h1>»;
digitalWrite(led, LOW);
}
else{
str +=» <h1>LED Off</h1>»;
digitalWrite(led, HIGH);
}
str += «<div class=\»form-group\»>»;
str += «<p><a href=\»/led_on\»><button class=\»button\»>On</button></a></p>»;
str += «</div>»;
str += «<div class=\»form-group\»>»;
str += «<p><a href=\»/led_off\»><button class=\»button button1\»>Off</button></a></p>»;
str += «</div>»;
str += «</body>»;
str +=»</html>»;
return str;
}

<<—  Предыдущий урок

СОДЕРЖАНИЕ

Следующий урок —>>

<<—  Предыдущий урок

СОДЕРЖАНИЕ

Следующий урок —>>