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();
}