- Akku Tests und Balkonkraftwerk Speicher         
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
    Neuer Benutzer Öfters hier
    Registriert seit
    24.02.2013
    Beiträge
    19
    So, ich habe mich mal wieder mit dem Thema beschäftigen können.

    Ein anderes Netzteil bringt keinen Unterschied

    Was ich inzwischen herausgefunden habe:
    Wenn deepSleep nur einen Durchlauf zulässt, scheint das Senden noch nicht sofort zu funktionieren. Wenn ich 20..30 Pakete vorher an einen anderen Port sende, dann kommt die Nachricht an. (Man könnte die Pakete auch an den gleichen Port senden.) Ich habe diese per For-Schleife geschickt bevor ich meine Nachricht geschickt habe. Ich werde jetzt mal probieren, das deepSleep in eine if-Abfrage zu stecken, damit die loop-Schleife ein paar Runden drehen kann bevor ich meine Nachricht sende. Mal sehen ob ich das morgen mal schaffe. Ich melde mich dazu.
    Fakt ist, inzwischen bekomme ich es relativ zuverlässig hin, Pakete per UDP mit deepSleep zu senden. Die Lösung ist bisher allerdings noch etwas hässlich und daher werde ich das oben genannte die Tage mal probieren.
    Gruss

  2. #2
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.669
    Guten Morgen d2x,

    prima, dass Du dran geblieben bist!

    Stichwort eingesetzte Bibliotheken:
    Mit einem ATmega328P habe ich auch Probleme mit den Sleep-Modi. Nicht dass es nicht funktioniert, nur mit der Stromaufnahme, die nicht "weit genug" sinkt. Hier ist es mir so ergangen, dass die "sleep.h" und die "power.h" verwendet werden - jedenfalls in den meisten Beispielen, die ich im Internet fand. Ich fand dann noch eine Anleitung, die diese Bibliotheken umgeht und auch in den Deep-Sleep-Power-Down wechselt und zwar mit deutlich mehr Stromersparnis.

    MfG
    Geändert von Moppi (23.11.2018 um 08:28 Uhr)

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    24.02.2013
    Beiträge
    19
    Update:
    Die oben genannten Maßnahmen führen zwar dazu, dass zu 95% das Paket ankommt, hin und wieder reichen aber selbst 150 vorab gesendete Pakete nicht aus. Diese sind dann inklusive meinem Paket mit den Daten verloren.

  4. #4
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.669
    Wenn Du den Sleep-Mode nutzt, geht das doch bei nodeMCU nur per Reset, weil was anderes nicht funktioniert - hatte ich so gelesen.
    Probiere mal ohne den Sleep-Modus und mache mit einem Taster am nodeMCU einen längeren Reset. Ob das dann genau so ist oder dann immer funktioniert.
    Dann wenn er im Sleep-Mode drin ist, auch mal mit einem Taster am nodeMCU einen langen Reset machen und schauen, wie sich das dann verhält.

    Kann es sein, dass das nodeMCU nach einem Reset manchmal nicht richtig "anspringt"?

    MfG

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    24.02.2013
    Beiträge
    19
    Das werde ich mal testen.
    "Nicht richtig anspringt" kann grundlegend nicht der Fall sein, da ich über die serielle Schnittstelle jeden Schritt nachvollziehen kann und das ab dem ersten Loopdurchgang.

  6. #6
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.669
    Ja, aber z.B. das WiFi-Modul oder andere Bausteine auf dem Modul. Irgendetwas muss es ja sein, was mal einwandfrei und mal nicht einwandfrei funktioniert. Sonst hättest Du keine Probleme damit.

    Falls das mit dem manuellen Reset dann einwandfrei funktionieren sollte, dann könntest Du eine extra Reset-Schaltung bauen, die einen sauberen Reset durchführt. Das war die Idee dahinter.

    Ansonsten wüsste ich auch nicht, was man da noch machen sollte. Leider habe ich zurzeit zu viel zu tun, als nochmals mit was anderem anzufangen. Sonst hätte ich das selber schon ausprobiert. Es ist ja sowieso schon so eine Sache, dass nur eine Art Rückkehr vom Sleep Mode funktionieren soll, weil die anderen Arten nicht richtig implementiert sind, dass sie einwandfrei anwendbar wären. Oder hat sich das in der Zwischenzeit mal geändert?

    MfG
    Geändert von Moppi (03.12.2018 um 20:51 Uhr)

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

    ich möchte mich noch einmal zu meinem Problem melden. Ich habe es nach wie vor nicht zuverlässig geschafft ein einzelnes UDP-Paket zu senden. Es kann ja nicht sein, erst eine Menge Pakete vorab zu schicken um dann immer noch nicht zuverlässig ein Paket zu senden. Sollte es also jemand schaffen, nach dem Bootvogang des ESP8266 bzw. NodeMCU ein einzelnes UDP-Paket zu verschicken, welches auch auf der Gegenseite ankommt, der möge bitte hier seinen Arduino-Sketch posten. Nach Möglichkeit sollte das Sketch nur ein Paket senden und dann wieder den Tiefschlaf aufrufen.

    Wie ich mein Problem jetzt gelöst habe:

    MQTT

    Ich habe einen MQTT-Clienten eingebunden womit ich nun meine Werte an den MQTT-Broker auf den Server sende. Das funktioniert einwandfrei und zuverlässig!

    Viele Grüße

Ä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
  •  

12V Akku bauen