INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
nodeMCU 1.0 dynamischer Speicher RAM und Flash
14.11.2020, 09:54
Beitrag #1
nodeMCU 1.0 dynamischer Speicher RAM und Flash
Hallo zusammen,

ich habe nur hier und da mal was zum Flash des nodeMCU gelesen. Der hat 4MB. Was recht viel ist und diese 4MB würde ich gerne vollständig nutzen. Dazu habe ich verschiedene Möglichkeiten. Der Flash-Speicher kann direkt gelesen und beschrieben werden, oder über das SPIFFS oder LittleFS. Ich habe ein die Arduino-IDE aktualisiert, um LittleFS nutzen zu können. Vorher stand im Menü bei Flash-Size immer: 1MB Programm und 3MB SPIFFS. Jetzt steht dort FS:2MB, OTA 1MB. Wie ist das zu verstehen, OTA nutze ich nicht?

Nächste Frage, der Flash-Speicher ist über SPI zugänglich. Ist das richtig oder irre ich mich? Zum Vergleich habe ich alle Daten auf eine SD-Karte geschrieben. Das ist mindestens genau so schnell. Es sieht so aus, als ob das Schreiben auf externe SD-Karte sogar flüssiger abläuft, als über LittleFS in den FLASH des nodeMCU. Es scheint auch so, als ob der Webserver nicht mehr so lange Antwortzeiten hat. Letztens hatte ich da noch enorme Aussetzer zu beklagen, weiß aber nicht, woran das lag. Zurzeit habe ich das Problem, wenn der Webserver längere Zeit nichts tut, dass ich dann keine Startseite mehr abrufen kann. Ohne SD-Karte hatte ich dieses Verhalten nicht. Auch wenn der keine Startseite mehr liefert, funktioniert er aber scheinbar sonst einwandfrei. Vermutlich, weil er, bei dem was ich dann versuche, nicht auf SD-Karte zugreifen muss. Kann es sein, dass eine SD-Karte "einschläft", wenn längere Zeit keine Aktionen stattfinden? Wäre mir neu.

Ich möchte viel Speicher schnell durchsuchen. Wenn mich der interne Flash hier behindert (ohnehin nur über SPI zugänglich ist) und kein schnellerer Zugriff möglich ist, als auf SD-Karte, dann könnnte ich doch auch gleich vollständig über SD-Karte arbeiten; wie sieht es dazu mit der Ausfallsicherheit aus, interner FLASH vs. SD-Karte?

MfG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.11.2020, 11:40
Beitrag #2
RE: nodeMCU 1.0 dynamischer Speicher RAM und Flash
LittleFS und SD nutzen Wear-Leveling, so dass die Lebensdauer ähnlich sein dürfte.
Bei der Geschwindigkeit müsste man die seriellen SPI-Datenraten beider Schnittstellen untersuchen, um Aussagen dazu zu machen.

Du könntest auch einstellen FS:3MB OTA:512KB oder einen WEMOS/Lolin D1 mini pro mit FS: 15 MB OTA:512KB nutzen.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.11.2020, 13:28 (Dieser Beitrag wurde zuletzt bearbeitet: 14.11.2020 13:29 von Nichtraucher.)
Beitrag #3
RE: nodeMCU 1.0 dynamischer Speicher RAM und Flash
"LittleFS und SD nutzen Wear-Leveling" - Danke, für die Info hier!

"einstellen FS:3MB OTA:512KB " - ja, stimmt! Habe ich jetzt getan.

Ich war auch nicht untätig und habe gesucht und gelesen und gesucht...
Offenbar hat ESP8266WebServer in streamFile() ein Problem. Jedenfalls haben andere User auch Probleme damit. Dann habe ich dazu gelesen, dass streamFile nicht i.O. ist und gefixt werden soll. Ob das gemacht wurde? Diese Probleme, dass bei streamFile() von SD-Karte ein Absturz des ESP die Folge ist, sind auch nicht immer da. Unter bestimmten Umständen aber schon. Da ist viel geschrieben worden, dass das was mit der Dateigröße zu tun hat, manche vermuten einen Fehler in der SD-Bibliothek. Wäre denkbar, weil mit LittleFS funktiniert es einwandfrei. Zurzeit habe ich das nodeMCU vom USB getrennt und versorge das über Akku, um zu sehen, ob es hier dann immer noch zu Abstürzen / Hängern kommt. Bis jetzt funktioniert es wohl, jedenfalls kann ich immer wieder die Startseite abrufen.
Aus der Annahme heraus, dass ein Fehler in einer Bibliothek vorliegt (vermtl. SD), habe ich mir nun überlegt, die statischen Dateien im internen Flash abzulegen und dann mit LittleFS und streamFile() diese recht großen Dateien zu übertragen. In der Hoffnung, dass bei kleinen Dateien dieser merkwürdige Fehler nicht zutage tritt, würde ich alle dynamischen Dateien auf SD-Karte ablegen. Nur die HTML-Dateien und was damit zu tun hat (Bilder) und direkt in den Webbrowser geladen wird, übetrage ich dann mittels streamFile(). Andere Dateien, die ich mit JavaScript verarbeite, unterteile ich in Blöcke, so dass keine großen Mengen zu übertragen sind, dafür aber dann mehrere Blöcke. Die übertrage ich dann aber nicht mit streamFile().
Die Webserver-Classe wollte ich jetzt auch nicht neu erfinden. Mit Glück geht das Konzept dann auf.

Bleibt nur noch das Problem, wie am schnellsten Daten von der SD-Karte zu bekommen sind. Ich denke, dass ich vielleicht eine große Datei anlege (eben mal suchen .... und ... noch nichts gefunden, zur max. Dateigröße) in der ich dann mittels seek() und read() hin und her springen kann. Diese Methode könnte aber vielleicht zu langsam sein.

Gruß
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.11.2020, 14:10
Beitrag #4
RE: nodeMCU 1.0 dynamischer Speicher RAM und Flash
Du solltest auch immer daran denken, dass die Webserver auf den MC für kleine Steuerungsaufgaben gedacht sind und nicht dafür große Dateien zu verarbeiten.

Gruß Tommy

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Welche Einstellungen in Arduino IDE für NodeMCU frankmehlhop 20 449 20.11.2020 08:06
Letzter Beitrag: Beinhardt
  NodeMCU ESP12-E und Nextion - ein anderer Weg rev.antun 1 180 14.11.2020 17:55
Letzter Beitrag: miq19
Lightbulb SPIFFS DOWNLOAD UPLOAD & DELETE Esp8266 NodeMCU Fips 31 25.326 05.09.2020 19:59
Letzter Beitrag: guenni71
Brick 2 NodeMCU zum Fernsteuern von Relais ntz616616 4 915 07.08.2020 07:31
Letzter Beitrag: hotsystems
  ESP32 NodeMCU: Status der SD-Karte georg1010 0 806 15.07.2020 12:18
Letzter Beitrag: georg1010
  NodeMCU steuert UNO/NANO über I2C Tommy56 21 21.125 12.07.2020 17:43
Letzter Beitrag: daniel_hh
  Erster Versuch mit "ESP8266 NodeMCU V3" Mathias 6 1.328 03.07.2020 18:14
Letzter Beitrag: Mathias
  AI Thinker ESP32 CAM, Flash LED leuchtet leicht nach DEEP SLEEP spok1 0 720 01.06.2020 14:00
Letzter Beitrag: spok1
  ESP32 NodeMCU: Versorgung mit USB und EXT 5V georg1010 7 1.346 03.05.2020 21:00
Letzter Beitrag: hotsystems
  NodeMCU V3 + rhGeiger ak68 19 3.328 17.04.2020 07:35
Letzter Beitrag: Fips

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste