Nisan 2021 NodeMCU ESP8266 12E (2) 21 Okunma Sayısı: 13968
Merhabalar Bugün sizlerle Arduino da NodeMCU 8266 modülümüzü wifi ye bağlayıp NodeMCU 8266 ya bağlanan 1 adet ledi cep telefonumuzdaki tarayıcı aracılığı ile ledi yakıp söndürmeyi öğreneceğiz.
Bize Gerekli malzemeler:
1-Neler Gerekli?
2-NodeMCU ESP8266 12E Modül modül
3-1 adet led
4-Yeteri kadar jumper kablo (dişi-dişi)
5-Arduino ide derleyici arayüzü kurulu bir bilgisayar
Yapacağımız işlemleri kısaca yazalım.
1-NodeMCU esp8266 12E modülümüzü wifi ye bağlayacağız.
2-NodeMCU esp8266 12e modülümüze arduino derleyici aracılığı ile web Server kurarak yerel ağ üzerinden bağlanıp ledleri yakıp söndürme işlemini yapacağız.
Öncelikle NodeMCU ESP8266 12E modülümüzü wifi ye bağlamadan önce wifi kablosuz ağ güvenlik özelliklerinden wpa2 psk olarak ayarlayalım. Diğer yapılandırmalarda bağlantı sorunları yaşadım.
Yukarıdaki NodeMCU pin yapı şeması arduino deryeci ile program yazarken bazı bilgiler içeriyor.
Örneğin GPIO13 pini==D7 pinine karşılık geliyor. Örneğin biz arduino derleyici de 13. pini kullandığımızda donanım tablosundan da bakarsak NodeMCU modülün de D7 pinini kullanmış oluyoruz.
Daha da açıklayıcı olmak gerekirse; digitalWrite(13,HIGH); komutunu arduino derleyiciye yazdığımız zaman Nodemcu modülündeki D7 pinine lojik 1 bilgisini göndermiş oluruz. Yani d7 pininden 3.3v değerini alıyoruz.
Eğer nodemcu kurulumunu arduino derleyiciye yapmadıysak buraya tıklayarak kurulum makalemize bakablirsiniz.
NodeMCU modülümüzü usb ye bağlayalım driverları falan kurmadıysak kuralım ve bağlantıyı gerçekleştirelim.
CH340 Driver İndir.
CP2102 Driver İndir.
Şimdi ledimizi NodeMCU modülüzün d7 pinine bağlayalım.
Şimdi arduino deryecimize kodumuuzu yazalım.
#include <ESP8266WiFi.h>
const char* ssid = "wifi güvenlik ağ adınız";
const char* password = "wifi güvenlik sifreniz";
int ledPin = 13; // GPIO13 ucu D7 ye karsılık gelir yukarıda anlatıldığı gibi
WiFiServer server(80);// Server bağlantı portumuz
void setup() {
Serial.begin(115200);//BSeri iletişim hızımız
delay(10);//10ms Bekliyoruz
pinMode(ledPin, OUTPUT);//NodeMCU daki d7 pinini çıkış yapıyoruz.
digitalWrite(ledPin, LOW); //NodeMCU daki d7 pinini LOW yapıyoruz.
// Wifi bağlantısı
Serial.println();
Serial.println();
Serial.print("Connecting to ");
Serial.println(ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.println("WiFi connected");
// server baslatılıyor
server.begin();
Serial.println("Server started");
// baglantı saglandıktan sonra serial monitorde bize ip adresini gösteriyor.
Serial.print("Use this URL to connect: ");
Serial.print("http://");
Serial.print(WiFi.localIP());
Serial.println("/");
}
void loop() {
// bir clien istemci bağlı olup olmadığını kontrol ediyoruz
WiFiClient client = server.available();
if (!client) //client bağlantısı yapıldı mı kontrol ediyoruz.
{
return;
}
// client ın bir data gondermesini bekliyoruz
Serial.println("new client");
while(!client.available()){
delay(1);
}
// gelen istekleri okuyoruz
String request = client.readStringUntil('\r');
Serial.println(request);
client.flush();
int value = LOW;
if (request.indexOf("/LED-ACIK") != -1) {
digitalWrite(ledPin, HIGH);
value = HIGH;
}
if (request.indexOf("/LED-KAPALI") != -1) {
digitalWrite(ledPin, LOW);
value = LOW;
}
// bu kısımda html kodlarını internet 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("Led suanda: ");
if(value == HIGH) {
client.print("ACIK");
} else {
client.print("KAPALI");
}
client.println("
");
client.println("<a href=\"/LED-ACIK\"\"><button>ledi yak </button></a>");
client.println("<a href=\"/LED-KAPALI\"\"><button>ledi sondur </button></a>
");
client.println("</html>");
delay(1);
Serial.println("Client disonnected");
Serial.println("");
}
Kodumuzu derlemeden önce kartımı seçelim:
Şimdi NodeMCU nun bağlı olduğu portu seçip yüklemeyi gerçekleştirelim.
Evet şekildeki gibi kartımız wifi bağlantısı kuruldu ve aldığı IP numarasını aldı bize verdi
Verilen İp Numarası ile tarayıcıyı açıyoruz.karşımıza çıkan led yak ve Led Söndür butonlrı ile ledimizi yakıp söndürüyoruz.
Umarım yaralı olmuştur. Hepinize iyi çalışmalar.
Sorularınızı yorumlardan bildiriniz.