- LiFePO4 Speicher Test         
Ergebnis 1 bis 10 von 48

Thema: NodeMCU UDP Paket senden + deepsleep

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.648
    Irgendwo steht doch in Deinem Code: WiFi.begin ...
    Schreib vor diesem Befehl mal versuchsweise: WiFi.forceSleepWake();
    Und wie ist das Ergebnis damit?

    Und nochmal eine andere blöde Frage von mir, weil ich das mit dem nodeMCU noch nicht ausprobiert habe.
    Und zwar: Wenn er aus dem Schlafmodus zurückkehrt, wo läuft das Programm weiter? - Startet der Kontroller komplett neu oder macht er in Loop weiter? Mich irritiert, dass zwar Sachen ausgeschaltet werden, die für die Kommunikation benötigt werden, aber in Loop nicht wieder eingeschaltet werden.


    Ich habe das Problem auch noch anderweitig im Netz gefunden, aber ich denke, das muss abzustellen sein. Es sei denn, das WiFi-Modul wäre defekt oder so, aber das ist es nicht, also muss es eine Lösung geben. Wer baut bitte einen Sleep-Mode ins nodeMCU ein, wenn hinterher das integrierte WiFi nicht mehr richtig funktioniert ...

    Nachtrag: Habs schon gefunden: der ESP startet neu, nach Deep Sleep

    60e6 = 24806 Millisekunden oder wieviel ist das in Sekunden? - 60 sec

    Die serielle Kommunikation (Serial...) bitte mal raus nehmen, die brauchst Du später sowieso nicht. Beschränke mal auf das, was das nodeMCU später tun soll. Nämlich Datenerfassung und per WiFI und UDP verschicken.

    Nachtrag:

    Und zum Schluss vorerst eine andere Vorgehensweise:
    Wenn das nodeMCU startet, sende mal bitte ein Paket an das nodeMCU selber (und nur dieses) und warte bis das angekommen ist. Eigentlich müsste das nodeMCU die Pakete, die per Broadcast gesendet werden, auch wieder empfangen können. Daher würde ich ein Paket mit dem nodeMCU verschicken und prüfen, ob das beim nodeMCU auch an kommt. Wenn nicht, würde ich das Paket nochmal senden und warten ob es dann ankommt. Die Alternative ist eben, das erste "Verfikations"-Paket nur an das nodeMCU zu schicken, dass es auch verschickt. Wenn das erfolgreich war, würde ich schauen, ob danach jedes weitere UDP-Paket im Netzwerk ankommt, das verschickt wird.

    Im Netz werden unterschiedliche Probleme mit dem Deep Sleep beschrieben und jeder hat andere Erfahrungen damit.


    MfG
    Geändert von Moppi (17.11.2018 um 08:01 Uhr)

  2. #2
    HaWe
    Gast
    Zitat Zitat von Moppi Beitrag anzeigen
    Und nochmal eine andere blöde Frage von mir, weil ich das mit dem nodeMCU noch nicht ausprobiert habe.
    Und zwar: Wenn er aus dem Schlafmodus zurückkehrt, wo läuft das Programm weiter? - Startet der Kontroller komplett neu oder macht er in Loop weiter?
    MfG
    er startet dann komplett neu, inkl. setup().

    Der DHT11 ist übrigens auch extrem zickig, er braucht oft bis zu 2sec, bis er nach mehrmaligem Versuch überhaupt Daten liefert, davor ist alles ungültig. Viel bessere Ergebnisse habe ich mit BME280 und BMP280 per i2c.

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.648
    Schön und optimal ist das sicher alles nicht.

    Einer schrieb irgendwo, dass er eben WiFi.forceSleepWake(); VOR WiFi.begin(); eingesetzt hat und es dann funktionierte. Andere stellen fest, dass das nodeMCU erst, nachdem es einmal Daten empfangen hat, Daten sicher verschickt. Obwohl das irgendwie alles nicht richtig ist, finde ich. Praktisch startet das nodeMCU neu mit allem drum und dran - hoffentlich. Dann muss es sich ordentlich und sicher am Netzwerk angemeldet haben und dann sollte man auch Daten verschicken können, ohne dass etwas verloren geht. Wenn das nodeMCU aus einer Batterie versorgt wird, kann es an der Spannungsquelle auch nicht liegen, so wie dann wieder auf einer andern Seite geschrieben wird. Wobei es so sein soll, dass das nodeMCU beim Starten mehr Strom benötigen soll (oder so ähnlich), so dass die Spannungsquelle hier mitspielen muss, dass es nicht zu diffusen Fehlern kommt.

    MfG

  4. #4
    HaWe
    Gast
    ich würde dazu raten, das Problem ganz neu im ESP8266 Forum als issue zu melden - und vorher sicherheitshalber auch auf IDE 1.8.6, den neuesten esp core 2.4.2 und auch die neueste esp8266WiFi lib etc. abzudaten, denn es werden die issues nur bei den jeweils neuesten Versionen von den Entwicklern bearbeitet.

    Es wird dort auch immer ein minimalistischer lauffähiger Test-Sketch verlangt, den würde ich in jedem Falle mit konstanten oder überprüfbaren randomisierten Werten OHNE DHT11 schreiben.

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.648
    Bitte diese Seite mal durchlesen, das Beispiel scheint auch zu funktionieren und Hinweise zu Problemen gibts auch.

    https://www.arduino-hausautomation.d...im-tiefschlaf/

    MfG
    Moppi

  6. #6
    Neuer Benutzer Öfters hier
    Registriert seit
    24.02.2013
    Beiträge
    19
    Hallo zusammen,

    vielen Dank erst einmal für eure tolle Unterstützung!

    Zitat Zitat von Moppi
    Und wie ist das Ergebnis damit?
    Leider konnte ich mit WiFi.forceSleepWake(); keinen Unterschied feststellen.
    Hier ein kurzer Auszug wie ich es eingebaut habe:
    Code:
    void setup() { 
      Serial.begin(115200);
      delay(1000);
      Serial.println("\n\nSerial connection started");
      
      WiFi.forceSleepWake();
      WiFi.mode (WIFI_STA);
      //WiFi.config (IPlocal, IPdns, IPgateway, IPsubnetmask);
    
    
      WiFi.begin(ssid, passphrase);
      while (WiFi.status() != WL_CONNECTED) 
      {
        delay(500);
        Serial.print(".");
        Serial.print(WiFi.status());
      }
      WiFi.printDiag(Serial);
      Serial.print(WiFi.status());
    
      pinMode(12, OUTPUT);
      Serial.printf("Now listening at IP %s, UDP port %d\n\n", WiFi.localIP().toString().c_str(), receiveUdpPort);
      delay(5000);  
    
    }
    Zitat Zitat von Moppi
    Die serielle Kommunikation (Serial...) bitte mal raus nehmen, die brauchst Du später sowieso nicht. Beschränke mal auf das, was das nodeMCU später tun soll. Nämlich Datenerfassung und per WiFI und UDP verschicken.
    Werde ich machen.

    Zitat Zitat von Moppi
    Und zum Schluss vorerst eine andere Vorgehensweise:
    Wenn das nodeMCU startet, sende mal bitte ein Paket an das nodeMCU selber (und nur dieses) und warte bis das angekommen ist. Eigentlich müsste das nodeMCU die Pakete, die per Broadcast gesendet werden, auch wieder empfangen können. Daher würde ich ein Paket mit dem nodeMCU verschicken und prüfen, ob das beim nodeMCU auch an kommt. Wenn nicht, würde ich das Paket nochmal senden und warten ob es dann ankommt. Die Alternative ist eben, das erste "Verfikations"-Paket nur an das nodeMCU zu schicken, dass es auch verschickt. Wenn das erfolgreich war, würde ich schauen, ob danach jedes weitere UDP-Paket im Netzwerk ankommt, das verschickt wird.
    Das klingt gut! Ich werde die Pakete an 127.0.0.1 schicken, falls das funktioniert..

    Zitat Zitat von HaWe
    Der DHT11 ist übrigens auch extrem zickig, er braucht oft bis zu 2sec, bis er nach mehrmaligem Versuch überhaupt Daten liefert, davor ist alles ungültig. Viel bessere Ergebnisse habe ich mit BME280 und BMP280 per i2c.
    Das habe ich auch gelesen und habe deshalb ein delay von 3,5s eingebaut.

    Zitat Zitat von Moppi
    Schön und optimal ist das sicher alles nicht.
    Das sehe ich auch so, denn zu starten und mehr oder weniger nur ein UDP-Paket zu senden ist, denke ich, für ein mit WiFi ausgestatter Mikrokontroler keine überragende Leistung .. Komischer Weise scheint ja das Beispielscetch tadellos zu funktionieren. Also, wo ist der unterschied? In erster Linie sehe ich da nur das zuvor empfangene Paket und das Senden an die RemoteIp + RemotePort...

    Zitat Zitat von Moppi
    Wobei es so sein soll, dass das nodeMCU beim Starten mehr Strom benötigen soll (oder so ähnlich), so dass die Spannungsquelle hier mitspielen muss, dass es nicht zu diffusen Fehlern kommt.
    Das werde ich auch noch mal testen. Bisher hing der ESP immer am USB-Port des Laptops (soweit ich weiß ~500mA?! ) Ich werde mal ein 2A starkes Steckernetzteil nehmen.

    Zitat Zitat von HaWe
    ich würde dazu raten, das Problem ganz neu im ESP8266 Forum als issue zu melden - und vorher sicherheitshalber auch auf IDE 1.8.6, den neuesten esp core 2.4.2 und auch die neueste esp8266WiFi lib etc. abzudaten, denn es werden die issues nur bei den jeweils neuesten Versionen von den Entwicklern bearbeitet.

    Es wird dort auch immer ein minimalistischer lauffähiger Test-Sketch verlangt, den würde ich in jedem Falle mit konstanten oder überprüfbaren randomisierten Werten OHNE DHT11 schreiben.
    Ich werde in der Tat mal alles auf den neuesten Versionsstand bringen. Das Melden hebe ich mir noch auf...

    Zitat Zitat von Moppi
    Bitte diese Seite mal durchlesen, das Beispiel scheint auch zu funktionieren und Hinweise zu Problemen gibts auch.

    https://www.arduino-hausautomation.d...im-tiefschlaf/
    Diese Seite habe ich auch schon studiert

    Leider habe ich nicht durchgängig viel Zeit um an diesem Problem zu arbeiten, ich bemühe mich aber schnell Neuigkeiten zu berichten
    Geändert von d2x (18.11.2018 um 11:07 Uhr)

  7. #7
    HaWe
    Gast
    es reicht nicht, beim DHT11 einfach per delay(3500) zu warten - man muss es mehrfach immer wieder probieren, bis man gültige Werte erhält.

Ähnliche Themen

  1. Welches Paket für "Atom" installieren?
    Von RoboTrader im Forum Arduino -Plattform
    Antworten: 9
    Letzter Beitrag: 18.11.2017, 13:30
  2. nodeMCU zu nodeMCU: keine Kommunikations-Verbindung mehr nach wenigen Minuten
    Von HaWe im Forum NodeMCU-Board und ESP8266, ESP32-Serie
    Antworten: 0
    Letzter Beitrag: 02.10.2017, 14:01
  3. Deepsleep oder Sleep
    Von hubert_K im Forum PIC Controller
    Antworten: 1
    Letzter Beitrag: 02.09.2010, 12:32
  4. 1 Befehl für ein Paket von Befehlen?
    Von stani im Forum AVR Hardwarethemen
    Antworten: 12
    Letzter Beitrag: 10.10.2009, 11:42
  5. Keine RP6-CD im paket
    Von WarChild im Forum Robby RP6
    Antworten: 10
    Letzter Beitrag: 17.04.2009, 18:48

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

fchao-Sinus-Wechselrichter AliExpress