Selten einen größeren Blödsinn gelesen.
Was man im Internet so alles lesen kann. Der Chip braucht bis zu 380mA, das liefert jeder USB Anschluß selbst mit einem Linearregler für die 3,3V. Praktische Erfahrungen zeigen, daß der Chip auch noch mit rund 2,5V arbeitet. Das führt dann leicht zu der Annahme, daß die Versorgung ok ist, obwohl sie in Wirklichkeit zu schwach ist.Ich habe mal gelesen das ESP8266 Chips da sehr empfindlich sind...
Übliche Probleme sind, daß der ESP an den internen 3,3V Regler eines USB-Chips angeschlossen wird. Die können typisch weniger als 100mA (Data Sheet not read Error). Bei einem großen Stützkondensator reichts dann manchmal gerade so, da die knapp 400mA nur kurz beim Senden gebraucht werde. Dafür verlangsamt dieser Kondensator die Anschaltflanke so stark, daß der ESP keinen sauberen Power-On Reset mehr bekommt und damit ab und an mal nicht anläuft. Sporadische Abstürze sind da aber nicht zu erwarten. Ich verwende 3-Bein Schaltregler von z.B. Recom. Mit der 500mA Variante laufen bei mit alle ESP zuverlässig.
Abstürze nach einigen Minuten Laufzeit haben typisch 2 Gründe: Temperatur oder Speicherüberlauf. Wäre es Temperatur, würde die Zeit bei schnell aufeinanderfolgenden Tests immer kürzer werden.
Für mich klingt das Problem nach einem Speicherüberlauf. Bei TCP Verbindungen ist es ein häufig auftretendes Problem, daß Verbindungen nicht sauber geschlossen werden und offen bleiben, obwohl die Übertragung eigentlich beendet ist. Die Verbindung belegt dabei Buffer und Kontrollstrukturen. Am Ende beendet dann eine Timer im TCP-Stack die ganze Sache und gibt den Speicher wieder frei. Da auf einem PC Gigabytes Speicher zur Verfügung stehen, fällt das selten auf und solche fehlerhaften Programme haben ein langes Leben. Auf einem System mit wenig Speicher wird das dann ein Problem. IMHO kann der TCP-Stack des ESP maximal 4 Verbindungen gleichzeitig, mehr Speicher steht nicht zur Verfügung.
Ich werte das als Bestätigung für meine Vermutung. Das delay() ermöglicht (meistens) dem Timer im TCP-Stack die Verbindung zu schließen. Das ist natürlich keine Lösung des wirklichen Problems.Also ich habe ein delay(10)...
MfG Klebwax
Lesezeichen