Страница на этапе разработки
В данном уроке мы настроим микроконтроллер ESP8266 в качестве сервера и будем к нему подключаться как к точке доступа. Настройка микроконтроллера на работу точки доступа очень похожа на обычное подключение, только вместо логина и пароля который мы писали для подключения к WiFi точке мы пишем логин и пароль для подключения к нашему микроконтроллеру.
А командой WiFi.softAP указываем, что микроконтроллер будет работать в качестве сервера.
#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
const char *ssid = «myesp8266»;
const char *password = «12345678»;
//ip adres 192.168.4.1
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() {
Serial.begin(9600);
WiFi.softAP(ssid, password);
IPAddress apip = WiFi.softAPIP();
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() {
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;
}
<<— Предыдущий урок
СОДЕРЖАНИЕ
Следующий урок —>>
<<— Предыдущий урок
СОДЕРЖАНИЕ
Следующий урок —>>