esp8266 visualizzare un contatore nel webserver in tempo reale, aiuto.

Ciao a tutti, ho creato un contapersone barriera laser dove ad ogni passaggio un contatore incrementa di numero, questo codice viene inserito dentro l’esp8266 01 attraverso il pin GPIO2, attraverso il codice di esempio helloserver del esp8266webserver vorrei poter visualizzare in tempo reale il contatore, ad ogni incremento del contatore deve essere aggiornato sulla pagina creata, non so come far visualizzare questo contatore, qualcuno può aiutarmi? questo è il mio codice, dove inserisco il contatore per visualizzarlo sulla pagina web del server?

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

#ifndef STASSID
#define STASSID "your-ssid"
#define STAPSK  "your-password"
#endif

const int Inp2=2;//to the GPio2 esp8266
int counter;// the counter of the laser barrier

const char* ssid = STASSID;
const char* password = STAPSK;

ESP8266WebServer server(80);

const int led = 13;

void handleRoot() {
  digitalWrite(led, 1);
  server.send(200, "text/plain", "hello from esp8266!");
  digitalWrite(led, 0);
}

void handleNotFound() {
  digitalWrite(led, 1);
  String message = "File Not Found\n\n";
  message += "URI: ";
  message += server.uri();
  message += "\nMethod: ";
  message += (server.method() == HTTP_GET) ? "GET" : "POST";
  message += "\nArguments: ";
  message += server.args();
  message += "\n";
  for (uint8_t i = 0; i < server.args(); i++) {
    message += " " + server.argName(i) + ": " + server.arg(i) + "\n";
  }
  server.send(404, "text/plain", message);
  digitalWrite(led, 0);
}

void setup(void) {
  
pinMode(Inp2,INPUT);
digitalWrite(Inp2,HIGH);

  pinMode(led, OUTPUT);
  digitalWrite(led, 0);
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);
  Serial.println("");

  // Wait for connection
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.print("Connected to ");
  Serial.println(ssid);
  Serial.print("IP address: ");
  Serial.println(WiFi.localIP());

  if (MDNS.begin("esp8266")) {
    Serial.println("MDNS responder started");
  }

  server.on("/", handleRoot);

  server.on("/inline", []() {
    server.send(200, "text/plain", "this works as well");
  });

  server.onNotFound(handleNotFound);

  server.begin();
  Serial.println("HTTP server started");
}

void loop(void) {

if (digitalRead(Inp2)==LOW) {DealWithSwitchPress();};
};
void DealWithSwitchPress()
{
delay(100);
counter++;
Serial.println(counter);
while (digitalRead(Inp2)==LOW){;};//do nothing while waiting
delay(100);

  server.handleClient();
  MDNS.update();
}

>fifiddu: in conformità al REGOLAMENTO della sezione Italiana del Forum, punto 13, il cross-posting è proibito (anche tra lingue diverse) e tu hai già posto la stessa domanda QUI.

Non solo, in quel thread ti stanno già rispondendo ed è veramente poco cortese abbandonare una discussione e chi ti stava aiutando, per venire di qua a porre la stessa domanda … ::slight_smile:

Poi, NON avendolo tu ancora fatto, ti chiedo cortesemente di presentarti IN QUESTO THREAD (spiegando bene quali conoscenze hai di elettronica e di programmazione ... possibilmente evitando di scrivere solo una riga di saluto :wink:) e di leggere con MOLTA attenzione il REGOLAMENTO.

Infine, per rispetto verso chi ti stava già aiutando nell'altro thread, questo tuo thread viene chiuso e ti prego di continuare dove avevi cominciato. Grazie.

Guglielmo