Skip to content

Instantly share code, notes, and snippets.

@ikizoglu
Created January 17, 2023 12:54
Show Gist options
  • Save ikizoglu/c357205ed3ff4db9d22dc76b4de7102a to your computer and use it in GitHub Desktop.
Save ikizoglu/c357205ed3ff4db9d22dc76b4de7102a to your computer and use it in GitHub Desktop.
NodeMCU LED Kullanımı
// NodeMCU Web Sunucu Üzerinden 2 LED Kontrolü
// *******************************************
#include <ESP8266WiFi.h> //ESP8266 kütüphanemizi tanımladık
const char* ssid = " "; //Bağlantı kurulacak Wifi Ağ Adı
const char* password = " "; //Bağlantı kurulacak Wifi Parola
int led1 = D1; // 1.LED'in pinini led1 olarak tanımladık
int led2 = D2; // 2.LED'in pinini led2 olarak tanımladık
int value1 = LOW; // 1.LED için value1 değeri oluşturup LOW olarak belirledik
int value2 = LOW; // 2.LED için value2 değeri oluşturup LOW olarak belirledik
WiFiServer server(80); // 80 portuyla serveri oluşturduk.
void setup() {
Serial.begin(115200); // Seri port frekansını 115200 olarak belirliyoruz
delay(100);
pinMode(led1, OUTPUT); // 1.LED'i çıkış olarak tanımladık
pinMode(led2, OUTPUT); // 2.LED'i çıkış olarak tanımladık
digitalWrite(led1, LOW); // 1.LED'i başlangıçta kapattık
digitalWrite(led2, LOW); // 2.LED'i başlangıçta kapattık
Serial.println();
Serial.println();
Serial.print("Baglaniliyor.. ");
Serial.println(ssid); // Wifi bağlantısı başlıyor
WiFi.begin(ssid, password); // Ağa bağlantı gerçekleştiriliyor
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi baglandi!");
server.begin(); //Sunucu başlatılıyor
Serial.println("Server başladı");
//Bağlantı sağlandıktan sonra seri monitorde IP adresi görüntüleniyor
Serial.print("Baglanti Linki: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
WiFiClient client = server.available(); // Bağlantının sunucuya bağlı olup olmadığını kontrol ediyoruz
if (!client) {
return;
}
Serial.println("Yeni Baglanti"); // Kullanıcının veri göndermesini bekliyoruz
while(!client.available()){
delay(1);
}
String request = client.readStringUntil('\r'); // Gelen istekleri okuyoruz
Serial.println(request);
client.flush();
// 1.LED için adres satırı komutları
// *********************************
if (request.indexOf("/LED1-ACIK") != -1) {
digitalWrite(led1, HIGH);
value1 = HIGH;
}
if (request.indexOf("/LED1-KAPALI") != -1) {
digitalWrite(led1, LOW);
value1 = LOW;
}
// 2.LED için adres satırı komutları
// *********************************
if (request.indexOf("/LED2-ACIK") != -1) {
digitalWrite(led2, HIGH);
value2 = HIGH;
}
if (request.indexOf("/LED2-KAPALI") != -1) {
digitalWrite(led2, LOW);
value2 = LOW;
}
// HTML kodlarıyla verileri arayüzüne yazıdırıyoruz
client.println("HTTP/1.1 200 OK");
client.println("Content-Type: text/html");
client.println("");
client.println("<!DOCTYPE HTML>");
client.println("<html>");
client.print("<h3>LED Kontrolu</h3>");
client.print("1.LED Durumu: ");
if(value1 == HIGH) {
client.print("ACIK");
} else {
client.print("KAPALI");
}
client.println("<a href=\"/LED1-ACIK\"\"> <button>1.LED'i Yak </button></a>");
client.println("<a href=\"/LED1-KAPALI\"\"> <button>1.LED'i Kapat </button></a>");
client.println("<br>"); //Bir alt satıra geçiş
client.print("2.LED Durumu: ");
if(value2 == HIGH) {
client.print("ACIK");
} else {
client.print("KAPALI");
}
client.println("");
client.println("<a href=\"/LED2-ACIK\"\"><button>2.LED'i Yak </button></a>");
client.println("<a href=\"/LED2-KAPALI\"\"><button>2.LED'i Kapat </button></a>");
client.println("</html>"); // HTML kapanış
delay(1);
Serial.println("Baglanti sonlandi");
Serial.println("");
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment