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
  ESP32 Webserver download mehrerer Dateien Eisvogel 1 376 11.06.2019 10:42
Letzter Beitrag: Tommy56
  Webserver sporadisch down shrimps 16 2.327 14.05.2019 17:46
Letzter Beitrag: Fips
  Async Webserver Button mit Inhalt shrimps 9 2.141 27.04.2019 07:37
Letzter Beitrag: Fips
  NodeMCU12E mit UDP Client & UDP Server & Webserver rkuehle 6 3.849 10.02.2019 20:52
Letzter Beitrag: Tommy56
  ESP8266 als SPIFFS/Webserver soll Daten verarbeiten TiRe 23 4.601 23.01.2019 08:03
Letzter Beitrag: Fips
  Via Webserver GPIO schalten arguido 1 2.118 05.05.2018 11:19
Letzter Beitrag: Tommy56
  Einfacher Webserver Nodemcu Esp8266 Onboard Led (Pin) schalten Fips 31 14.506 06.01.2018 20:41
Letzter Beitrag: Tommy56
Lightbulb Sonoff WiFi Wireless Switch per Webserver vom Tablet oder Smartphone aus schalten Fips 1 6.232 12.09.2017 20:45
Letzter Beitrag: Fips
  [Vorstellung] ESP8266 Webserver mit AJAX Tommy56 19 11.570 03.07.2017 12:09
Letzter Beitrag: Tommy56
  ESP8266 warten auf Datenemfang (seriell) RaLach 2 2.216 07.04.2017 21:01
Letzter Beitrag: SkobyMobil

Gehe zu:


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