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";
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.
@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