ESP 8266 Wifi kontrollerade Home Automation (5 / 5 steg)
Steg 5: Att göra en webbplats kontrolleras Home automation
Anslutningar
Led är ansluten till GPIO 2
TX är ansluten till Rx
RX är ansluten till Tx
VCC till 3.3V gnd till gnd
Ch_pd till 3.3V
GPIO 0 till gnd medan programmering
< p > #include < ESP8266WiFi.h >< br >< /p >< p > const char * ssid = "dlink";
CONST char * lösenord = "ilovechips"; < /p >< p > int ledPin = 2; GPIO2
WiFiServer server(80); < /p >< p > void setup() {
Serial.BEGIN(115200);
Delay(10); < /p >< p > pinMode (ledPin, produktionen);
digitalWrite (ledPin, låg); < /p >< p > / / ansluta till WiFi-nätverk
Serial.println();
Serial.println();
Serial.Print ("ansluter till");
Serial.println(SSID); < /p >< p > WiFi.begin (ssid, lösenord); < /p >< p > medan (WiFi.status()! = WL_CONNECTED) {
Delay(500);
Serial.Print(".");
}
Serial.println("");
Serial.println ("WiFi-anslutna"); < /p >< p > / / starta servern
Server.BEGIN();
Serial.println ("Server började"); < /p >< p > / / Skriv ut IP-adressen
Serial.Print ("Använd denna URL för att ansluta:");
Serial.Print("http://");
Serial.Print(WiFi.localIP());
Serial.println("/"); < /p >< p >} < /p >< p > void loop() {
Kontrollera om en klient har anslutit
WiFiClient klient = server.available();
om (! klient) {
hemkomst.
} < /p >< p > / / vänta tills klienten skickar vissa data
Serial.println ("ny kund");
While(!client.available()) {
Delay(1);
} < /p >< p > / / läsa den första raden i begäran
Sträng begäran = client.readStringUntil('\r');
Serial.println(Request);
client.flush(); < /p >< p > / / matchar begäran < /p >< p > int värde = låg;
om (request.indexOf("/LED=ON")! = -1) {
digitalWrite (ledPin, hög);
värde = hög;
}
om (request.indexOf("/LED=OFF")! = -1) {
digitalWrite (ledPin, låg);
värde = låg;
} < /p >< p > / / Set ledPin enligt begäran
digitalWrite (ledPin, värde); < /p >< p > / / tillbaka svaret
client.println ("HTTP/1.1 200 OK");
client.println ("Content-Type: text/html");
client.println(""); Glöm inte den här
client.println("");
client.println("
"); < /p >< p > client.print (" Led stift är nu: "); < /p >< p > if(value == HIGH) {
client.Print("on");
} annat {
client.Print("off");
}
client.println ("< br >< br >");
client.println ("Klicka < a > här < /a > Aktivera LED på stift 2 på < br >");
client.println ("Klicka < a > här < /a > Aktivera LED på pin 2 OFF < br >");
client.println ("< /p >< p >"); < /p >< p > delay(1);
Serial.println ("klient disonnected");
Serial.println(""); < /p >< p >} < /p >