Nyní mám 2 kusy... v obou modulech jsou shodně nahrané stejné programy :
Kód: Vybrat vše
#include <ESP8266WiFi.h>
// Nazev Wi-Fi site, do ktere se mam pripojit
const char* ssid = "Kony";
// Heslo Wi-Fi site, do ktere se mam pripojit
const char* password = "***********";
// Je rele sepnute?
bool rele = false;
// Webovy server pobezi na portu 80 (HTTP komunikace)
WiFiServer server(80);
// Promenna s HTTP pozadavkem z prohlizece
String request;
void setup() {
// Nastartuj seriovou linku, do ktere budu vypisovat provozni informace
Serial.begin(9600);
// Na pin D1 je pripojene rele, nastavim jej tedy na vystup
// Zaroven nastavim nizkée napeti, aby se rele po startu nesepnulo
pinMode(0, OUTPUT);
digitalWrite(0, LOW);
// Pripojeni k Wi-Fi
Serial.println();
Serial.print("Pripojuji k ");
Serial.println(ssid);
WiFi.begin(ssid, password);
// Dokud nejsem pripojeny k Wi-Fi,zapisuj do seriove linky tecky progressbaru
while (WiFi.status() != WL_CONNECTED) {
delay(100);
Serial.print(".");
}
// Jsem pripojeny k Wi-Fi a mohu pokracovat
Serial.println();
Serial.println("WiFi pripojena!");
// Spusteni serveru
server.begin();
Serial.println("Server spusten");
// Napis IP adresu, kterou mikropocitac dostal
Serial.print("Pouzij k pripojeni tuto adresu: ");
Serial.print("http://");
Serial.println(WiFi.localIP());
}
// Smycka loop se opakuje stale dokola
void loop() {
// Pokud ma promenna rele hodnotu pravda, posli na pin D1 vyssi napeti a sepni rele
if (rele == true) digitalWrite(0, HIGH);
else digitalWrite(0, LOW);
// Cekej, dokud se nepripoji nejaky klient
WiFiClient client = server.available();
if (!client) {
return;
}
// Cekej, dokud klient neposle nejaka data
Serial.println("Novy klient!");
while (!client.available()) {
delay(1);
}
// Precti a vypis prvni radek od klienta s URL dotazem
request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
// Pokud je v radku vyraz ON, nastav promennou rele na pravdu
if (request.indexOf("ON") > -1) rele = true;
// Pokud je v radku vyraz OFF, nastav promennou rele na nepravdu
if (request.indexOf("OFF") > -1) rele = false;
// To je vse, ted jeste 1 ms pockam a cela smycka se muze zopakovat
delay(1);
Serial.println("Klient odpojen");
Serial.println("");
}
Kód: Vybrat vše
<!doctype html> <html> <head> <meta charset="utf-8"> <title>Dokument bez názvu</title> </head>
<body>
<table width="200" border="1">
<tbody>
<tr>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$("#buttonzapnuto").click(function(){
$.ajax({url: "http://ipadresazasuvky1/ON", success: function(result){
$("#div1").html(result);
}});
});
$("#buttonvypnuto").click(function(){
$.ajax({url: "http://ipadresazasuvky1/OFF", success: function(result){
$("#div1").html(result);
}});
});
$("#buttonzapnuto2").click(function(){
$.ajax({url: "http://ipadresazasuvky2/ON", success: function(result){
$("#div1").html(result);
}});
});
$("#buttonvypnuto2").click(function(){
$.ajax({url: "http://ipadresazasuvky2/OFF", success: function(result){
$("#div1").html(result);
}});
});
});
</script>
<h2>Zásuvka 1</h2>
<button style="width: 200px; height: 100px;" id="buttonzapnuto" >Zapnout</button>
<button style="width: 200px; height: 100px;" id="buttonvypnuto" >Vypnout</button>
<h2>Zásuvka 2</h2>
<button style="width: 200px; height: 100px;" id="buttonzapnuto2" >Zapnout</button>
<button style="width: 200px; height: 100px;" id="buttonvypnuto2" >Vypnout</button>
</body>
</html>
Tak jsem našel tuto stránku
Kód: Vybrat vše
https://arduino.cz/programovani-webovych-rozhrani-pro-arduino/