Menu Degisken sayi degistirme ESP8266
  • merhaba, başlıktada belirttiğim gibi Aşağıdaki örnek koddaki gibi menu değişkenim var. /?pin=on a bastığımda Menu 1 , /?pin=off a bastigimda ise menu 2 olmasını ve menu 1 ve 2 deki ledin veya rolenin çalışmasını istiyorum. Fakat aşağıdaki kod ile menu değişkeni Serial de gördüğüm kadarı ile pin=on a bastığım da da pin =off a bastığımda da menu sayısı değişmiyor. ve hep 1 ve 2 sırası ile oluyor ve sürekli çalışıyor. belli bir süre sonra da ESP komut almıyor. Nasıl yapabilirim acaba. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- [code] #define ag_ismi "Wifi kullanici" #define ag_sifresi "Wifi Sifre" int menu = 1; 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(3,OUTPUT); pinMode(4,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,333\r\n"); delay(1000); } void loop(){ if(menu = 1){ digitalWrite(4, LOW); } if(menu = 2){ digitalWrite(4, HIGH); } if(Serial.available()>0){ if(Serial.find("+IPD,")){ String metin = "<head> Hello World </head>"; metin += "<br><a href=\" ?pin=on\"><button type='button'>ON</button></a>"; metin += "<br><a href=\" ?pin=off\"><button type='button'>OFF</button></a>"; 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(3,LOW); //ledi yakar menu = 1; } if((gelen.indexOf(":GET /?pin=off")>1)){ // off butonuna basıldığında server adresinde /?pin=off var ise digitalWrite(3,HIGH); //ledi söndürür menu = 2; } }

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Açık kaynak kültürü gereği, çözdüğünüz problemlerin çözümlerini paylaşmayı lütfen unutmayın.