Evet, bir web sunucusu kullanmadan ESP8266'ya veri gönderebilirsiniz, ancak bir tane kullanmak veya biriyle işlevsel olarak ilgili bir şey kullanmak isteyebilirsiniz.
Bir ESP8266 dolayısıyla, WiFi radyo ve bir ağ yığını ile oldukça genel amaçlı hesaplama cihazı olan edebilir kodda tarif etmek bakım makul protokolü hakkında sadece uygulamak.
Bununla birlikte, insan tüketimine yönelik minyatür web sayfalarına çok benzeyen ve hareket eden protokollerin uygulanması oldukça popüler hale gelmiştir.
yani, müşterinizin bağlantı kurması ve bunun gibi bir şey yapması yerine,
GET /index.html HTTP/1.1
söyleyebilir
GET /gpio/15/value HTTP/1.1
URL, belirli bir dokümana değil, cihazdaki erişmek istediğiniz bir veri parçasına karşılık gelir. Aşağıdakiler için benzer şeyler yapabilirsiniz POST
, PATCH
, DELETE
vb istekleri.
İnsan tüketimi için bir sayfa oluşturmadığınız sürece, alıp verdiğiniz veriler HTML sayfaları olmaz. Genellikle bunun yerine JSON gibi bir şey olabilir. Yani mesela
GET /gpio/15/value HTTP/1.1
gibi bir yanıtı tetikleyebilir
{"gpio": 15, "direction": "in", "value": 0}
Benzer şekilde, müşterinizin GPIO ayarlayabileceği bir uç nokta yapabilirsiniz.
POST /gpio/15 HTTP/1.1
{"direction": "out", "value": 1}
Bu tür sorguları yanıtlayan program bir "web sunucusu" ise, bir dereceye kadar anlamsal veya uygulamaya özgü bir sorudur - veriler ve gpios'larla başa çıkmak için çeşitli yardımcı görevleri çalıştıran bir web sunucusu olabilir (sayfaların sunulduğu bir sunucunun dinamik olarak içeriklerinin bir kısmını veritabanı sorgularından oluşturabilir) veya hem verilerle ilgilenen hem de HTTP'nin nasıl konuşulacağını bilen özel bir program olabilir.
Ve elbette, JSON yüklerini değiştirmek için HTTP kullanmak, işleri yapmanın birçok yolundan sadece biridir - sadece web sunucusu benzeri kavramları yeniden kullanan ve bir dereceye kadar bir web tarayıcısının kullanımına izin verebilecek olan şu anda popüler olanıdır. test için.
Ayrıca, telefon ve ESP8266 aynı ev WiFi ağının istemcileri olduğunda, böyle bir şemanın en iyi yerel olarak çalışma eğiliminde olduğunu unutmayın. Telefon "evde" değilse veya sadece mobil bir şebekedeyse, ESP8266'ya ulaşmasına izin vermek, ev ağına harici isteklere izin vermek anlamına gelir, tercihen bir şey kaçınılmalıdır. Bu durumda, hem ESP8266 cihazının hem de telefonun bağımsız olarak aralarında mesaj ileten harici bir röle sunucusuna ulaştığı bir protokol kullanmak oldukça popülerdir. MQTT, geçiş sunucusu tabanlı bir mimariye sahip bir sistem için sıklıkla kullanılan bir şema örneğidir.