INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Webserver: Warten auf Eingabe und gleichzeitiger Countdown
09.08.2019, 12:30 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2019 12:33 von schnipsel82.)
Beitrag #1
Webserver: Warten auf Eingabe und gleichzeitiger Countdown
Ich habe einen Webserver für mein nodeMCU mit der Arduino-Software programmiert, der auf Eingaben wartet, gleichzeitig soll aber nun auch ein Countdown auf dem Client ablaufen.

Das geht aber nicht, da der Webserver ja primär erstmal auf eine Eingabe wartet.
Es soll eine Uhr von 120 Sekunden heruntergezählt werden, die aber quasi durch einen Klick auf eine Schaltfläche unterbrochen werden kann.

Wie lässt sich das realisieren?

Hier ein Ausschnitt aus dem Code, der ein paralleles Herunterzählen eines Counters verhindert:

Code:
void loop()
{
  WiFiClient client = server.available();
  if (!client) return;
  
  unsigned long ultimeout = millis()+250;
  while( !client.available() && (millis()<ultimeout) ) delay(1);
  if(millis()>ultimeout)
  {
    Serial.println("client connection time-out!");
    return;
  }
  
  String sRequest = client.readStringUntil('\r');
  client.flush();

  if(sRequest=="")
  {
    client.stop();
    return;
  }
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2019, 12:56 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2019 12:57 von Tommy56.)
Beitrag #2
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
Schau Dir mal den ESP8266WebServer und seine Beispiele an.
Die hast Du auch in den Beispielen der IDE.
Damit geht es.

Mit Codefragmenten ist übrigens schlecht Hilfe zu leisten.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2019, 14:58
Beitrag #3
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
(09.08.2019 12:30)schnipsel82 schrieb:  ...gleichzeitig soll aber nun auch ein Countdown auf dem Client ablaufen.

Das geht aber nicht, da der Webserver ja primär erstmal auf eine Eingabe wartet.

Dem Server dürfte es ziemlich egal sein ob auf dem Client ein Countdown abläuft.

Wer ist der Client?
Ein andere Esp.... oder ein Browser oder wer?

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
09.08.2019, 15:17 (Dieser Beitrag wurde zuletzt bearbeitet: 09.08.2019 15:17 von Tommy56.)
Beitrag #4
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
@Fips: Wieder mal ein Beweis, wie fehlertolerant man liest. Ich hatte den Client in Server umgemünzt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.08.2019, 06:42
Beitrag #5
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
(09.08.2019 15:17)Tommy56 schrieb:  @Fips: Wieder mal ein Beweis, wie fehlertolerant man liest. Ich hatte den Client in Server umgemünzt.

@Tommy: Vermutlich hast du das herausgelesen was der TO eigentlich meinte.

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.08.2019, 07:58
Beitrag #6
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
Naja, mein eigentliches Projekt ist viel zu umfangreich als dass ich es jemanden zumuten möchte alles durchzudenken und das meiste davon funktioniert ja auch - daher der Ausschnitt.

Und ja: der Countdown soll schon im Server stattfinden. Denn dieser soll nicht nur auf dem Handy (als Client), sondern gleichzeitig auch auf einem am nodemcu angeschlossenen Display angezeigt werden. Während der Countdown abläuft möchte ich diesen aber auch auf dem Handy unterbrechen können (z.B. mit einer Schaltfläche "Stopp", o.ä.).

Ich habe derzeit ein Sketch in Anlehnung an die Beispiele der Bibliothek ESP8266WebServer am Laufen. Das funktionierte bisher bestens. Allerdings wartet der Server an der Stelle "...readStringUntil('\r')" auf eine Reaktion des Clients, was die gleichzeitige Darstellung des Countdowns verhindert. Genau das ist mein Problem...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.08.2019, 09:05
Beitrag #7
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
(10.08.2019 07:58)schnipsel82 schrieb:  Naja, mein eigentliches Projekt ist viel zu umfangreich als dass ich es jemanden zumuten möchte alles durchzudenken.

Tja, dann wirst du es selbst machen müssen.

(10.08.2019 07:58)schnipsel82 schrieb:  Allerdings wartet der Server an der Stelle "...readStringUntil('\r')" auf eine Reaktion des Clients

Ohne Sketch, würde ich sagen, dann mach es anders.

Dein Vorhaben, einen Countdown und einen Server auf deinem Esp... laufen zu lassen, ist ganz sicher machbar.
Den Countdown von einem Client aus, per Taster oder Button, zu Stoppen auch.
Vorausgesetzt dein Sketch läuft ohne Unterbrechungen/warten.

Gruß Fips

Meine Esp8266 & ESP32 Projekte
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
10.08.2019, 09:51
Beitrag #8
RE: Webserver: Warten auf Eingabe und gleichzeitiger Countdown
readStringUntil('\r') blockiert, das darfst Du nicht verwenden.
Die Lösung habe ich Dir in #2 aufgezeigt.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
Question ESP32 Webserver Problem opitzh 31 1.064 28.11.2019 16:27
Letzter Beitrag: Tommy56
  [Vorstellung] ESP8266 Webserver mit AJAX Tommy56 20 13.405 28.11.2019 11:33
Letzter Beitrag: Tommy56
  Webserver für ESP8266-01 Herby0107 6 731 09.10.2019 20:49
Letzter Beitrag: Herby0107
  ESP32 Webserver download mehrerer Dateien Eisvogel 1 627 11.06.2019 10:42
Letzter Beitrag: Tommy56
  Webserver sporadisch down shrimps 16 2.958 14.05.2019 17:46
Letzter Beitrag: Fips
  Async Webserver Button mit Inhalt shrimps 9 2.918 27.04.2019 07:37
Letzter Beitrag: Fips
  NodeMCU12E mit UDP Client & UDP Server & Webserver rkuehle 6 4.346 10.02.2019 20:52
Letzter Beitrag: Tommy56
  ESP8266 als SPIFFS/Webserver soll Daten verarbeiten TiRe 23 5.641 23.01.2019 08:03
Letzter Beitrag: Fips
  Via Webserver GPIO schalten arguido 1 2.509 05.05.2018 11:19
Letzter Beitrag: Tommy56
  Einfacher Webserver Nodemcu Esp8266 Onboard Led (Pin) schalten Fips 31 16.488 06.01.2018 20:41
Letzter Beitrag: Tommy56

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste