Esp8266 Nodemcu Wifi Led Control


25.02.2019 10:10:38 Elektronik Projeler Bilgi Yolunda

İnternet hayatımızın hemen hemen her alanını işgal etmiş durumda.Bilgiayarımızdan telefonumuza,tvlerimize kadar nesnelerin internetiyle iç içe yaşamaktayız.Peki bu nesnelerin interneti olayını anlamamız ve hükmetmemizin zamanı gelmedi mi?

Bu projemizde Esp8266(Nodemcu) ile web server üzerinden nesnelerin internetinden faydalıp led kontrolünü gerçekleştireceğiz.Konuya geçmeden önce Esp8266(Nodemcu hakkında bilgi vermek istiyorum.)

ESP 8266 NODEMCU Hakkında

Düşük gerilimli enerjiyle çalışır. Üzerinde çok sayıda bağlantı noktaları vardır. Bu bağlantı noktalarını kullanarak bağlayacağınız başka elektonik bileşenleri yönetebilirsiniz. Barındırığı WiFi sayesinde kolayca IOT yani internet şeyleri olarak bilinen cihazlar yapmanıza olanak sağlar.

Devre Şeması

Devremizi şekilde gibi bağlayoruz.

Arduino Ayarları

ÖNEMLİ:Esp8266 kurulumunuzu arduino ya yapmadıysanız >>buradan>> esp8266 ilk kurulumu gerçekleştiriniz.

Araçlar menüsünden kart seçiminizi gerçekleştirin.


Kart seçiminide doğru bir şekilde yaptıysanız artık Kodlara geçebiliriz.

Devre Kodları

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#include <ESP8266WiFi.h>
//İnternet Baglantısını yapıyoruz.
const char* ssid = "f@tih";
const char* password = "!1qaz2WSX3edc4RFV%56";
 //D2 pinini çıkış pini olarak ayarladık.
int ledPin = D2; 
WiFiServer server(80);

void setup() {
  Serial.begin(115200);
  delay(10);
  pinMode(ledPin, OUTPUT);
  digitalWrite(ledPin, LOW);
  // Wifi ye bağlanıyoruz
  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 Baglandı");
  // Start the server
  server.begin();
  Serial.println("Server başladı");
  // Nodemcu nun ip adresini yazdırıyoruz
  Serial.print("Use this URL to connect: ");
  Serial.print("http://");
  Serial.print(WiFi.localIP());
  Serial.println("/");
} 
void loop() {
  // client adında baglantı oluşturuyoruz.
  WiFiClient client = server.available();
  if (!client) {
    return;
  }
  // Wait until the client sends some data
  Serial.println("new client");
  while(!client.available()){
    delay(1);
  }
 
  // Read the first line of the request
  String request = client.readStringUntil('\r');
  Serial.println(request);
  client.flush();
 
  // İstegiğimizi kontrol ediyoruz.
 
  int value = LOW;
  if (request.indexOf("/LED=ON") != -1)  {
    digitalWrite(ledPin, HIGH);
    value = HIGH;
  }
  if (request.indexOf("/LED=OFF") != -1)  {
    digitalWrite(ledPin, LOW);
    value = LOW;
  }
// Set ledPin according to the request
//digitalWrite(ledPin, value);
 
  // Return the response
  client.println("HTTP/1.1 200 OK");
  client.println("Content-Type: text/html");
  client.println(""); // do not forget this one
  client.println("<!DOCTYPE HTML>");
  client.println("<html>");
  client.println("<meta charset=\"UTF-8\"/>");
  client.print("<span style='font-size:50px;font-weight:bold;'>Led: </span>");
 
  if(value == HIGH) {
    client.print("<span style='font-size:70px;font-weight:bold;color:green;'>ACIK</span>");
  } else {
    client.print("<span style='font-size:70px;font-weight:bold;color:red;'>KAPALI</span>");
  }
  client.println("<br><br>");
  client.println("<a href=\"/LED=ON\"\"><button style='font-size:350%;color:white;font-weight:bold;width:45%;height:200px;border-radius: 40px;background-color:green;box-shadow: 3px 3px 3px #000;'>On </button></a>");
  client.println("<a href=\"/LED=OFF\"\"><button style='font-size:350%;color:white;width:45%;height:200px;border-radius: 25px;margin-left:50px;background-color:red;box-shadow: 3px 3px 3px #000;'>Off </button></a><br />");  
  client.println("</html>");
  delay(1);
  Serial.println("Client disonnected");
  Serial.println("");
}

Devre kodlarımızı nodemcu ya yükleyip Araçlar-SeriPort sekmesinden ip numaramızı takip ediyoruz.

Bağlantılarımız başarılı Web serverımız oluştu. Şimdi IP numaramızı tarayıcıda açabiliriz.

Web serverımız açıldı.Artık ledimizi internetten kontrol edebiliriz.Smile


Robotik Kodlama Eğitimi



Yorum Yap :


Robotik Kodlama Eğitimi

Site içi Arama


En Çok Okunanlar

Sorusu Olan Varmı?

Paylaştıgım video,dosya yada projelerle ilgili sorularınızı buradan sorabilirsiniz.
Not:Projemi siz yaparmısınız demeyin lütfen :)

Sorunuz mu var?