ESP12E Node V3 Ping dauert lang

Hallo,

ich bin gerade dabei einen neuen Webserver zu bauen. Dabei ist mir aufgefallen das ein Aufruf der Seite, nachdem einigen Minuten vergangen sind , ziemlich lange dauert (2-3s). Ab dem erneuten Aufruf der gleichen Seite geht dann ziemich flott. (<0,5s)

Um der Sache etwas auf den Grund zu gehen habe ich das Ding dann einfach mal angepingt, und siehe da, es zeigt sich das gleiche Verhalten. Bei einem ESP8266-01 der ebenfalls als Webserver läuft ist mir das so extrem noch nicht so aufgefallen. Ich bin da derzeit etwas unsicher , denke eigendlich es kann nicht an meinem code liegen, da es ja ab dem 2. mal flott. Da es sich dabei um einem Ping handelt, kann es auch nicht an dem Webserver liegen,der wird ja nicht aufgerufen. Es könnte sicherlich noch an einem zu langen Loop liegen, und der Wlan System Kram zu selten dran kommt, aber warum nur beim ersten Pingaufruf. ? mit jedem weiteren Ping wird das immer schneller nach dem 4 Aufruf sind es nur noch 5-7ms. Wenn ich dann ein paar minuten Warte dauert es wieder so lang.

Gibts noch was bei der Bordeinstellung in der IDE zu beachten. Hab da die standard Einstellung und auf 1 MB für das Filesystem geändert.
Hat jemand schon mal sowas festgestellt und eventuell eine Lösung.

Hardware

Node V3

Heinz

C:\Users\Heinz>ping 192.168.178.10

Ping wird ausgeführt für 192.168.178.10 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Antwort von 192.168.178.10: Bytes=32 Zeit=109ms TTL=255
Antwort von 192.168.178.10: Bytes=32 Zeit=107ms TTL=255

Ping-Statistik für 192.168.178.10:
    Pakete: Gesendet = 4, Empfangen = 2, Verloren = 2
    (50% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 107ms, Maximum = 109ms, Mittelwert = 108ms

C:\Users\Heinz>ping 192.168.178.10

Ping wird ausgeführt für 192.168.178.10 mit 32 Bytes Daten:
Antwort von 192.168.178.10: Bytes=32 Zeit=91ms TTL=255
Antwort von 192.168.178.10: Bytes=32 Zeit=72ms TTL=255
Antwort von 192.168.178.10: Bytes=32 Zeit=12ms TTL=255
Antwort von 192.168.178.10: Bytes=32 Zeit=58ms TTL=255

Ping-Statistik für 192.168.178.10:
    Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
    (0% Verlust),
Ca. Zeitangaben in Millisek.:
    Minimum = 12ms, Maximum = 91ms, Mittelwert = 58ms
//----------------- WIFI login -----------------------
void WIFI_login() {
  WiFi.persistent(false);   // daten nicht in EEprom
  WiFi.mode(WIFI_STA);
  Serial.printf("Connecting to %s ", ssid);
  WiFi.begin(ssid, password);
  WiFi.config(staticIP, gateway, subnet);
  while (WiFi.status() != WL_CONNECTED)
  {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" connected");
  Serial.print("local IP:");
  Serial.println(WiFi.localIP());

}

Hallo,

hab jetzt noch mal drei Versuche jeweils mehrfach gemacht um auszuschliessen das es doch an meinem Sketch liegt.

  1. mit dem BeispielSketch "Hallo Server"

Ergebniss ähnlich

ester Ping

------------- schnipp

C:\Users\Heinz>ping 192.168.178.43

Ping wird ausgeführt für 192.168.178.43 mit 32 Bytes Daten:
Zeitüberschreitung der Anforderung.
Zeitüberschreitung der Anforderung.
Antwort von 192.168.178.43: Bytes=32 Zeit=142ms TTL=255
Antwort von 192.168.178.43: Bytes=32 Zeit=23ms TTL=255

Ping-Statistik für 192.168.178.43:
Pakete: Gesendet = 4, Empfangen = 2, Verloren = 2
(50% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 23ms, Maximum = 142ms, Mittelwert = 82ms

------------- schnapp ---------------

  1. anschliessend mit einem leeren Sketch

------------- schnipp ----------------

C:\Users\Heinz>ping 192.168.178.43

Ping wird ausgeführt für 192.168.178.43 mit 32 Bytes Daten:
Antwort von 192.168.178.43: Bytes=32 Zeit=185ms TTL=255
Antwort von 192.168.178.43: Bytes=32 Zeit=64ms TTL=255
Antwort von 192.168.178.43: Bytes=32 Zeit=52ms TTL=255
Antwort von 192.168.178.43: Bytes=32 Zeit=42ms TTL=255

Ping-Statistik für 192.168.178.43:
Pakete: Gesendet = 4, Empfangen = 4, Verloren = 0
(0% Verlust),
Ca. Zeitangaben in Millisek.:
Minimum = 42ms, Maximum = 185ms, Mittelwert = 85ms
-------- schnapp ---------------------

  1. Dann habe ich noch mehrmals, jeweils auch mit Pause, den Webserver auf dem ESP8266-01 angepingt, da zeigen sich beim ersten Aufruf immer Ergebnisse um die 100 ms. 2. u 3. Aufruf geht das runter bis auf 3-10 ms. also eigendlch alles ok.

Zusammenfassung:

ESP12E Node V3
mit Hallo Server , erster Ping dauert lange , mit Zeitüberschreitung zwei Pakete verloren

mit leerem Sketch, erster Ping 42-185ms (normal)

ESP8266-01
mit meinem recht umfangreichen Sketch 30-40ms (normal)

Was kann man jetzt daraus schliessen ?.
Hab dazu nicht wirklich eine Idee, Boardeinstellung? Hat noch einer eine Idee ?

IDE Version 1.8.7
ESP core Version 2.50

Noch eine Zusatz Info :

ich habe einen Wemos D1 mit einem BME280 der mit Solarzelle und Aku mit deep Sleep läuft. Der sendet alle 30 minuten die Daten an den Node Webserver. Ich hatte das zuerst mit UDP geplant. Jedoch sind mir die Daten immer verloren gegangen. Wenn ich das zyklisch mit 30s geteste hatte funktonierte das jedoch immer. Ich habe das dann auf TCP umgebaut seitdem klappt das. Jetzt im Nachhinein ist mir klar warum.

Heinz.