5.00 / 1 oy

Arduino ve ESP8266 ile WiFi Üzerinden Led Yakmak

ESP8266 wifi modülü ile modeme bağlandık ve IP adresi aldık; sıra uzaktan komut göndererek bir led ışığı yakıp söndürmeye geldi. Kurulum yazısına ek olarak bir direnç üzerinden bir led ekleyelim:

arduino wifi ledKodlarımızı da aşağıdaki gibi güncellediğimizde karşımıza modem üzerinden IP adresi ile bağlantı kurduğumuzda şöyle bir HTML sayfa çıkacak:

arduino wifi led yak söndür html

Tahmin edebileceğiniz gibi yak linkine bastığınızda led ışık yanacak, söndür ışığına basınca da led ışık sönecek. bu kodlarda önceki örnekten farklı olarak html head alanı içinde Tütkçe karakter desteği olabilmesi için karakter seti bilgileri de yer alıyor. Projemizi adım adım geliştireceğiz ve arayüz de ilerleyen örneklerde daha şık olacak :)

 

Proje Kodları:

#define ag_ismi "xxx"
#define ag_sifresi "xxx"

void setup()
{
  Serial.begin(115200);
  Serial.println("AT");
  pinMode(13,OUTPUT);
  delay(3000);
 
  if(Serial.find("OK")){
     Serial.println("AT+CWMODE=1");
     delay(2000);
     String baglantiKomutu=String("AT+CWJAP=\"")+ag_ismi+"\",\""+ag_sifresi+"\"";
     Serial.println(baglantiKomutu);
     delay(5000);
 }
 
   Serial.print("AT+CIPMUX=1\r\n");
   delay(200);
   Serial.print("AT+CIPSERVER=1,80\r\n");
   delay(1000);
}
void loop(){
  if(Serial.available()>0){
    if(Serial.find("+IPD,")){ 
      String metin ="<HTML><head>"
      "<meta http-equiv='Content-Type' content='text/html; charset=UTF-8'/>"
      "</head> "
      "<h1>LED UYGULAMASI</h1>";   
      metin += "<br><a href=\" ?durum=yak\" class=\"btn btn-success\">YAK</a>"; 
      metin += "<br><a href=\" ?durum=sondur\" class=\"btn btn-danger\">SÖNDÜR</a></html>"; 
      String cipsend = "AT+CIPSEND=";
      cipsend +="0";
      cipsend +=",";
      cipsend += metin.length();
      cipsend += "\r\n";
      Serial.print(cipsend);
      delay(500);
      Serial.println(metin);
      ledYak();
      Serial.println("AT+CIPCLOSE=0");
    }

  }
}

void ledYak(){
   String gelen ="";
   char serialdenokunan;
   while(Serial.available()>0)
   {
     serialdenokunan = Serial.read();
     gelen +=serialdenokunan;
   }
   
   Serial.println(gelen);
   if((gelen.indexOf(":GET /?durum=yak")>1)){
    digitalWrite(13,HIGH);
   }
    if((gelen.indexOf(":GET /?durum=sondur")>1)){
    digitalWrite(13,LOW);
   }
 }

 

mr. faruk

08.06.2020 14:15

Bu soruya sadece kayıtlı kullanıcılar yanıt yazabilirler. Yanıt yazmak için lütfen giriş yapınız.

Reitix
Arduino ve ESP8266 ile WiFi Üzerinden Led Yakmak

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.