Birinci yazıda, Bağlanılabilecek ağların listesini almıştık.
İkinci yazıda, Serial Ekran’da satır sonu yorumlarına bakmıştık.
Üçüncü yazıda, Kendi WiFi ağımıza katılmış ve ESP’ye ait IP adresini öğrenmiştik.
Dördüncü yazıda, Daha önce manuel yaptığımız işlemleri, Kodlara yaptırmış ve ESP’yi server moduna hazırlamıştık.
Serial.begin ve CWJAP gibi bir defa çalışması gerekli aynı zamanda yeterli olan kodlara setup() fonksiyonu içinde yer vermiştik.
Şimdi, herhangi bir basit elektrikli cihazdan gelişmiş bir elektronik cihaza, programların port dinleme mantığından dillerin _main_ fonksiyonlarına kadar pek şey etkileyen şeye sıra geldi: loop()
Günlük hayatta atıyorum tv kumandasının ses açma düğmesine basıp geçiyoruz. Oysa o anda arka planda çokça olay gerçekleşiyor. Bu işlerle uğraşmaya başladığımdan bu yana fark ediyorum ki, evdeki kumandada yazılımcının hatası var. Sebebinin loop() fonksiyonunu tam içselleştirememesi olması diye düşünüyorum.
Loop bilindiği üzere döngü demek. Arduino gibi cihazlarda loop şu demek:
While (cihazda elektrik varsa) {sonsuza kadar dönüp dur}
Burayı iyi kavramak gerekiyor. SÜREKLİ bir döngünün içindeyiz. “Şu olursa, şunu yap” dediğimizde iş BİTMİYOR. Başa dönüp, “Şu olursa, şunu yap” işlemini yeniden yapıyor. Kod yazarken buna dikkat etmek işlerin daha sağlıklı ilerlemesini sağlayacaktır.
Yukarıdaki mantıktan hareketle, yapılacak işlemleri belli bir koşula bağlayalım.
Serial’den iletişim yapabiliyor muyuz.
Güzel. Ama kartımızda arıza yoksa buradan hep Evet yanıtı gelecek. Bu yüzen hem koşulla sınırlandıralım hem de ESP’den gelen yanıt içinde Server’lığa hazır mı bakalım.
Buradan Evet gelmesi heyecanlı zira, Uzaktaki cihazın yönetim ekranını yapıp sunacağız demek.
HTML’e vakıf olanlar için şekerleme tadında olan, basit bir sayfa hazırlıyoruz.
Evet, hayli ilkel fakat işlevsel 😉
Kodlarımız şöyle:
<h3>TOST MAKİNASI KONTROL </h3>
<br><a href=\” ?pin=on\”><button type=’button’>AC</button></a>
<br>
<br><a href=\” ?pin=off\”><button type=’button’>KAPAT</button></a>
ESP’nin data Transferi olarak bunları sunabilmesi için bir değişkene atayıp, AT+CIPSEND ile gönderim yapmasını sağlıyoruz.
Dikkat edilirse aslında asıl komutumuz AT+CIPSEND
Burada diyoruz ki Sana şu kadar bilgi göndereceğim. //manuel olarak yazmak yerine length() ile ölçüyoruz.
Ardından da kast ettiğimiz bilgiyi gönderiyoruz.
Böylece, WiFi ağında, ESP’nin IP adresine girdiğimizde, hazırlamış olduğumuz Html Yönetim sayfasını göreceğiz.