User manual

401 C-Control Pro IDE
© 2013 Conrad Electronic
5.27 Webserver (AVR32Bit)
Der Webserver der C-Control Pro AVR32Bit wird mit WEB_StartServer gestartet. Es kann dafür ein
beliebiger TCP/IP Port ausgesucht werden. Beim Start des Webservers wird die Anzahl der dynami-
schen Variablen definiert, mit denen man arbeiten möchte. Die dynamischen Variablen übernehmen
die Werte von URL Variablen beim Aufruf der Webseite und man kann dynamische Variablen zur
Ausgabe von Werten innerhalb von Webseiten benutzen.
Alle Webseiten die vom Server zurückgeliefert werden, müssen im Hauptverzeichnis auf der SD card
liegen, die in die C-Control Pro Unit eingesteckt ist. Da die SDCard Bibliothek keine langen Datein-
amen unterstützt, müssen alle Dateinamen der Webseiten im DOS Format (8.3) vorliegen. Die
Hauptseite het deshalb "index.htm". Man beachte die verkürzte Endung.
HTTP Header
Für Dateien mit einer bekannten Endung (siehe Tabelle) wird automatisch ein HTTP Header erzeugt,
der vor den Inhalt der Datei gesetzt wird. Dabei wird immer
HTTP/1.1 200 OK\r\n
Connection: close\r\n
Content-Type: Type\r\n
\r\n
vorangesetzt. Dabei ist "\r\n" Carriage Return Linefeed, und Type der korrespondierende Inhalt aus
der Tabelle. Für die Endung ".htm" wird z.B. ein "Content-Type: text/html" im Header generiert.
Datei Endung
Type
.htm
text/html
.js
application/x-javascript
.txt
text/plain
.css
text/css
.gif
image/gif
.ico
image/x-icon
.jpg
image/jpeg
.bmp
image/bmp
.png
image/png
Ist die Dateiendung nicht in der Tabelle vorhanden, muss der Header selbst an den Anfang der
Datei auf der SD-Card gesetzt werden.
Dynamische Variablen
Man kann mit der Funktion WEB_SetDynVar() dem Webserver die Adresse und Typ einer normalen
Variablen mitgeben. Hat man sich z.B. eine Integer Variable mit "int a;" definiert, so würde man mit
"WEB_SetDynVar(0, a, DYN_INT, 0);" die Variable a als dynamische Variable mit Index 0 definie-
ren. Schreibt man in eine Webseite den Text $var0$, so würde dann $var0$ durch den numerischen
Wert von a ersetzt. Die Zahl nach "var" ist der Index der dynamischen Variable.