ESP8266 - SPIFFS kann nicht mehr gemountet werden

Tach,
eigentlich wollte ich fragen wie man eine Grafik aus dem SPIFFS verfügbar macht so dass ich sie in meinem HTML auf dem Webserver einbinden kann.
Anleitungen gibt es quasi nur zu txt, json, css, usw.

Als ich nochmal was testen wollte mit einem Sketch der vor ein paar Tagen funktioniert hat, stellte ich fest dass das Filesystem nicht mehr gemountet werden kann, sprich SPIFFS.begin() fehlschlägt. Ich testete dann auch noch 2 andere Sketche, eins davon von der FS Lib, mit gleichem Ergebnis.
Ob und was an Dateien hochgeladen ist müsste für das mounten ja egal sein?!
In der Zwischenzeit hatte ich eigentlich nichts mehr dran gemacht außer den Sketch hier von Fips hochzuladen, um zu gucken ob sein Favicon bei ihm funktioniert obwohl er es nirgends einbindet, Grafiken also wohl nur hochhalten werden müssen um im Browser direkt aufrufbar zu sein. Esp8266 & Esp32 Arduino
Kann es sein dass das irgendwas zerschossen hat durch sein Filemanager, OTA, usw.?
Kann ich das sonst irgendwie resetten, neuschreiben,..?

Hallo,

für den ESP8266 gbt´s doch Beispiele in der IDE. Da würde ich erst mal eines testen. Schreiben / lesen. Hast Du denn bei der Einstellung des ESP zum Uertragen des Sketches die richtigen Parameter eingestellt.

Heinz

jackii:
....um zu gucken ob sein Favicon bei ihm funktioniert obwohl er es nirgends einbindet...

Bei ihm, äh mir funktioniert es. Das Favicon bindet der Browser selber ein falls vorhanden.

"SPIFFS.format();"

Hat bis jetzt immer das gemacht was es soll.

Dann war es wieder heile.

Gruß Fips

Hi :slight_smile:
Okay das klingt sehr gut, dann reicht wohl hochladen und FS mounten um auf Dateien zu verlinken, einzubinden.. Das hatte ich so versucht, Datei war aber nicht verfügbar, in dem Fall wohl weil FS nicht gemountet werden konnte.

Kommt nicht format nach begin?
Kann also nichts formatieren wenn er es gar nicht öffnen kann?
Hab das hier vorrhin schon versucht. SPIFFS-Flash File System in NodeMCU | by Gopalakrishna Adusumilli | Medium
-SPIFFS Initialization is failed
-File system formatting error
-file open failed

War da nicht was, dass die Defaulteinstellung neuerdings auf "Kein SPIFFS" steht?
Prüfe mal nach, was da bei Dir eingestellt ist. Da bin ich auch schon drüber gestolpert.

Gruß Tommy

Tommy56:
War da nicht was, dass die Defaulteinstellung neuerdings auf "Kein SPIFFS" steht?
Prüfe mal nach, was da bei Dir eingestellt ist. Da bin ich auch schon drüber gestolpert.

Gruß Tommy

Das kommt auf die Core Version an, wurde bei den neuen wieder geändert, wenn ich mich da jetzt nicht täusche!

Gruß Fips

jackii:
Kommt nicht format nach begin?
Kann also nichts formatieren wenn er es gar nicht öffnen kann?

Klar, zuerst mal

Serial.println(SPIFFS.begin() ? "SPIFFS gestartet!" : "Sketch wurde mit "no SPIFFS" kompilliert!\n");

einfügen.

Gruß Fips

Puh es geht wieder :slight_smile:
Das Problem ist für den D1 mini Pro kann man nur 14M und 15M SPIFFS auswählen, was aber wohl gar nicht unterstützt wird. Ich muss dafür auf den D1 R2 auswählen, kamm dann durcheinander weil ich dachte nur für den Data Upload aber nciht für den Sketch oder so..

Allerdings mein /favicon.png kann ich nicht aufrufen.
Die /style.css allerdings schon nachdem ich den Skatch hochlade.

Gut möglich dass wenn ich es von png zu ico ändere, von alleine genommen wird.
Mir geht es aber auch darum kleine icons in die Webseite einzubinden ohne es mit meterlangen svg Code zu machen.
Müssen die dafür schon noch irgendwie extra asynchron geladen werden?

jackii:
Das Problem ist für den D1 mini Pro kann man nur 14M und 15M SPIFFS auswählen, was aber wohl gar nicht unterstützt wird.

Der wird definitiv unterstüzt.
Ich habe dessen Spiffs auch schon mehrfach komplett gefüllt.

jackii:
Allerdings mein /favicon.png kann ich nicht aufrufen.

Der Browser lädt ein Favicon automatisch wenn es auf “.ico” endet!

Im Web gibt es ausreichen Seiten wo man sowas generieren kann.

Gruß Fips

Derfips:
Der wird definitiv unterstüzt.
Ich habe dessen Spiffs auch schon mehrfach komplett gefüllt.

Hm okay.
Beim Dateiupload zeigt es SPIFFS Upload failed! und beim Sketchupload ist dann auch nichts auf dem Server. Naja egal wenn es immerhin mit Board umstellen geht, den Tipp hab ich bei anderen gesehen die das gleiche Problem hatten. Vom Plugin musste ich auch die vorletzte Version nehmen da sonst nichts ging..

Zu meinen Grafiken.. du hattest schon geantwortet als ich noch etwas ergänzt hab.
Das mit ico in root kenn ich, hilft mir aber nicht für weitere Grafiken und funktioniert irgendwie auch nicht. Mit 4 verschiedenen Browsern versucht, da ico bei Aktualisierungen sehr speziell ist.

Wenn ich den code für die css kapiere und so ändere, geht es leider auch nicht.

server.on("/favicon.ico", HTTP_GET, [](AsyncWebServerRequest *request){
    request->send(SPIFFS, "/favicon.png", "image/png");
});

So kommt er allerdings auch hier vor, allerdings werden dort andere Libs genommen und ich bekam es nicht kompiliert.

Okay ich verlinke dann auf ein Favicon was im Internet ist und verzichte offline darauf. Für die Icons in der Webseite auf dem esp, setze ich dann am Ende die Svg Codes ein.
Dacht mir schon dass es etwas zu speziell ist Grafiken aus dem SPIFFS zu nutzen, wollte aber mal gefragt haben.

jackii:
Okay ich verlinke dann auf ein Favicon was im Internet ist und verzichte offline darauf. Für die Icons in der Webseite auf dem esp, setze ich dann am Ende die Svg Codes ein.
Dacht mir schon dass es etwas zu speziell ist Grafiken aus dem SPIFFS zu nutzen, wollte aber mal gefragt haben.

Kann man machen, muss man aber nicht!

Der Esp8266 liefert mit meinem Spiffs Tool alles aus.
Egal ob Favicon oder Bilder direkt. Auch mit dem Tag in Webseiten eingebundene Bilder werden angezeigt.
Es lassen sich auch Mp3 vom Spiffs an den Browser gesendet mit Mediaplayern abspielen.

Favicons für Android oder IOS musst du in der Entsprechenden Größe bereitstellen.
Dafür nutze ich https://realfavicongenerator.net/.

Gruß Fips

Derfips:
Der Esp8266 liefert mit meinem Spiffs Tool alles aus.

Erstaaaunlich :slight_smile:
Damit geht dann auch das nur in den root gelegte Favicon.
Ohne aber nicht, nur hochladen und FS mounten reicht, wie ich vermutete, dafür scheinbar nicht.

Echt cool dass es dann doch so geht wie ich mir das gewünscht hab.
Allerdings geht jetzt meine normale Webseite im Sketch nicht mehr, nur die IP aufgerufen lädt endlos und er blinkt dabei dann alle 5 Sekunden blau.
Das beißt sich irgendwie oder? Vielleicht kannst du deine Spiffs.ino so abändern dass sie nicht deine html/css nutzt, sondern nur meine über die IDE hochgeladenen PNG und json Dateien ausliefert?
Danke schonmal

jackii:
Erstaaaunlich :slight_smile:

Finde es normal.

jackii:
Allerdings geht jetzt meine normale Webseite im Sketch nicht mehr....

So ein Quatsch!
Lade deine html, css, js, png usw. mit dem Tool in den Spiffs, dann musst du bei Änderungen nicht jedesmal den Sketch neu laden.

jackii:
Vielleicht kannst du deine Spiffs.ino so abändern dass.....

Warum sollte ich?
Funktioniert, bin zufrieden!

Gruß Fips

Derfips:
Lade deine html, css, js, png usw. mit dem Tool in den Spiffs, dann musst du bei Änderungen nicht jedesmal den Sketch neu laden.

Ja dann geht es.