Picproje Elektronik Sitesi

ENDÜSTRiYEL OTOMASYON => IoT => Konuyu başlatan: magnetron - 10 Nisan 2023, 12:44:38

Başlık: Nodemcu webserver post method çalışmıyor
Gönderen: magnetron - 10 Nisan 2023, 12:44:38
merhaba forum,

nodemcu esp8266 ile webserver uygulaması yapmaya çalışıyorum

burada post metodu ile bir checkbox işaretliyse Nodemcu led yakmaya çalışıyorum

bunu gerçekleştirmek için html post metodu kullandım fakat post metodu çalıştıramadım

eğer URL ye O1=1 yazarsam ledi yakabiliyorum

post metod ile yaparsam URL ye O1=1 eklenmiyor - daha doğrusu URL ye hiçbir şey eklenmiyor yani hiçbir argüman eklenmiyor

nasıl yapıcam

teşekkür

(https://i.hizliresim.com/p30rzgl.png)

bu resimde URI: /O1=1 ibaresi benim elle URL ye "192.168.1.105/O1=1" girdiğim an , gönder(submit) butonu ile checkbox işaretlersem çalışmıyor

  server.on("/", handle_OnConnect); //Bağlantı sağlandıktan sonra server kontrolleri.

    server.onNotFound(handleRequest);

void handleRequest() {
   if (server.uri() == "/favicon.ico") {
    return;
  }
   String message = "URI: " + server.uri();
   if (server.args() > 0) {
    for (int i = 0; i < server.args(); i++) {
    message += server.argName(i) + "=" + server.arg(i);
    }
  }
  Serial.println(message);  if (message.indexOf("O1=1")==-1)  Output = 0; else  Output = 1;
  server.send(200, "text/html", HTMLpacket());

}
void handle_OnConnect() {
  Serial.println(server.uri() + server.args());
  Output = 0;
  server.send(200, "text/html", HTMLpacket());
}

    ptr += "<FORM METHOD=POST ENCTYPE=\"text/plain\">\r\n";   //plain
   
    ptr += "<TR><TD><INPUT TYPE=\"checkbox\" NAME=\"O1\" VALUE=\"1\"";
    if (Output) ptr += " CHECKED>O1</TD>\r\n"; else ptr += ">O1</TD></TR>\r\n";


    ptr += "<TR><TD><INPUT TYPE=\"submit\" NAME=\"Submit\"></FORM></TD></TR>\r\n";
    ptr += "</TABLE>\r\n";

    ptr += "</BODY></HTML>\r\n";


Başlık: Ynt: Nodemcu webserver post method çalışmıyor
Gönderen: ttsellertt - 11 Nisan 2023, 11:07:21
server.send fonksiyonu ile message ı değil de HTMLpacket() fonksiyonunu göndermişsiniz. Fakat bu paketin içeriğini de göremedim. Sanki mesajı server.send fonksiyonu ile göndermeniz gerek gibi.
Başlık: Ynt: Nodemcu webserver post method çalışmıyor
Gönderen: magnetron - 11 Nisan 2023, 14:22:22
@ttsellertt hocam cevap için teşekkür

stackoverflow da da yazmıştım

ENCTYPE=\"text/plain\" ibaresini kaldırmamı söylediler

onu yapınca çalıştı

yalnız bu kod ESP-01 de AT komutlarıyla çalışmıştı ona şaşırdım

neyse birilerinin işine yarar inşallah bu mesajım