User manual
403 C-Control Pro IDE
© 2013 Conrad Electronic
fall der Reset-Taster betätigt werden, um einen kompletten Neustart des Systems auszulösen.
Webserver Optimierung
Der lwIP TCP/IP-Stack ist darauf optimiert, bei embedded Devices möglichst gut mit Webseiten zu
arbeiten, die im Flash-Speicher abgelegt sind. Mit der im C-Control Pro AVR32Bit Modul eingebau-
ten SD card kann man sehr viel mehr Daten speichern als im Flash, aber es birgt den Nachteil, das
die Webseiten im RAM zwischengeladen werden müssen, bevor sie über das Ethernet verschickt
werden. Um den "RAM Hunger" des lwIP-Stacks zu begrenzen, sind mehrere Dinge zu beachten:
Im normalen Webserverbetrieb sollte der "TCP/IP Speicher" in der C-Control Konfiguration auf ca.
16kb gesetzt werden.
Alle GET-Requests des Webservers, die keine CGI Variablen in der URL übergeben, werden in ei-
ner Warteschlange serialisiert. Dies geschieht, damit immer nur RAM zum Senden einer Websei-
te gleichzeitig angefordert wird.
Da die SD-Card in der C-Control Pro über SPI angeschlossen ist, und nicht wie bei einem PC im
4-Bit Parallelmodus, sind nur geringere Übertragungsraten zu realisieren. In Tests erreicht man mit
wget.exe ein mittlere Übertragungsrate zwischen 140-150 kbyte/Sek. Daher sollten z.B. Bilder
und andere Resourcen nicht wesentlich über 100kb hinausgehen, da sonst die Webseite nur lang-
sam aufgebaut wird.
Der Webserver unterstützt das "If-Modified-Since" Caching Protokoll der aktuellen Webbrowser.
Daher sollte das Caching im Webbrowser eingeschaltet sein, sowie Uhrzeit und Datum der Datei-
en auf der SD-Card nicht in der Zukunft liegen.
Möchte man nur CGI Variablen in der URL bei einem Javascript GET Request übergeben, ohne
das man eine Antwort vom Server benötigt, sollte die URL "setvars.js" genutzt werden. Dieser Re-
quest übernimmt nur die Variablenwerte und erzeugt keine Antwort.
Fordert man in Javascript nur Variablenwerte im JSON Format an, so erzeugt die URL "getvars.js"
nur die JSON Ausgabe, mit dem Vorteil, das auf die SD-Card nicht zugegriffen werden muss.
Es ist auf jeden Fall empfehlenswert sich die vorhandenen Demoprogramme für den Webserver an-
zusehen.
Bei WEB_StartServer die Flags WEB_CACHE_HTML und WEB_CACHE_TEXT nur angeben,
wenn man sich sicher ist, das HTML bzw. Text Webseiten wirklich gecached werden sollen!
5.27.2 WEB_GetRequest
Ethernet Funktionen
Syntax
byte WEB_GetRequest(void);
Sub WEB_GetRequest() As Byte
Beschreibung
Fragt den Webserver ab, ob ein HTTP Request zum Ausliefern einer Webseite gestellt wurde. Ein Wert von
Null besagt, das kein Request vorliegt. Nach einem gültigen Request, sollte man die dynamischen Varia-
blen auswerten und eventuell neu Werte setzen.
Rückgabewert
Request Parameter (0 = nichts empfangen)