Обновление сервера с помощью ESp8266 с нажатой кнопкой направления IN

Я подключил 5-позиционный тактильный переключатель к модулю ESP8266 и использую Arduino IDE для создания автоматически обновляемого веб-сервера, который отображает направление нажатия кнопки при нажатии. В настоящее время веб-страница отображает первое направление, в котором была нажата кнопка, но не обновляет страницу после того, как я нажимаю кнопку еще несколько раз. Ниже мой код:

#include <ESP8266WiFi.h>
#include <WiFiClient.h>
#include <ESP8266WebServer.h>
#include <ESP8266mDNS.h>

//информация о ssid и пароле, здесь опущена по понятным причинам

int upPin = 5; 
int leftPin = 4; 
int centerPin = 0; 
int rightPin = 2; 
int downPin = 14; 

ESP8266WebServer server ( 80 );

void handleRoot() {
    server.send(200, "text/html", "<html>\
  <head>\
    <meta http-equiv='refresh' content='1'/>\
  </head>\
  <body>\
  </body>\
</html>");   // Отправляем HTTP-статус 200 (ОК) и отправляем некоторый текст на
browser/client
}

void setup(){
 Serial.begin ( 115200 );
 WiFi.mode ( WIFI_STA );
 WiFi.begin ( ssid, password );

 server.on ( "/", handleRoot );
 server.on ("/", button );
 server.begin();

void loop(void){
  server.handleClient(); 
  button(); 
}

void button(){
  if (digitalRead(rightPin) == LOW)
  {
    server.send(200, "text/html", "<p>*RIGHT#</p>");
    delay(10);
  }

  if (digitalRead(leftPin) == LOW)
  {
    server.send(200, "text/html", "<p>*LEFT#</p>");
    delay(10);   
  }

  if (digitalRead(upPin) == LOW)
  {
    server.send(200, "text/html", "<p>*UP#</p>");
    delay(10);
  }


  if (digitalRead(downPin) == LOW)
  {
    server.send(200, "text/html", "<p>*DOWN#</p>");
    delay(10);
  } 

  if (digitalRead(centerPin) == LOW)
  {
    server.send(200, "text/html", "<p>*CENTER#</p>");  
    delay(10);
  }

}

, 👍1

Обсуждение

так / это корень или кнопка? ты постоянно держишь переключатель?, @Juraj


1 ответ


1

Я изменил код, чтобы функция кнопки выполнялась с символом "/", и убрал строку server.on("/", handleRoot) благодаря @Juraj. Вздох

,