ESP8266 Webserver for real Websites

Was ich brauche:

Ein ESP8266 in Form eines NodeMCU-Boards steuert einige Gerät im Haushalt. Per WLAN möchte ich die Geräte über eine tolle Webseite steuern. Ich arbeite gerne mit Foundation und möchte deshalb dieses Framework zum Einsatz kommen lassen. Die Basisinstallation besteht aus 7 Dateien (1 HTML/3 CSS/4 Javascript) und benötigt ca. 300kB Platz.

Probleme:

  1. Der ESP8266-12E hat nur 64kB RAM, viele Webseiten enthalten aber Dateien, die viel grösser sind.
  2. Der ESP8266 kann immer nur eine Verbindung aufrecht erhalten. Braucht eine Webseite viele Dateien, kann das zu Problemen führen, weil die Browser mehrere Anfragen zeitnah stellen. Eine HTML- und eine Bilddatei funktionieren aber gut.

Lösungen

  1. Webseitendateien werden im Flash (mindestens 1 MByte gross) gespeichert und von dort ausgegeben. Dazu gibt es ein Shell-Script (convert.sh), das die Dateien des Ordners «website» in die Da-tei «websites.h» übersetzt, welche schliesslich mittels «Flash.h» in den Flash geladen wird.

    Funktioniert gut auch mit Dateien, die einige Duzend kB gross sind.

  2. Möglichst alle Dateien der Webseite in eine Datei verpacken (Skripte, CSS, auch Bilder, falls mehr als ein Bild eingefügt werden soll).

Codes:

Thanks to: