Введите текст заголовка

<!DOCTYPE HTML><html>
<head>
<title>ESP Web Server</title>
<meta name=»viewport» content=»width=device-width, initial-scale=1″>
<link rel=»icon» href=»data:,»>
<style>
  html {font-family: Arial; display: inline-block; text-align: center;}
  h2 {font-size: 3.0rem;}
  p {font-size: 3.0rem;}
  body {max-width: 600px; margin:0px auto; padding-bottom: 25px;}

  .switch {
      position:relative;
      display:inline-block;
      width:120px;
      height:68px
    }
  .switch input { display:none }

    .slider {
      position:absolute;
      top:0;
      left:0;
      right:0;
      bottom:0;
      background-color:rgb(190, 8, 8);
      border-radius:34px
    }
    .slider:before {
      position:absolute;
      content:»»;
      height:52px;
      width:52px;
      left:8px;
      bottom:8px;
      background-color:rgb(19, 17, 17);
      -webkit-transition:.4s;
      transition:.4s;
      border-radius:68px
    }
    input:checked+.slider{ background-color:#37e714 }
    input:checked+.slider:before {
      -webkit-transform:translateX(52px);
      -ms-transform:translateX(52px);
      transform:translateX(52px)
    }
</style>
</head>
<body>
  <h2>ESP Web Server</h2>

  <h4>Output — GPIO 5</h4>
  <label class=»switch»>  
    <input type=»checkbox» onchange=»toggleCheckbox(this)» %s> 
    <span class=»slider»></span>
  </label>

  <h4>Output — GPIO 4</h4>
  <label class=»switch»>  
    <input type=»checkbox» onchange=»toggleCheckbox(this)» %s> 
    <span class=»slider»></span>
  </label>

 <script>
    function toggleCheckbox(element) {
     var xhr = new XMLHttpRequest();
     if(element.checked){xhr.open(«GET», «/update?output=»+element.id+»&state=1», true); }
     else { xhr.open(«GET», «/update?output=»+element.id+»&state=0», true); }
     xhr.send();
    }
  </script>
</body>
</html>

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

//#include «index.h»
#define LED D0
//const char* ssid = «****»;
//const char* password = «****»;
const char *ssid = «myesp8266»;
const char *password = «12345678»;
ESP8266WebServer server(80);

void handleRoot(){
//String s = webpage;
server.send(200, «text/html», startHTML());
}

void sensor_data(){
int a = analogRead(A0);
int temp= a/4.35;
String sensor_value = String(temp);
server.send(200, «text/plane», sensor_value);
}
void read_data(){
String val=server.arg(«value»);
Serial.println(val);
}
void led_control(){
String state = «OFF»;
String act_state = server.arg(«state»);
if(act_state == «1») {
digitalWrite(LED,HIGH); //LED ON
state = «ON»;
}else{
digitalWrite(LED,LOW); //LED OFF
state = «OFF»;
}
server.send(200, «text/plane», state);
}

void setup(void){
Serial.begin(115200);
// WiFi.begin(ssid, password);
Serial.println(«»);
pinMode(LED,OUTPUT);
// while (WiFi.status() != WL_CONNECTED){
// Serial.print(«Connecting…»);
// }
WiFi.softAP(ssid, password);
IPAddress apip = WiFi.softAPIP();

Serial.println(«»);
// Serial.print(«Connected to «);
// Serial.println(ssid);
// Serial.print(«IP address: «);
// Serial.println(WiFi.localIP());
server.on(«/», handleRoot);
server.on(«/led_set», led_control);
server.on(«/adcread», sensor_data);
server.on(«/but_st»,read_data);
server.begin();
}

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

String startHTML(){
String out = R»=====(
<!DOCTYPE html>
<html>
<style type=»text/css»>
.button {
background-color: #4CAF50; /* Green */
border: none;
color: white;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
</style>
<body style=»background-color: #f9e79f «>
<center>
<div>
<h1>AJAX BASED ESP8266 WEBSERVER</h1>
<button class=»button» onclick=»send(1)»>LED ON</button>
<button class=»button» onclick=»send(0)»>LED OFF</button><BR>
</div>
<br>
<div><h2>
Temp(C): <span id=»adc_val»>0</span><br><br>
LED State: <span id=»state»>NA</span>
</h2>
<br>
<h3>Send data:<br>
<input type=»text» length=10 id=»valdat»/>
<button type=»button» onclick=»sendData()»>sent</button>
</h3>
</div>
<script>
function send(led_sts)
{
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById(«state»).innerHTML = this.responseText;
}
};
xhttp.open(«GET», «led_set?state=»+led_sts, true);
xhttp.send();
}

function sendData()
{
var xhttp = new XMLHttpRequest();
document.getElementById(«valdat»);
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById(«valdat»).innerHTML = this.responseText;
}
};
xhttp.open(«GET», «but_st?value=»+document.getElementById(«vadat»).value, true);
xhttp.send();
}

setInterval(function()
{
getData();
}, 2000);
function getData() {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById(«adc_val»).innerHTML =
this.responseText;
}
};
xhttp.open(«GET», «adcread», true);
xhttp.send();
}
</script>
</center>
</body>
</html>
)=====»;
return out;
}

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

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

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

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