Hallo @alle Ich möchte mich kurz vorstellen, ich bin seit fast 28 Jahren als EDV Supporter Selbstständig und muss mich gerade krankheitsbedingt aus der Branche zurückziehen. Daher konzentriere ich mich auf mein neues Hobby das ESP32/ESP8266 Programmieren. Ich hab schon einge kleine Dinge zustande bekommen, kleine Uhr Fürs Bett mit ST7789 Display, Lottozahlengenerator usw. Da ich damals in meiner Ausbildung noch echtes C bzw. C# gelernt habe, fällt mir das coden an sich nicht schwer. Mit den Eigenarten der Hardwarenahen Programmierung habe ich mich auch schon angefreundet. Nun habe ich mich an etwas grösses gewagt und zwar ein Micro-NAS zu bauen , mit einem ESp32-Wroom, einem SDCard Modul und einem Mini 1306 Display. bei dem man über ein Webinterface sogar von Unterwegs auf Dateien zugreifen kann, Upload und Download eingeschlossen. Nach nächtelangen "Pin-Test" Sessions habe ich es geschafft sowohl das Display als auch das SDModul zum laufen zu bringen. Auch der Zugriff über das Webinterface sowohl Lokal als auch von Aussen von unterwegs funktionieren soweit einwandfrei. Als Grundlage für mein Projekt habe ich div. Codes meherer Github Projekte kombiniert (bzw. Teile davon jeweils), so das ich jetzt quasi das ganze so habe wie ich es mir vorgestellt habe. Ein Fotos von dem verwendeten ESP32 und meinen aktuellen (funktionierenden Code als Ardudino Datei) habe ich als Anhänge an diesen Post beigefügt. Jetzt zu meinem Problem bzw. Problemen: Ich kann eigentlich problemlos auf den kleinen via Web Interface zugreifen, ich kann Dateien uploaden und auch downloaden, auch das löschen geht. Problem Nr. 1: Wenn ich eine Datei downloade wird die Geschwindkeit ab ca. der Hälfte der Datei immer langsamer und irgendwann läd der mit 6/kb/sec oder sogar noch weniger runter, ab und zu hängt sich der ganze Prozess sogar auf und ich muss den kleinen Rebooten. Problem Nr. 2: und genau das ist an auch auch das zweite Problem, egal was ich mache, egal welche SD Karte ich verwende und egal über welchen Browser ich das mache ich erreiche nur Geschwindigkeiten von max 220KB/sec sowohl bei Up als auch beim Download. Verschiedene WlanAps hab ich auch verwendet, direkt an der FritzBox isses auch nicht besser. Ich habe schon versucht die SD_mmc.h Lib zu nutzen statt der Sd.h weil diese schneller sein soll, allerdigs bin ich aktuell zu doof dazu, ich bekomme ich SD_mmc.h nicht dazu meine SD card zu mounten. Es wäre schade wenn ich die Probleme nicht in den Griff bekäme weil ich eigentlich schon fast am Ziel bin...na ja eigentlich :-) Vieleicht hat ja jemand hier Lust und Zeit sich mit meinem Problem zu beschäftigen oder hat sogar schon mal ein ähnliches Problem. P.S. ich habe einen älteren Post hier im Forum gefunden bei dem es auch um Zugriffgeschwindkieten bei SD Modulen an einem ESP geht, allerdings werde ich aus dem Post leider auch nicht schlau. LG Robbi
Du benutzt die SD Karte im SPI Modus. Dafür ist die erreichte Geschwindigkeit gut. In diesem Modus sind SD Karten viel langsamer, als die SPI Schnittstelle selbst. Konzentriere dich lieber auf das andere Problem. Du könntest zum Vergleich mal einen Stream zum Download generieren, anstatt von der SD Karte zu lesen. Einfach 100 Megabytes voller "Hallo" oder so.
:
Bearbeitet durch User
Ok, danke dann kann man am Speed wohl nix machen...Danke das mit den x fach "Hallo" hatte ich schon gemacht... ich hatte 100 mal "Test" über serial gesendet...funzt einwandfrei dann hab ich ein modul geschrieben was über das web Interface (nach klick) 100 mal "Geht doch" sendet :-) das ging alles ohne probleme... Kleines Update. in dem code den ich online gestellt habe, war schon ein "blinken" der onboard LED implemntiert und zwar immer wenn zugriff auf die sd Karte erfolgt, jetzt habe ich festgestellt das die "hänger" immer dann kommen wenn der lesen gerade zu ende ist, und die latenzen mit längeren leuchten der led zusammenkommen. D.h. wenn der Download wieder mal ab 40-60% einbricht dann leuchtet auch bei jeden lesezyklus die LED länger... ich als EDV Idiot würde da sofort auf einen datenträger Fehler schliessen, also hab ich jetzt mal eine andere SD Karte und ein anderes SD Modulbenutz und teste das gerade. Ich hatte bis jetzt immer nur die SD Karte getauscht, aber vieleicht hat das Modul hat beim Pin-Testen einen abbekommen...
:
Bearbeitet durch User
Robert Z. schrieb: > also hab ich jetzt mal eine andere SD Karte und ein anderes SD > Modulbenutz und teste das gerade. Das hätte ich auch getan.
soooooooo, also ich hab jetzt folgendes probiert -andere karte(n) -anderes sd modul -sowohl andere karte als auch anderes modul jeweils zusammen und auch jeweils mit dem alten Teil im wechsel hat nix gebracht, alle uploads über 3mb brechen sporadisch ab, manche gehen brauchen aber sehr lange alle downloads, je grösser desto schlimmer wirds, werden ab ca. der hälfte langsamer Update: ich hab das ganze jetzt nochmal mit einem anderen ESP32 getestet, leider das gleiche.... lg
:
Bearbeitet durch User
Hast Du so einen SD-Card Adapter mit Widerständen für 5V drauf? https://arduinodiy.wordpress.com/2012/03/28/sd-card-on-arduino/ Gruss Chregu
Hi, jo hab ich tatsächlich, das wäre ein Versuch wert... nur leider bekomme ich einen komplierungsfehler wenn ich den befehl card.init(SPI_HALF_SPEED, 5); verwende, da forsche ich gerade dran, warum meine SD.h das nicht hergibt
Nachtrag: ich hab jetzt mal zu Testzwecken meinen Sketch auf einen CYD (cheap yellow display) geflasht, der hat ein fest verbautes SD modul und Display, und hat als basis auch einen ESP32 damit hab ich keine Abbrüche und auch keine latenzen, beim up und download hab ich "fast" stabile 250kb/sec...nur hatte ich den CYD für was anderes vorgesehen daher hatte ich den bisher nicht benutzt. d.h. für mich entweder liegt es wirklich an den SD modulen, wegen dem 5v widerstand oder mein ESP32 R32 den ich verwende hat einen weg.... da ich leider 20stk von den SdModulen bestellt habe und die alle gleich sind, teste ich erstmal die idee mit dem ESp32...leider hab ich nur noch einen der ungelötet(also keine Pinbrücke hat) also muss ich das erstmal ändern, dann meine pinne wieder dran basteln und gucken obs am ESp32 liegt. Idealerweise ist der ESP32 den ich rumliegen habe, genau der gleich wie der der auf dem CYD sitzt, das macht dann die Fehlersuche etwas leicher. ich berichte...
Warum zeigst du nicht deinen Schaltplan, und Fotos von deinem Aufbau? Ggf. auch das Layout deiner Platine. Welche SD Module genau sind das? Wir brauchen deren Schaltplan. Hast du ein Oszilloskop? Wenn nicht, besorge dir eins. Denn weiter im Blindflug zu raten und zu hoffen ist nicht sehr erfolgsversprechend.
:
Bearbeitet durch User
schonmal Danke für eure Hilfe @ Sherlock Also, nein ich habe kein Oszilloskop, dafür bin ich zu sehr Anfänger in der Sache. ich bin zwar IT-Spezialist aber ein Oszilloskop hab ich noch nie benötigt. Ich poste gerne Fotos vom Aufbau, allerdings ist es ja eben ein ESp32 in der Wemos R32 version (also mit "dock") und eben die Kabel die zum den Modulen gehen. Einmal Display und einmal SDmodul. Bitte entschuldigt das man den ein paar unsaubere Heisskleber stellen sieht, aber wie erwähnt es ist mein Hobby und zum Spass. Sowas wie Schaltpläne von den Sachen habe ich leider nicht. Aber zu deinem Einwand mit dem ausprobieren, ich teste gerade ob ein anderes ESp32 Modul mit dem gleichen SDmodulen die gleichen Fehler macht. Denn das ESp32 was auf dem CYD sitzt hat diese Fehler ja nicht gemacht. Wenn sich nun zeigt, das das neue ESP32 die Fehler auch macht liegt es wohl den SD Modulen und ich bestell mir andere, wenn nicht dann ist wohl der R32 in meiner Kiste defekt. Viele andere Möglichkeiten gibts nicht wirklich. Ist also ein kurzer Bildflug :-) Ausserdem muss ich gestehen das ich erstmal keine Ahnung hätte wie ich mit einem Oszilloskop da an die Sache ran gehen sollte. Ich bin ja eben Programmierer und das mit der Hardware ist für mich sowieso noch Neuland. Also der Code an sich läuft ja prima, das Ding stellt ein Webinterface zur Verfügung das sogar (via NAT) von aussen erreichbar ist. Wie eine Art Personal Cloud. Zum Up und Download von Dateien. ich hab mal Fotos von dem "kleinen" und dem SD modul gemacht, auch ein Pinout von dem ESp32 was ich verwende hab ich hochgeladen. Der vollständigkeit halber, habe ich auch noch zwei Bilder des CYD beigefügt, den ich zum Testen verwendet habe und bei dem die Fehler nicht auftreten. P.s. na sicher hab ich als IT-Mensch auch einen echten Server, der ist auch erreichbar von unterwegs mit Apache und SMB, SFTP, usw. und natürlich mit GB verkabelt angeschlossen da sind ganz andere Geschwindigkeiten an der Tagesordnung (Xeon 12 Core, 64GB RAM, NVME-SSDs)...Aber das mit dem kleinen ist viel lustiger :-) ... und seit mich meine Frau im November verlassen hat lenkt mich das auch ein wenig von der Welt ab ... LG
:
Bearbeitet durch User
Mit deinen SD-Adaptern geht das nicht schneller. Da sind nur die Anschlüsse für Standard-SPI herausgeführt.
Ja das dachte ich mir schon, also akzeptiere ich die Geschwindkeit so. Also das mit den Hängern und den steigenen Latenzen liegt wohl an dem SD Modul, denn aktuell macht der tausch ESP32 die selben Symptome. Demnach werde ich mir andere SDModule besorgen. Hat jemand eine Empfehlung? Oder direkt ein ESp32 mit SD slot auf der Platine, hab ich in div. Shops auch schon gesehen. lg
:
Bearbeitet durch User
Ich habe jahrelang SD-Karten im Raspi benutzt. Davon bin ich weg. Wenn man öfter Daten ändert dann werden sie nach einer gewissen Zeit unzuverlässig. Deshalb schließe ich jetzt für Daten einfach SSDs per USB Schnittstelle an. Das ist wesentlich stabiler. Gibt es bei dem ESP nicht auch eine USB-Schnittstelle? USB-2 sollte zumindest 40MBytes/Sekunde liefern.
Danke dir, ja der ESP hat einen USB zum flashen und ich hab sogar einen ESP-s3 hier liegen der sogar zwar echte USB-C hat. Da gucke ich mir mal an ob es vernüftige libs dazu gibt. Auf jeden Fall ein Super tipp. Ich war so auf die SD Karte fokussiert das ich daran gar nicht gedacht hab.
Mir ist immer noch unklar, ob das SD Modul für 5V oder 3,3V Mikrocontroller ausgelegt ist. Diese Dupont Kabel sind oft aus Eisen, dann taugen sie nicht zur Stromversorgung. Mit einem Oszilloskop könnte man das schnell überprüfen.
Laut Bescheibung auf der Seite ist das ein 5V Modul, und es hängt auch an 5v dran bei mir. Das mit den Kabeln merk ich mir, da bestell ich mir mal ordentliche. Danke. Update zum Problem, also mir ist eingefallen das ich noch ein Display bestellt hatte welches ein Sd modul mit an Board hat, also hab ich das seit gestern Abend als SD modul dran und ...Taaaata es bricht nicht mehr ab und die Latenzen halten sich im Rahmen, durchschnittlicher Downloadspeed liegt bei rund 220kb/sec leicht schwankend. Also sind alle meine SD Module für die Tonne...na ja wer billig kauft kauft zwei mal oder war das :-) Als Info welches Display das ist habe ich das verlinkt: https://www.amazon.de/HiLetgo%C2%AE-ILI9225-Serieller-SD-Buchse-unterst%C3%BCtzt/dp/B0793P66GN?source=ps-sl-shoppingads-lpcontext&ref_=fplfs&psc=1&smid=AMUN6OW4OKOC5 Das Panel selbst hab ich nicht connected sondern nur den Reader von der Platine mit den gewohnten Pinnen.
:
Bearbeitet durch User
Robert Z. schrieb: > Laut Bescheibung auf der Seite ist das ein 5V Modul, und es hängt auch > an 5v dran bei mir. Also ungeeignet. So etwas kontrolliert man normaetweise vor dem Kauf.
:
Bearbeitet durch User
Danke, aber zu meiner Verdeidigung...ich mache das seit einiger Zeit als Hobby und hab den dreh noch nicht raus...woher sollte ich wissen das ein 5V Modul nicht geeignet ist, grundsätzlich läuft es ja :-) Jetzt weis ich das ich beim nächsten Modulkauf sowas vorher checke.
Ich hab hier einen Shield mit SD und RTC, der hat auch einen Level Konverter drauf. https://www.ebay.de/itm/375870807638
Ja, so ein Problem mit den China-Kartenlesern hatte auch auch mal... https://www.arduinoforum.de/arduino-Thread-Hinweis-zu-China-SD-Kartenleser-Boards Gruß Elux
:
Bearbeitet durch User
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.