NodeMCU kullanarak oluştuğumuz webserver ile, Esp8266 kart üzerindeki lede komutlar göndereceğiz.
Aşağıda yer alan kod üzerinde yer alan
const char* ssid = ""; // Bağlanılacak Wifi Adı const char* pwd = ""; // Bağlanılacak Wifi Şifresi
satırlarında bulunan bilgileri girmeniz gerekiyor, kartımızın bağlanacağı kablosuz ağa ait olan bilgiler kullandığınız wifi bağlantı noktasının ismi ve parolasıdır. Lütfen bu bilgileri çift tırnak içerisine yazdığınızdan emin olun.
Bu bilgileri girdikten sonra kodu kartımıza yükleyebiliriz. Yine Tools -> Board-> ESP8266 Boards menüsünden Generic ESP 8266 module seçili olduğundan ve Port kısmından karta ait doğru portu seçtiğinizden emin olun. Yüklemeyi gerçekleştirdikten sonra Arduino IDE üzerinden Tools -> Serial Monitor (Araçlar -> Seri Ekran) 'ü açarak, wifi modeminizin kartımıza tanımladığı ip adresine ulaşabiliriz.
NodeMCU erişim IP adresi
http://192.168.1.39/
client.println("");
client.println("</h1><a href='/LED-ACIK'><button>Ledi YAK</button></a>");
if (request.indexOf("/LED-KAPALI") != -1) { digitalWrite(ledPin, LOW); led = 0; }
/* * ServerLEDControl.ino * * Led control over NodeMcu webserver * * Author Hakan ÖZMEN * 21.03.2021 * * www.devrelerim.com * www.youtube.com/HakkanR * video of code : https://youtu.be/U-U49xkXW6o */ #include <ESP8266WiFi.h> const char* ssid = ""; // Bağlanılacak Wifi Adı const char* pwd = ""; // Bağlanılacak Wifi Şifresi uint8_t ledPin = 4; WiFiServer server(80); void setup() { Serial.begin(115200); delay(10); pinMode(ledPin, OUTPUT); digitalWrite(ledPin, LOW); //Wifi bağlantısı Serial.println(); Serial.print(ssid); Serial.println(" erişim noktasına bağlanılıyor."); WiFi.begin(ssid, pwd); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } server.begin(); Serial.println("Sunucu başlatıldı."); Serial.println("NodeMCU erişim IP adresi"); Serial.print("http://"); Serial.print(WiFi.localIP()); Serial.println("/"); } void loop() { WiFiClient client = server.available(); if (!client) return; Serial.println("Bir kullanıcı sunucuya bağlandı."); while (!client.available()) delay(1); boolean led = 0; String request = client.readStringUntil('\r'); Serial.println(request); client.flush(); if (request.indexOf("/LED-KAPALI") != -1) { digitalWrite(ledPin, LOW); led = 0; } if (request.indexOf("/LED-ACIK") != -1) { digitalWrite(ledPin, HIGH); led = 1; } if (request.indexOf("/LED-BLINK") != -1) { for (uint8_t a = 0; a<3; a++) { digitalWrite(ledPin, HIGH); delay(500); digitalWrite(ledPin, LOW); delay(500); } led = 0; } client.println("HTTP/1.1 200 OK"); client.println("Content-Type: text/html;charset=utf-8"); client.println("<!DOCTYPE HTML>"); client.println(""); client.println("<html>"); client.print("<h1>Led Şuanda "); if (led) client.println("YANIYOR"); else client.println("YANMIYOR-SÖNÜK"); client.println("</h1><a href='/LED-ACIK'><button>Ledi YAK</button></a>"); client.println("<a href='/LED-KAPALI'><button>Ledi KAPAT</button></a>"); client.println("<a href='/LED-BLINK'><button>Led BLINK</button></a>"); client.println("</html>"); delay(1); Serial.println("Kullanıcı bağlantısı kesildi."); }