Re: Wifi zásuvka
Napsal: 07 kvě 2020, 10:29
Tak řeším ještě jeden problém a to zasekávání modulu u světla...
Nyní mám 2 kusy... v obou modulech jsou shodně nahrané stejné programy :
na svých webových stránkách mám tento kód pro ovládání :
Zničeho nic přestane jedno z čidel reagovat. Jednou je to modul1 podruhé modul2. Jediné řešení je modul vypnout zapnout z elektriky a vše zase funguje normálně. Není to tak časté jako předtím, ale stejně se stane.
Tak jsem našel tuto stránku moooc se mi toto líbí, protože to je úplně super na MySQL, takže zkusím tyto zásuvky předělat na tento postup.
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/