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:
Kodları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:
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);
}
}