12 Dec
12Dec

Merhaba arkadaşlar, en son esp8266 wifi modülü ile server kurup, Merhaba Dünya yazdırmıştık. Şimdi ise biraz daha işleri zorlaştırıp sayfaya 2 tane buton ekleyeceğiz ve bu butonlar yardımı ile Arduino’nun üzerinde 13. dijital pine bağlı ledi yakıp söndüreceğiz.

Yapacağımız işlemlerin çalışma mantığından bahsedersek, önce Hypertext Markup Language(HTML) denilen ve web sayfalarını oluşturmak için kullanılan bir metin işaretleme dilini çok az da olsa kullanacağız. Bu dil, web sayfalarına yazı yazdırma, buton ekleme gibi özelliklere sahip. Bizde ledi yakıp söndüreceğimiz butonları bu dil ile yapacağız. Butona basıldığında açtığımız server, wifi modülümüze bir değer yollayacak ve daha önce belirlediğimiz bu değer geldiğinde led yakıp söndürülecek.

Bu uygulamada kullanacağımız malzemeler şunlar:

Bu malzemelere ek olarak kullanacağımız araçlar şunlardır:

Derse başlamadan önce eğer AT Komutlarının nasıl kullanılacağını bilmiyorsanız buraya tıklayıp ilgili konuyu inceleyebilirsiniz. Veya ESP modülüne özel IP adresini bilmiyorsanız bir önceki yazıdan nasıl bulunacağına bakabilirsiniz.

Derste kullanacağımız HTML kodlarrından bahsetilirse;

Öncelik olarak her html kod parçası, şeklinde büyüktür ve küçüktür işaretleri içine yazılır ve işlem bittikten sonra şeklinde kapatılır.

 Hello World 

 

 : Sayfamız hakkında bilgilerin bulunduğu bir etikettir. 


 :
Satır atlamaya yarar. Bir nevi enter tuşudur. Fakat herhangi bir kapatma komutu yoktur. Yani bu koddan sonra
gibi bir komut yazmayacağız.

şeklinde kapatılması gerekmektedir.

Site içerisine veya buton içerisine bir link verir.

Projede kullanacağımız html kodları bu kadar.

KODLAR:

#define ag_ismi "Wifi Adresi" #define ag_sifresi "Wifi Sifresi" void setup() {  Serial.begin(115200); //Seriport'u açıyoruz. Güncellediğimiz                         //ESP modülünün baudRate değeri 115200 olduğu için bizde Seriport'u 115200 şeklinde seçiyoruz  Serial.println("AT"); //ESP modülümüz ile bağlantı kurulup kurulmadığını kontrol ediyoruz.  pinMode(13,OUTPUT);  delay(3000); //ESP ile iletişim için 3 saniye bekliyoruz.   if(Serial.find("OK")){         //esp modülü ile bağlantıyı kurabilmişsek modül "AT" komutuna "OK" komutu ile geri dönüş yapıyor.     Serial.println("AT+CWMODE=1"); //esp modülümüzün WiFi modunu STA şekline getiriyoruz. Bu mod ile modülümüz başka ağlara bağlanabilecek.     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 = " Hello World ";      metin += "";       metin += "";            String cipsend = "AT+CIPSEND=";      cipsend +="0";      cipsend +=",";      cipsend += metin.length();      cipsend += "\r\n";      Serial.print(cipsend);      delay(500);      Serial.println(metin);      led_yakma();      Serial.println("AT+CIPCLOSE=0");          }  } }
 void led_yakma(){ String gelen =""; char serialdenokunan; while(Serial.available()>0){ serialdenokunan = Serial.read(); gelen +=serialdenokunan;  } Serial.println(gelen); if((gelen.indexOf(":GET /?pin=on")>1)){  //on butonuna basıldığında server adresinde /?pin=on var ise  digitalWrite(13,HIGH);                  //ledi yakar }  if((gelen.indexOf(":GET /?pin=off")>1)){ // off butonuna basıldığında server adresinde /?pin=off var ise  digitalWrite(13,LOW);                    //ledi söndürür } }

KOPYALAYIP YAPIŞTIRABİLİRSİNİZ :))



Yorumlar
* Bu e-posta internet sitesinde yayınlanmayacaktır.
BU SİTE İLE KURULMUŞTUR