Hallo alle, in den vergangenen Monaten hatte ich mehrmals berichtet, dass sich meine alten ESP-01 Module mit Firmware 0.90 sporadisch aufhängen. Ich habe inzwischen ein paar neue Module mit AT Firmware 0.40 gekauft und was soll ich sagen: Die laufen alle stabil. Keine Aufhänger mehr - den ganzen Tag nicht. Ich bin (jetzt auch) echt begeistert! Und da ich jetzt wieder einige Module vorrätig habe, habe ich es gewagt, mein letztes altes Modul auf 0.50 vom SDK 1.4.0 zu aktualisieren (ich finde die Versionsnummern sehr irritierend). Die Firmware aus dem SDK 1.5.1 hat leider nicht funktioniert, da hängt das Modul in einer wdt-reset Schleife. Und da bin ich nicht der einzige, bei dem diese Version nicht funktioniert. Leider sind die Module auch mit der aktuellen Firmware immer noch schnecken-langsam. Die Firmware scheint weiterhin im 100ms Raster zu arbeiten. Kann man das konfigurativ verbessern? Und die Module lassen immer noch sporadisch einzelne TCP Pakete verschwinden. Sie Acknowledgen den Empfang, tun am seriellen Port dann aber so, als hätten sie nichts empfangen. Aber das kriege ich mit Software-Mitteln abgefangen, damit kann ich leben. Ich teste jetzt ein paar Tage lang, ob und wie oft sie sich noch aufhängen und dann melde ich mich wieder.
Ich habe nie mit der AT Firmware meinen Frieden gefunden. Seit ich die ESP mit der Arduino IDE bespiele, bin ich Zufrieden.
Hallo, Stefan U. schrieb: > Und da ich jetzt wieder einige Module vorrätig habe, habe ich es gewagt, > mein letztes altes Modul auf 0.50 vom SDK 1.4.0 zu aktualisieren (ich > finde die Versionsnummern sehr irritierend). > > Die Firmware aus dem SDK 1.5.1 hat leider nicht funktioniert, da hängt > das Modul in einer wdt-reset Schleife. Und da bin ich nicht der einzige, > bei dem diese Version nicht funktioniert. die aktuelle Firmware braucht 8MBit-Flash, die alten hatten nur einen 4MBit. Ist am Flashtyp zu sehen, entweder ...04... oder ...08... in der Typenbezeichnung. >Und die Module lassen immer noch sporadisch einzelne TCP Pakete >verschwinden. Sie Acknowledgen den Empfang, tun am seriellen Port dann >aber so, als hätten sie nichts empfangen. Aber das kriege ich mit >Software-Mitteln abgefangen, damit kann ich leben. Mein ICEsast Streamplayer läßt auch über Stunden kein Paket verschwinden, das würde ich nämlich hören. Allerdings weißt Du ja, daß es mir da wie grrr (Gast) geht... Gruß aus Berlin Michael
> Mein ICEsast Streamplayer läßt auch über Stunden kein Paket > verschwinden Ich dachte mir schon, dass das ein Manko der AT Firmware ist. Angeblich basiert die Firmware ja auf lwip und ich weiß ziemlich sicher, dass lwip prinzipiell sauber funktioniert. Welche Übertragungsrate erreichst du maximal? Welche Bassis nutzt du zu Programmierung des ESP? Übrigens: Bis jetzt haben sich meine beiden Testkandidaten nicht einmal aufgehangen. Der PC läuft in zwei Endlosschleifen, die ständig folgendes wiederholen: - Aufbau der TCP Verbindung - Sende "dPB5,1" -> Der AVR Antwortet mit Ok - Warte 300ms - Sende "oPB5,1" -> Der AVR Antwortet mit Ok - Warte 300ms - Sende "oPB5,0" -> Der AVR Antwortet mit Ok - Warte 1s - Verbindung trennen Also nix dolles. Aber schon dieser harmlose Ablauf brachte mein altes Modul ungefähr 1x pro Stunde zum abschmieren. Jetzt nach dem Firmware-Upgrade aber nicht mehr.
Hallo, Stefan U. schrieb: > Welche Übertragungsrate erreichst du maximal? Welche Bassis nutzt du zu > Programmierung des ESP? gemessen habe ich das nie, einfach weil ich den ESP nicht als WLAN-Modul wie z.B. einen WLAN-Stck am Rechner sehe. Eine Übertragung eines 290kB JPG-Bildes aus dem SPIFFS über meinen "Webserer" zum Firefox braucht er fast eine Minute. Also lesen aus dem Filesystem und rausschicken über den Server. Sind effektiv also damit nur rund 5kB/s. Das ist auch nur ein Test, am Anfang ist er da nämlich gern nach wenige Zeilen mit einem Stacktrace rausgefolgen... Der Stream-Client läuft im Moment mit 192kBit, macht auch 320kBit stabil. Das wären dann 40kb/s. Das MP3 decodiert ein VS1003 am SPI. Ich hatte kurz in die AT-Software reingeschaut, NodeLUA angeschaut, versucht das Original SDK in der VM anzuwerfen, auch Eclipse war mal drauf. Gewonnen hat eindeutig die ArduinoIDE, weil sie für mich der beste Kompromiß zwischen Einarbeitungs, und - Einrichtungsaufwand und Ergebnissen ist. Sie ist "nicht schön, aber selten". ;-) Man kann sie protable installieren und auf einem Stick komplett einfach mitnehmen, das macht mein Bekannter so. Vorhanden Libs werden genommen oder angepasst oder für mich zusammengestutzt. Software ist dann eben eine Mischung aus C, den Arduino-Klassen usw. Eigene includes in den Projektordner geworfen, die macht sie dann in den Tabs mit auf usw. Ich habe mal den Stremplayer rangehangen, das ist dann so das Chaos, was bei mir rauskommt. Bei den C- und C++ Programmierern dürfen sich da dann gern die Fußnägel aufrollen, obwohl ich auch auf meinen "alten" Tage gern dazulerne... Ich brauche es eben nicht für den Beruf und werde da auch nicht mehr brauchen. Gruß aus Berlin Michael
5 Kilobytes pro Sekunde finde ich enttäuschend wenig. Immerhin sehe ich, dass die AT Firmware wohl nicht das Nadelöhr ist, denn damit könnte ich bis zu 10 Kilobytes pro Sekunde senden.
Hallo, ist sicher auch mehr drin, hat mich im Moment nicht so interessiert. Schon das Stream-Read aus dem SPIFFS dürfte ziemlich für Overhead sorgen. 10kb/s wären bei 115200 ja auch realistisch, Da müßte ich mal Daten direkt aus dem Flash schicken, wenn er hier mit Reserve meinen 40kB Stream empfangen kann, kann er sicher auch mehr senden. Werde ich mich sicher erst drum kümmern, wenn ich es wirklich brauche... Gruß aus Berlin Michael
:
Bearbeitet durch User
In der Arduino IDE ist der Default fürs Flash 40MHz und DIO. Die meisten der verwendeten Bausteine können 80MHz. Und QIO ist auf allen mir bekannten Boards möglich. Also dürfte von der Seite her eine ver4fachung möglich sein. Und wenn es an der Prozessorleistung hapert, dann von 80MHz auf 160MHz umstellen. Noch kleine negativen Erscheinungen dabei festgestellt...
Ich glaube, die Taktfrequenz ist gar nicht der Knackpunkt. Mir kommt es eher so vor, als ob das Modul in einem 100ms Raster arbeitet. Wenn du viele Netzwerkpakete hintereinander sendest oder empfängst, sind dazwischen immer Zeitabstände von ungefähr 100ms. Egal, wie groß die Pakete sind. Meine beiden Testmodule laufen immer noch ohne Absturz. Dafür hat sich mein WLAN Router gerade aufgehangen. Die beiden Module haben sich aber ordentlich wie neu verbunden. Läuft wie geschmiert.
Hallo, grrr schrieb: > In der Arduino IDE ist der Default fürs Flash 40MHz und DIO. > Die meisten der verwendeten Bausteine können 80MHz. > Und QIO ist auf allen mir bekannten Boards möglich. > > Also dürfte von der Seite her eine ver4fachung möglich sein. > > Und wenn es an der Prozessorleistung hapert, dann von 80MHz auf 160MHz > umstellen. Noch kleine negativen Erscheinungen dabei festgestellt... intressanterweise verändern beide Werte die "über alles" Performace überhaupt nicht. Flash-Speed jetzt auf 80MHz (ausgelesen), für den CPU-Speed habe ich nichts zum Auslesen gefunden, laut IDE sollen es jetzt 160MHz sein. Nebeneffekt: mit ArduinoIDE v1.6.8 -> ESP-Board v2.1.0 crash beim Aufruf von TelnetServer.setNoDelay(true); Mit ESP 2.0.0 noch alles ok. Meiner Meinung nach war die vorige "Firmware" mit 2.1.0-rc1 oder 2 compiliert, kann ich aber jetzt nicht nachvollziehen. Bin erstmal wieder bei IDE 1.6.7 und ESP 2.0.0 Die 1.6.8 macht auch irgendwelchen Kram mit den seriellen anders. Hier hängen im Moment 3 Sachen dran und mein LogicAnalyzer erzählt dann, daß seine COM schon belegt wäre, obwohl er eben initilisiert hat. 2 Sekunden später geht es dann wieder. Andere ESP mit anderer COM werden unerwartet neu gestartet. Das war mit der 1.6.7 noch nicht so. Gruß aus Berlin Michael
> laut IDE sollen es jetzt 160MHz sein.
In der IDE werden nur die Konstanten für delay() usw. umgestellt.
Den Takt selber muss man im Code hoch setzen.
system_update_cpu_freq(SYS_CPU_160MHZ);
Hallo, naja, beim ESP wäre es ja auch möglich, daß der Wert gleich im Startup-Code gesetzt wird. Die Flash-Frequenz wird ja auch direkt gesetzt. Deshalb auch meine Frage nach dem Auslesen zur Laufzeit, da habe ich nichts gefunden. Sonst muß ich wohl mal einen Benchmark draufschieben... Gruß aus Berlin Michael
Michael U. schrieb: > Deshalb auch meine Frage nach dem Auslesen zur Laufzeit, da habe ich > nichts gefunden. Hmm.... Meine Erinnerung sagt: Ein Bit in irgendeinem Register ist dafür zuständig... Aber wo und wie... KA...
Die ESP-01 Module sind immer noch nicht abgestürzt. Inzwischen kann ich sie durchaus weiter empfehlen - auch die AT Firmware. Im Test war ein zwei Jahre altes Modul mit erneuerter Firmware 0.50 und ein neueres Modul mit vorinstallierter Firmware 0.40. Beide Module liefen drei Tage lang unter Dauerfeuer. Zur Stromversorgung habe ich zwei 500mA Handy-Ladegeräte verwendet, mit je einem LF33CV Spannungsregler und zusätzlich einem 100µF Elko an VCC/GND nahe an Modul.
Hallo, 5V Handylader sind auch meine Lieblinge, die 100µ gehören ebenfalls immer dazu, Spannungsregler ist meist ein China-Schnipsel mit einem AMS1117 drauf. Vorhin hat mich meine WLAN-Umgebung hier geschafft... Der ESP keine 3m vom Router weg, Altbau, eine Wand dazwischen. Mein Streamplayer nur Aussetzer und Re-Connects. Das NodeMCU-Board um ca. 30 Grad gedreht und um 5 cm verschoben: alles wieder absolut stabil. Kann aber der ESP nichts dafür, hier ist am Wochenende abends einfach zuviel Betrieb im 2,4GHz-WLAN. Gruß aus Berlin Michael
:
Bearbeitet durch User
Stefan U. schrieb: > 5 Kilobytes pro Sekunde finde ich enttäuschend wenig. Ich teste gerade an den Funktionen meiner lua Software. Dabei ergab sich ohne an der Clock zu spielen für einen Filetransfer aus dem Flash mit wget: > 100%[======================================>] 22.271 58,3KB/s in 0,4s Ich hab gerade keinen größeren File parat. Stefan U. schrieb: > Ich glaube, die Taktfrequenz ist gar nicht der Knackpunkt. Mir kommt es > eher so vor, als ob das Modul in einem 100ms Raster arbeitet. Das gilt IMHO auch für die lua Firmware. MfG Klaus
Hallo, Klaus schrieb: >> 100%[======================================>] 22.271 58,3KB/s in 0,4s ja, das passt z.B. auch besser zu meinen Werten beim Empfang. 40kB/s (320kBit) gehen da dauerhaft. Ich müßte auf der Spielkiste mal alles anhalten, da laufen ein paar Sachen, auch interruptgesteuerte die dazwischenfunken können. Woanders habe ich gerade kein sinnvoll großes File drauf. Gruß aus Berlin Michael
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.