Favicon wird nicht angezeigt [ESP8266]

Hallo zusammen!

Ich habe auf meinem ESP8266 MOD 12E einen web Server erstellt.
Nun sehe ich ständig Anfragen nach "favicon".
Da ich Anfänger bin habe ich natürlich das Internet durchsucht,
so richtig bin ich aber nicht fündig geworden...
Hier ist mal der sketch:

void sendeFavicon( WiFiClient &client )
{

  uint8_t cFavicon[] =
  {
    0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x10, 0x10, 0x00, 0x00, 0x01, 0x00,
    0x20, 0x00, 0x68, 0x04, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x28, 0x00,
    0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x01, 0x00,
    0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D,
    0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x2E, 0x9D, 0xAB, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
  	0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
  };

  client.println( F("HTTP/1.1 200 OK") );
  client.println( F("Content-Type:image/x-icon") );
  client.println();

  for ( uint16_t i=0; i<sizeof(cFavicon); i++ )
  {
    byte p = pgm_read_byte_near(cFavicon + i);
    client.println(p);
    //Client.write(p);
  }

  client.flush();
  client.stop();

  #ifdef Debug
    Serial.println( "favicon erstellt..." );
    Serial.println();
  #endif

  Auswahl_Type = Ausw_Type::_nichts;

}

Es wird kein Icon angezeigt.
Kann mir bitte jemand sagen, was ich falsch mache?!
Danke im voraus!!!
VG Thomas

sehr wahrscheinlich verwendest du nicht den ESP8266Webserver sondern nur den Wifi Server.

An deiner Stelle würde ich am ESP8266 immer den ESP8266Webserver nehmen.

In deinem unvollständigen und daher für mich nicht verwendbaren Codeschnippsel ist meiner Meinung nach das pgm_read_byte_near aus unpassend, da du nicht auf einem AVR bist und dein Array auch nicht im PROGMEM liegt.

Du meist sicherlich:
client.write(p);
Denn ich bin mir sicher, dass ein FavIcon keine Zeilenenden enthalten darf.

Ansonsten liegt da noch mehr im Argen.

Da hast du recht...
Ich ändere das und teste es.
Mein scetch hat so um die 10.000 Programmzeilen.
Soll ich die (allen ernstes!) hier einfügen??
Ich glaube kaum, das sich das jemand durchliest!

Ich verwende folgende Bibliotheken:

#include                <RTClib.h>                         // DS3231 Bibliothek einbinden
#include                <ESP8266WiFi.h>                    // WLAN Bibliothek einbinden
#include                <WiFiUdp.h>                        // WiFi Bibliothek einbinden
#include                <NTP.h>                            // NTP Bibliothek einbinden
#include                <DFRobot_BME280.h>                 // BME280 Bibliothek einbinden
#include                <DFRobot_ENS160.h>                 // ENS160 Bibliothek einbinden
#include                <SSD1306Wire.h>                    // OLED Bibliothek einbinden
#include                <FastLED_NeoPixel.h>               // Strip Bibliothek einbinden

In welcher (anderen?) Bibliothek der ESP8266Webserver enthalten sein könnte,
weiß ich nicht. Auf Grund deines Hinweises habe ich folgende Änderungen ausgeführt
( funzt aber immer noch nicht!)

void sendeFavicon( WiFiClient &client )
{
  // Das Icon habe ich als png Datei erstellt, einen Hexdump erstellt
  // und hier eingefügt.

  uint8_t cFavicon[] =
  {
	0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D,
	0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
	0x10, 0x02, 0x00, 0x00, 0x00, 0xC0, 0x01, 0xB4, 0x75, 0x00, 0x00, 0x00,
	0x5F, 0x49, 0x44, 0x41, 0x54, 0x38, 0xCB, 0x63, 0xFC, 0xFF, 0xFF, 0xFF,
	0xFF, 0xFF, 0xFF, 0x19, 0x68, 0x06, 0x98, 0x48, 0xD5, 0xB0, 0x66, 0xCD,
	0xBC, 0x79, 0xFA, 0xFA, 0x24, 0x68, 0xF8, 0x8F, 0x17, 0xAC, 0x5E, 0x3D,
	0x77, 0xAE, 0x9E, 0x1E, 0x25, 0x6A, 0x08, 0x58, 0x40, 0x9E, 0x95, 0xC8,
	0x80, 0x89, 0x0A, 0x81, 0x80, 0x5F, 0xEF, 0x00, 0xF8, 0x80, 0xBA, 0x00,
	0xC5, 0x02, 0xE2, 0x03, 0x07, 0xA2, 0x12, 0x93, 0xC4, 0x34, 0x87, 0x71,
	0xD0, 0xE5, 0x03, 0x2A, 0x58, 0x40, 0xDD, 0x54, 0x34, 0x2C, 0x83, 0x08,
	0xBF, 0x97, 0x49, 0x56, 0x43, 0xEB, 0x8C, 0x46, 0xF3, 0x38, 0x00, 0x00,
	0x42, 0x21, 0xAD, 0x90, 0x03, 0x73, 0xD9, 0x6B, 0x00, 0x00, 0x00, 0x00,
	0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82
  };

  client.println( F("HTTP/1.1 200 OK") );
  client.println( F("Content-Type:image/x-icon") );
  client.println();

  for ( uint16_t i=0; i<sizeof(cFavicon); i++ )
  {
    client.println( cFavicon[i] );
  }

  client.flush();
  client.stop();

  #ifdef Debug
    Serial.println( "favicon erstellt..." );
    Serial.println();
  #endif

  Auswahl_Type = Ausw_Type::_nichts;

}

Gruß Thomas

ja.

--> mach einen Sketch mit einer Demo-Seite und dem Favicon - das kann dann jeder in seine IDE laden und dir weiterhelfen.

das ist Teil des ESP Cores und es gibt auch Beispiele in der IDE dafür.

edit:
habs in meinem webserver - maxi Beispiel eingebaut.
Tab server80

unvollständiges Codeschnippsel:

// example how to store the favicon.ico in program memory
void handleFavicon80() {
  const char tblFavicon[] {
    0x89, 0x50, 0x4E, 0x47, 0x0D, 0x0A, 0x1A, 0x0A, 0x00, 0x00, 0x00, 0x0D,
    0x49, 0x48, 0x44, 0x52, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x10,
    0x10, 0x02, 0x00, 0x00, 0x00, 0xC0, 0x01, 0xB4, 0x75, 0x00, 0x00, 0x00,
    0x5F, 0x49, 0x44, 0x41, 0x54, 0x38, 0xCB, 0x63, 0xFC, 0xFF, 0xFF, 0xFF,
    0xFF, 0xFF, 0xFF, 0x19, 0x68, 0x06, 0x98, 0x48, 0xD5, 0xB0, 0x66, 0xCD,
    0xBC, 0x79, 0xFA, 0xFA, 0x24, 0x68, 0xF8, 0x8F, 0x17, 0xAC, 0x5E, 0x3D,
    0x77, 0xAE, 0x9E, 0x1E, 0x25, 0x6A, 0x08, 0x58, 0x40, 0x9E, 0x95, 0xC8,
    0x80, 0x89, 0x0A, 0x81, 0x80, 0x5F, 0xEF, 0x00, 0xF8, 0x80, 0xBA, 0x00,
    0xC5, 0x02, 0xE2, 0x03, 0x07, 0xA2, 0x12, 0x93, 0xC4, 0x34, 0x87, 0x71,
    0xD0, 0xE5, 0x03, 0x2A, 0x58, 0x40, 0xDD, 0x54, 0x34, 0x2C, 0x83, 0x08,
    0xBF, 0x97, 0x49, 0x56, 0x43, 0xEB, 0x8C, 0x46, 0xF3, 0x38, 0x00, 0x00,
    0x42, 0x21, 0xAD, 0x90, 0x03, 0x73, 0xD9, 0x6B, 0x00, 0x00, 0x00, 0x00,
    0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82
  };

  server.send_P(200, "image/x-icon", tblFavicon, sizeof(tblFavicon));
}
//

webserver80

https://werner.rothschopf.net/microcontroller/202310_esp_webserver_maxi_en.htm

Das kann man doch auch ins SPIFFS/LittleFS legen.

Gruß Tommy

x
@thomas1959
Ist das Thema erledigt oder gibts noch offene Punkte?
Wenn das Thema gelöst ist, kannst du einen Beitrag als Lösung markieren.
Hilfreiche Beiträge kannst du mit einem Like versehen. Das geht auch mehrmals.

Das Problem ist gelöst.
Vielen Dank an alle.

Dann wäre es im Interesse der Forengemeinschaft sinnvoll, wenn Du die Lösung präsentieren würdest.

Gruß Tommy

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.