FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt
FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt
FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
FFiiFFii--<br />
WWeebbsseerrvveerr<br />
<strong>nach</strong> <strong>Ulrich</strong> <strong>Radig</strong><br />
<strong>Dokumentation</strong><br />
Bearbeitungsstand: 22.06.2008
1. Inhalt<br />
1. Inhalt................................................................................................................................... 2<br />
1.1 Abbildungen............................................................................................................... 3<br />
2. Einleitung ........................................................................................................................... 4<br />
2.1 Copyright und Haftung............................................................................................... 5<br />
3. Aufbauanleitung................................................................................................................. 6<br />
3.1 Bestückung der Unterseite ......................................................................................... 6<br />
3.2 Bestückung der Oberseite........................................................................................... 7<br />
3.3 Fotodokumentation..................................................................................................... 9<br />
4. Programmieren des Controllers........................................................................................ 10<br />
4.1 ISP-Programmer....................................................................................................... 10<br />
4.2 Anpassen der Konfiguration mit WinAVR.............................................................. 11<br />
4.3 Kompilieren (make) ................................................................................................. 13<br />
4.4 Flashen des Controllers ............................................................................................ 13<br />
4.5 Bootloader ................................................................................................................ 13<br />
5. Inbetriebnahme................................................................................................................. 17<br />
5.1 Ethernetverbindung .................................................................................................. 17<br />
5.2 RS232-Verbindung................................................................................................... 19<br />
5.3 Installation im LAN ................................................................................................. 20<br />
6. Standard-Software............................................................................................................ 22<br />
6.1 Die Kommandozeile................................................................................................. 22<br />
6.2 MAC-Adresse........................................................................................................... 22<br />
6.3 Passwort ändern........................................................................................................ 23<br />
6.4 Webinterface ............................................................................................................ 23<br />
6.5 Telnetd...................................................................................................................... 23<br />
6.6 NTP Client................................................................................................................ 24<br />
7. Projektdaten...................................................................................................................... 25<br />
7.1 Technische Daten ..................................................................................................... 25<br />
7.2 Schaltungsbeschreibung........................................................................................... 25<br />
7.3 Belegung der Schnittstellen...................................................................................... 26<br />
7.4 Schaltplan................................................................................................................. 27<br />
8. Extras................................................................................................................................ 29<br />
8.1 Gehäuse .................................................................................................................... 29<br />
8.2 Kamera ..................................................................................................................... 30<br />
8.3 Grundplatine............................................................................................................. 33<br />
8.4 DynDNS................................................................................................................... 34<br />
8.5 Amateurfunksoftware............................................................................................... 37<br />
8.6 SD-Karte................................................................................................................... 37<br />
8.7 COM Port Redirector ............................................................................................... 37<br />
Seite 2 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
1.1 Abbildungen<br />
Abbildung 1: Fichtenfieldday..................................................................................................... 4<br />
Abbildung 2: <strong>FiFi</strong>-<strong>Webserver</strong> .................................................................................................... 4<br />
Abbildung 3: Webinterface ........................................................................................................ 5<br />
Abbildung 4: Benötigtes Werkzeug ........................................................................................... 6<br />
Abbildung 5: Bestückungsplan Unterseite................................................................................. 7<br />
Abbildung 6: Bestückungsplan Oberseite.................................................................................. 8<br />
Abbildung 7: Bestückte Unterseite ............................................................................................ 9<br />
Abbildung 8: Bestückte Oberseite.............................................................................................. 9<br />
Abbildung 9: ISP-Programmer................................................................................................. 10<br />
Abbildung 10: ISP-Programmierkabel..................................................................................... 11<br />
Abbildung 11: Programmer’s Notepad .................................................................................... 11<br />
Abbildung 12: Laufende Übertragung mit Fastboot ................................................................ 15<br />
Abbildung 13: Erfolgte Übertragung mit Fastboot .................................................................. 16<br />
Abbildung 14: Einstellen der IP-Adresse am PC..................................................................... 17<br />
Abbildung 15: Pingen des <strong>Webserver</strong>s .................................................................................... 18<br />
Abbildung 16: Authentifizierung im Webinterface ................................................................. 18<br />
Abbildung 17: Webinterface <strong>nach</strong> DH8GHH .......................................................................... 19<br />
Abbildung 18: Einschaltmeldung auf der seriellen Schnittstelle ............................................. 20<br />
Abbildung 19: Beispielkonfiguration eines LAN .................................................................... 21<br />
Abbildung 20: MMC-Pinbelegung........................................................................................... 27<br />
Abbildung 21: Pinbelegung JP2............................................................................................... 27<br />
Abbildung 22: Schaltplan......................................................................................................... 28<br />
Abbildung 23: Vorschlag Hutschienengehäuse (<strong>Ulrich</strong> <strong>Radig</strong>)............................................... 29<br />
Abbildung 24: Vorschlag Euro-Kühlrippengehäuse (DL1DOW) ........................................... 29<br />
Abbildung 25: Kamera Philips DC-3840................................................................................. 30<br />
Abbildung 26: Rastnasen an der Kamera................................................................................. 30<br />
Abbildung 27: Kamera-Anschlusskabel................................................................................... 31<br />
Abbildung 28: Kamerabild im Webinterface........................................................................... 32<br />
Abbildung 29: Gehäuse für IP-Außenkamera (Bild von www.pollin.de)................................ 33<br />
Abbildung 30: Schaltplan der Grundplatine <strong>nach</strong> <strong>Ulrich</strong> <strong>Radig</strong> .............................................. 33<br />
Abbildung 31: Layout der Grundplatine <strong>nach</strong> <strong>Ulrich</strong> <strong>Radig</strong>.................................................... 34<br />
Abbildung 32: DynDNS-Account erstellen ............................................................................. 35<br />
Abbildung 33: Hostnamen hinzufügen bei DynDNS.com....................................................... 35<br />
Abbildung 34: Dynamic DNS-Konfiguration in einer FRITZ!Box......................................... 36<br />
Abbildung 35: Portfreigabe in einer FRITZ!Box..................................................................... 37<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 3
2. Einleitung<br />
Der <strong>FiFi</strong>-<strong>Webserver</strong> wurde vom DARC-Ortsverband <strong>Lennestadt</strong> 1 als Selbstbauaktivität für<br />
das Amateurfunk-Zeltlager „Fichtenfieldday 2008“ 2 bei Attendorn im Sauerland vorgestellt.<br />
Abbildung 1: Fichtenfieldday<br />
Beim <strong>FiFi</strong>-<strong>Webserver</strong> handelt es sich um ein Projekt des bekannten µC-Entwicklers <strong>Ulrich</strong><br />
<strong>Radig</strong> 3 aus Kreuztal. <strong>Ulrich</strong> erklärte sich auf Anfrage der Veranstalter spontan bereit, eine<br />
SMD-Variante seines Ethernet-Experimentierboards ETH_M32_EX 4 zu erstellen. Im Rahmen<br />
dieser Änderungen fügt er auch einen SD-Kartenschacht in die Schaltung ein. Die Maße der<br />
Platine wurde so gewählt, dass diese aufrecht in ein Hutschienengehäuse passt. Somit bleibt<br />
viel Platz für eigene Erweiterungen wie z.B. Relais oder Sensoren.<br />
1 www.ov-lennestadt.de<br />
2 www.ov-lennestadt.de/fifi<br />
3 www.ulrichradig.de<br />
4 www.ulrichradig.de/home/index.php/avr/eth_m32_ex<br />
Abbildung 2: <strong>FiFi</strong>-<strong>Webserver</strong><br />
Seite 4 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Der <strong>FiFi</strong>-<strong>Webserver</strong> mit seinem ATmega644 und dem Mikrochip ENC28J60 Ethernetcontroller<br />
bietet eine Weboberfläche, die sich über die Netzwerkbuchse ansprechen lässt. Über eine<br />
serielle Schnittstelle hat man via Telnet Zugriff auf den Prozessor. Dieser nimmt Kommandos<br />
entgegen, z.B. zum Resetten, zum Einstellen der IP-Adresse oder um den aktuelle Verbindungszustand<br />
zu beobachten. Durch den NTP-Client 5 ist es möglich von einem NTP-Server<br />
die aktuelle Uhrzeit zu beziehen.<br />
Abbildung 3: Webinterface<br />
Mit dem <strong>FiFi</strong>-<strong>Webserver</strong> und seinem offenen Quellcode in der Programmiersprache C lassen<br />
sich die üblichen Funktionen moderner µCs flexibel für eigene Projekte nutzen, also z.B.<br />
Ausgänge schalten und Pins einlesen. Da die Software kompatibel zum Ursprungsprojekt ist,<br />
kann man leicht auf bereits fertig gestellte Anwendungen zurückgreifen, wie z.B. den Anschluss<br />
einer Webcam. Aktuelle Informationen sind auf <strong>Ulrich</strong>s Webseite hinterlegt, wo der<br />
<strong>FiFi</strong>-<strong>Webserver</strong> unter der Bezeichnung „AVR Webmodul“ zu finden ist 6 .<br />
2.1 Copyright und Haftung<br />
Diese Anleitung wurde erstellt von Kai-Uwe Pieper (DF3DCB) unter Mithilfe von Nicolas<br />
Sänger (DL1DOW) und Gerrit Herzig (DH8GHH). Zudem wurden viele Teile dieser Anleitung<br />
mit freundlicher Genehmigung der Webseite von <strong>Ulrich</strong> <strong>Radig</strong> entnommen.<br />
Ethernet ist ein eingetragenes Warenzeichen der XEROX, Inc., Digital Equipment Corporation<br />
und Intel Corporation. Microsoft und Windows sind eingetragene Warenzeichen der<br />
Microsoft Corporation. Alle anderen in dieser <strong>Dokumentation</strong> verwendeten Warenzeichen<br />
gehören ihren jeweiligen Eigentümern.<br />
Die vorliegende <strong>Dokumentation</strong> erhebt keinen Anspruch auf Vollständigkeit und Richtigkeit.<br />
Alle daraus direkt oder indirekt abgeleiteten Handlungen erfolgen ausschließlich auf eigene<br />
Gefahr. Die Rechtslage ist zu beachten.<br />
5 NTP = Network Time Protocol<br />
6 www.ulrichradig.de/home/index.php/avr/avr-webmodule<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 5
3. Aufbauanleitung<br />
Eine Aufstellung der benötigten Bauteile finden Sie in den Tabellen auf den folgenden beiden<br />
Seiten. Geeignetes Werkzeug ist ebenfalls unverzichtbar. Dazu gehört:<br />
• Lötstation mit feiner Lötspitze, am besten mit leichtem SMD-Lötpencil<br />
• dünnes Lötzinn mit max. 0,5 mm Durchmesser, möglichst auch SMD-Lötpaste<br />
• eine spitze Pinzette<br />
• ein Elektronikseitenschneider ohne Wate<br />
Die Pinabstände der verwendeten ICs lassen eine manuelle Lötung der Einzelpins mit Lötzinn<br />
zu. Es wird dennoch empfohlen, eine reihenweise Lötung mit spezieller SMD-Lötpaste vorzunehmen,<br />
da diese eine schnellere, sauberere und zuverlässigere Kontaktierung erlaubt.<br />
Bitte beachten Sie die üblichen Regeln beim Hantieren mit elektrostatisch empfindlichen<br />
Bauelementen: Verwenden Sie eine ESD-Unterlage sowie ein ESD-Armband bei Ihren Arbeiten.<br />
Abbildung 4: Benötigtes Werkzeug<br />
Es sollte folgende Reihenfolge beim Bestücken eingehalten werden:<br />
• Bestückung der Unterseite<br />
• Bestückung der Oberseite<br />
o SMD-Teile<br />
o bedrahtete Teile<br />
o mechanische Teile (Schnittstellen)<br />
Die Footprints der meisten passiven SMD-Bauteile sind für die Bauform 0805 dimensioniert.<br />
Beim manuellen Bestücken lassen sich jedoch die etwas kleineren 0603-Bauteile häufig<br />
leichter handhaben. Sie sind in allen Fällen verwendbar.<br />
3.1 Bestückung der Unterseite<br />
Auf der Unterseite ist die Bestückreihenfolge aufgrund der geringen Bauteildichte beliebig.<br />
Zur Gewöhnung an das Löten mit kleinen Pinabständen sollten Sie aber mit IC3 (MAX3232)<br />
beginnen, bevor Sie den ATmega (IC1) einlöten.<br />
Beachten Sie bei ICs die Einbaurichtung! Pin 1 ist gekennzeichnet.<br />
Seite 6 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Bestückungsplan Unterseite<br />
Bauteilliste Unterseite<br />
Abbildung 5: Bestückungsplan Unterseite<br />
Bauteilkürzel Wert Bauform Bezug<br />
C1, C2, C4, C5, C6, C7,<br />
C10, C12, C14<br />
100 nF 0805<br />
C16, C17 22 pF 0805<br />
C22 220 nF 0805<br />
IC1 ATmega 644 44TQFP Digikey ATMEGA644-20AU<br />
IC3 MAXIM MAX3232CSE<br />
oder TI MAX3232IDR<br />
16SOIC Digikey 296-13098-1-ND<br />
R1 470 Ohm 0805<br />
R2 270 Ohm 0805<br />
R3, R4 180 Ohm 0805<br />
R5, R6, R7, R8 50 Ohm, altern. 47 Ohm 0805<br />
3.2 Bestückung der Oberseite<br />
Beginnen Sie bitte wiederum mit den flachen Bauteilen, fahren Sie mit den bedrahteten Teilen<br />
fort und löten Sie die mechanischen Teile erst zum Schluss ein. Als Hilfestellung verwenden<br />
Sie bitte die Fotodokumentation auf Seite 9.<br />
Soll der optionale SD-Kartenschacht bestückt werden, muss dies vor SV2 (ISP-Stecker)<br />
und X2 (Sub-D-Buchse) geschehen.<br />
Vorsicht ist bei den Tantal-Elkos geboten (C3, C13, C20, C21). Die auf dem Bauteil und<br />
im Plan mit einem Strich markierte Seite steht für die Anode (Plus). Bei den Dioden D1<br />
und D2 bedeutet er hingegen Kathode (Minus).<br />
Bei den beiden LEDs ist auf der Unterseite ein Dreieck aufgedruckt. Dessen Spitze zeigt<br />
auf die Kathode. Sie muss bei beiden LEDs <strong>nach</strong> oben zeigen, wenn man die Platine vor<br />
sich hat wie in Abbildung 6.<br />
Die Ethernetbuchse X3 hat in der Regel hinten nur 7 Pins, d.h. ein Lötauge bleibt leer.<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 7
Bestückungsplan Oberseite<br />
Bauteilliste Oberseite<br />
Abbildung 6: Bestückungsplan Oberseite<br />
Bauteilkürzel Wert Bauform Bezug<br />
C3, C20, C21 22 µF Tantal D<br />
C8, C9, C11, C19, C23,<br />
C24, C25, C26<br />
100 nF 0805<br />
C13 10 µF Tantal A<br />
C15, C18 22 pF 0805<br />
D2, D3 1N4004 / 1N4007 bedrahtet<br />
F1 Picofuse 500 mA / 750 mA bedrahtet Reichelt PICO 0,5A<br />
IC2 LM317 TO-220 Reichelt LM317-220<br />
IC4 ENC28J60-SO 28SOIC Digikey ENC28J60/SO-ND<br />
JP1<br />
JP2<br />
Stifleiste 2x2 2,54<br />
Stiftleiste 2x5 2,54<br />
RM 2,54<br />
RM 2,54<br />
Reichelt SL 2X10G 2,54<br />
L1 10 µH bedrahtet Reichelt SMCC 10µ<br />
LED1, LED2 0805 Reichelt SMD-LED 0805 RT<br />
Q1 14,7456 MHz HC49U Reichelt 14,7456-HC49U-S<br />
Q2 25 MHz HC49U Reichelt 25,0000-HC49U-S<br />
R9 2,7 kOhm 0805<br />
R10, R12, R16 10 kOhm 0805<br />
R11, R13 180 Ohm 0805<br />
R14, R15 4,7 kOhm 0805<br />
S2 Taster Reichelt TASTER 1600.11<br />
SV1 Buchsenleiste 2x17 Winkel RM 2,54 Reichelt BL 2X17W 2,54<br />
SV2 Wannenstecker 2x5, Winkel RM 2,54 Reichelt WSL 10W<br />
X1 Anreihklemme 2-polig RM 5,0 Reichelt AKL055-02<br />
X2 D-Sub-Buchse 9-polig RM 9,4 Reichelt D-SUB BU 09EU<br />
X3 MAGJACK SI-60024F Digikey 380-1117-ND<br />
Seite 8 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Optionale Bestückungen<br />
Bauteilkürzel Wert Bauform Bezug<br />
IC5 24C64 SO8 Reichelt ST 24C64 MN6<br />
MMC1 Farnell Multicomp SDBMF-<br />
00915B0T2 oder Webshop<br />
von <strong>Ulrich</strong> <strong>Radig</strong><br />
3.3 Fotodokumentation<br />
Abbildung 7: Bestückte Unterseite<br />
Abbildung 8: Bestückte Oberseite<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 9
4. Programmieren des Controllers<br />
Zur Programmierung wird benötigt<br />
• Bestückte <strong>FiFi</strong>-<strong>Webserver</strong>-Platine (aus Kapitel 3)<br />
• Windows-PC mit USB-Schnittstelle<br />
• Netzteil mit 5... 9 Volt, mind. 350 mA<br />
• ISP-Programmieradapter (wird im Folgenden beschrieben)<br />
• Die Software WinAVR 7 (enthält u.a. AVRdude 8 zum Flashen des Controllers, den<br />
GCC-Compiler und den Texteditor Programmer’s Notepad)<br />
Es gibt zwei Möglichkeiten, die Firmware auf den ATmega zu laden. Die klassische Variante<br />
ist die Verwendung der sog. ISP-Schnittstelle, für die ein Programmieradapter benötigt wird.<br />
Die zweite Möglichkeit besteht in der Verwendung eines im µC befindlichen Bootloaders, mit<br />
dem die Programmierung direkt z.B. über eine RS232-Schnittstelle erfolgen kann. Bei einem<br />
µC im Auslieferzustand befindet sich jedoch noch kein Bootloader auf dem Chip, da auch<br />
dieser erst mit einem ISP aufgespielt werden muss.<br />
Es folgt daher zunächst die Beschreibung der ISP-Programmierung. Mehr zur Verwendung<br />
eines Bootloaders lesen Sie in Kapitel 4.5 auf Seite 13.<br />
4.1 ISP-Programmer<br />
Es gibt verschiedene ISP-Programmieradapter am Markt 9 . Die folgenden Ausführungen<br />
beziehen sich auf den sehr preiswerten USB-ASP, der im Webshop von <strong>Ulrich</strong> <strong>Radig</strong> erhältlich<br />
ist und auf seiner Webseite beschrieben wird 10 .<br />
Abbildung 9: ISP-Programmer<br />
Zur Verwendung des Gerätes am <strong>FiFi</strong>-<strong>Webserver</strong> wird ein Verbindungskabel für den 10poligen<br />
Programmierstecker SV2 benötigt. Es handelt sich um 1:1-Kabel mit folgenden<br />
Besonderheiten (s.a. Abbildung 10):<br />
• Pin 2 wird nicht durchverbunden, da die Spannungen von Programmieradapter und<br />
<strong>FiFi</strong>-<strong>Webserver</strong> nicht identisch sind (1).<br />
7 erhältlich bei http://winavr.sourceforge.net<br />
8 http://www.nongnu.org/avrdude/<br />
9 siehe z.B. http://www.dl1dow.de unter � Arduino � Bootloader<br />
10 http://www.ulrichradig.de/home/index.php/avr/usb-avr-prog<br />
Seite 10 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
• Es wird empfohlen, an Pin 4 zwei in Reihe geschaltete Dioden in Durchlassrichtung<br />
einzulöten, um die Spannung von 5 V auf ca. 3,3 V zu reduzieren (2).<br />
(1) (2)<br />
Abbildung 10: ISP-Programmierkabel<br />
4.2 Anpassen der Konfiguration mit WinAVR<br />
Nach dem Herunterladen und Installieren von WinAVR wird das Tool Programmer’s Notepad<br />
gestartet. Im Menü File � Open Project(s) öffnet man die Datei ETH_M32_EX.pnproj. Es<br />
werden nun alle zum Projekt gehörigen Dateien angezeigt, wobei nur die Dateien config.h<br />
und makefile ggf. angepasst werden müssen.<br />
Abbildung 11: Programmer’s Notepad<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 11
Die Datei config.h<br />
In dieser Datei in der Programmiersprache C werden einige grundlegende Konfigurationen<br />
vorgenommen. Kenntnisse der Programmiersprache sind nicht unbedingt erforderlich. Folgende<br />
Einstellungen sind zu überprüfen:<br />
• Quarzfrequenz: Die Taktfrequenz muss auf 14,7456 MHz eingestellt werden. In der<br />
Datei sieht die entsprechende Stelle so aus:<br />
//Taktfrequenz<br />
//#define F_CPU 16000000UL<br />
#define F_CPU 14745600UL<br />
Doppelte Schrägstriche kennzeichnen in C einen folgenden Kommentar. Die Definition<br />
F_CPU darf nur ein einziges Mal durchgeführt werden. Dies wurde im Beispiel oben<br />
bereits richtig wiedergegeben: Die zweite Zeile würde 16 MHz einstellen, wurde<br />
aber auskommentiert.<br />
• Kamera abschalten: Für die erste Funktionsprüfung sollte die Kamera nicht verwendet<br />
und entsprechend auch in der Config-Datei ausgeschaltet werden:<br />
//Kamera mit einbinden<br />
//Kamera arbeitet nur mit einem 14,7456Mhz Quarz!<br />
#define USE_CAM 0<br />
#define USE_SERVO 0<br />
In einigen Versionen der Firmware kann es sein, dass der <strong>Webserver</strong> nicht funktioniert,<br />
wenn die Kamera softwareseitig eingebunden, aber nicht angeschlossen ist.<br />
Außerdem finden Sie in dieser Datei die IP-Adresse (wenn auch mit etwas ungewöhnlicher<br />
Syntax mit Kommata statt Punkten):<br />
//IP des <strong>Webserver</strong>s<br />
#define MYIP IP(192,168,0,99)<br />
Merken Sie sich diese IP-Adresse für später.<br />
Die Datei makefile<br />
Die Datei makefile muss nun noch an den Programmieradapter und an den Controller angepasst<br />
werden. Beachten Sie bitte, dass in dieser Datei Kommentare mit einer Raute # beginnen,<br />
und nicht mit einem Doppelstrich //. Kontrollieren Sie folgende Einstellungen:<br />
• Controllertyp: Der <strong>FiFi</strong>-<strong>Webserver</strong> verwendet einen ATmega 644 (keinen 644p).<br />
# MCU name<br />
#MCU = atmega32<br />
MCU = atmega644<br />
#MCU = atmega644p<br />
#MCU = atmega128<br />
• Programmieradapter: Die folgenden Punkte sind nicht nötig, um eine korrekte Binärdatei<br />
zu erzeugen, aber hilfreich bei der Übertragung der erzeugten Datei in den µC.<br />
Stellen Sie bitte Folgendes ein:<br />
#AVRDUDE_PROGRAMMER = AVR910<br />
#AVRDUDE_PROGRAMMER = stk200<br />
AVRDUDE_PROGRAMMER = USBasp<br />
#AVRDUDE_PROGRAMMER = STK500v2<br />
Seite 12 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
AVRDUDE_PORT = usb # programmer connected to USB port<br />
#AVRDUDE_PORT = com1 # programmer connected to serial device<br />
#AVRDUDE_PORT = lpt1 # programmer connected to parallel port<br />
Bei Verwendung eines anderen Programmiergerätes (z.B. STK500 von ATMEL) sind<br />
die Zeilen entsprechend anzupassen.<br />
4.3 Kompilieren (make)<br />
Nach dem Abspeichern der Dateien werden in Programmer’s Notepad <strong>nach</strong>einander aufgerufen:<br />
Tools � [WinAVR] Make Clean<br />
Tools � [WinAVR] Make All<br />
Damit werden die Binärdateien erzeugt, die in den Controller geladen werden müssen.<br />
4.4 Flashen des Controllers<br />
AVRdude<br />
Wenn Sie den AVRdude von WinAVR benutzen, gehen Sie wie folgt vor:<br />
• Verbinden Sie nun den Programmieradapter mit Ihrem PC. Der USB-Treiber für USB<br />
ASP ist auf der Homepage von <strong>Ulrich</strong> <strong>Radig</strong> zu finden. 11<br />
• Entfernen Sie alle Datenkabel (seriell, Ethernet) und SD-Karten vom <strong>FiFi</strong>-<strong>Webserver</strong>.<br />
• Legen Sie Versorgungsspannung an den <strong>FiFi</strong>-<strong>Webserver</strong>.<br />
• Verbinden Sie Programmieradapter und <strong>Webserver</strong> über das 10-polige Programmierkabel<br />
gemäß Abbildung 10.<br />
• Starten Sie den Programmiervorgang in Programmer’s Notepad über das Menü Tools<br />
� [WinAVR] Program.<br />
Es wird automatisch das Kommandozeilentool AVRdude mit den richtigen Parametern (welche<br />
dem makefile entnommen wurden) gestartet. Der Fortschritt des Vorgangs ist über die<br />
Statuszeile ersichtlich.<br />
Andere Programme<br />
Wird zum Flashen ein anderes Programm verwendet, welches nicht auf das makefile zurückgreifen<br />
kann, sind folgende Einstellungen der Fusebits vorzunehmen:<br />
EXTENDED 0xFF<br />
HIGH 0xDE<br />
LOW 0xFF<br />
4.5 Bootloader<br />
Ein Bootloader ermöglicht es, einen neue Software auf den µC aufzuspielen, ohne einen<br />
speziellen Programmieradapter benutzen zu müssen. Für den <strong>FiFi</strong>-<strong>Webserver</strong> wurde ein<br />
Bootloader angepasst, mit dem die Firmware einfach per RS232 aufspielbar ist.<br />
Für das Aufspielen des Bootloaders darf die Kamera nicht angeschlossen sein! Es sind<br />
die Jumper 2 und 3 der Jumperleiste JP2 zu setzen.<br />
11 http://www.ulrichradig.de unter � Projekte � USB AVR PROG � Layout, Software und Treiber<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 13
Bootloader aufspielen<br />
Der Bootloader muss ganz normal mit einem ISP-Adapter aufgespielt werden. Zu dessen<br />
Anschluss siehe Kapitel 4.1. AVRdude sollte sich im Suchpfad befinden 12 (bei der Installation<br />
von WinAVR geschieht dies automatisch). Erstellen Sie an beliebiger Stelle einen Ordner<br />
„Bootloader”, in dem sich mindestens folgende Dateien befinden müssen:<br />
• Bootloader_AT644.hex<br />
• Program_Bootloader.cmd<br />
Das Script Program_Bootloader.cmd wird an den Programmieradapter angepasst:<br />
@echo off<br />
set part=atmega644<br />
REM set port=com7<br />
set port=usb<br />
REM set port=lpt1<br />
REM set programmer=stk500v2<br />
set programmer=USBasp<br />
REM set programmer=stk200<br />
REM set programmer=AVR910<br />
set file=Bootloader_AT644.hex<br />
set lfuse=0xff<br />
set hfuse=0xde<br />
set efuse=0xff<br />
@echo on<br />
avrdude -p %part% -P %port% -c %programmer% -e<br />
avrdude -p %part% -P %port% -c %programmer% -U flash:w:%file%:i -u -U<br />
lfuse:w:%lfuse%:m -U hfuse:w:%hfuse%:m -U efuse:w:%efuse%:m<br />
avrdude -p %part% -P %port% -c %programmer% -u -U lock:w:0xEF:m<br />
In einem Windows-Script bezeichnet „REM“ einen Kommentar. Wenn Sie ein anderes Programmiergerät<br />
als den ISP-Programmer aus Kapitel 4.1 benutzen, müssen sie ggf. die Parameter<br />
„set port“ und „set programmer“ anpassen.<br />
Beim Ausführen des Scriptes wird der gesamte Chip gelöscht, also auch der Inhalt des<br />
ATmega-EEPROMs.<br />
Der Start des Scriptes „Program_Bootloader.cmd“ über die Kommandozeile oder per Doppelklick<br />
programmiert den Bootloader in den Flash-Speicher des ATmega644. Außerdem<br />
werden direkt die Fuse-Bits korrekt gesetzt (lfuse:0xff, hfuse=0xde und efuse=0xff). Die<br />
Ausgabe im Kommandozeilenfenster gibt Auskunft über das Status des Programmiervorgangs.<br />
Die Fehlermeldung mit "verification error" ist bekannt und darf ignoriert werden. 13<br />
12 D.h. das Programm ist an der Kommandozeile von überall aus aufrufbar. Wurde früher mit „set path“ in der<br />
Datei autoexec.bat festgelegt, ist seit Windows 2000 in den Systemeigenschaften unter � Erweitert � Umgebungsvariablen<br />
zu finden.<br />
13 Bug. Nr. 21954 (http://savannah.nongnu.org/bugs/?21954)<br />
Seite 14 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Nachdem sich AVRdude als fertig ausgibt, ist der Bootloader auf den <strong>Webserver</strong> aufgespielt<br />
und das Programmiergerät wird künftig nicht mehr benötigt, um die Firmware aufzuspielen.<br />
Beachten Sie, dass der Bootloader wieder verloren geht, wenn über ISP ein anderes<br />
Programm aufgespielt wird. Wenn das aufgespielte Programm zu groß ist, stürzt der<br />
Bootloader ab.<br />
Aufspielen der Firmware mit Bootloader<br />
Wenn der Bootloader auf dem <strong>FiFi</strong>-<strong>Webserver</strong> installiert ist, benötigen Sie für das Aufspielen<br />
neuer Firmware (abweichend von der Liste auf Seite 10) nur noch folgende Komponenten:<br />
• Bestückte <strong>FiFi</strong>-<strong>Webserver</strong>-Platine (aus Kapitel 3)<br />
• Netzteil mit 5... 9 Volt, mind. 350 mA<br />
• Windows-PC mit RS232-Schnittstelle<br />
Als Bootloader für den <strong>FiFi</strong>-<strong>Webserver</strong> ist das Tool „Fastboot 1.4” 14 von Peter Dannegger<br />
vorgesehen, das seinem Namen alle Ehre macht. Es wird davon ausgegangen, dass sich die<br />
folgenden Dateien in einem Verzeichnis befinden:<br />
• z.B. FifiOCam.hex (die kompilierte Firmware, die auf den <strong>Webserver</strong> aufgespielt werden<br />
soll)<br />
• FBOOT.EXE (der Uploader)<br />
Die Firmware (=Hex-Datei) lässt sich mit den im vorherigen Kapitel beschriebenen Verfahren<br />
mit WinAVR erzeugen. Sie hat den Namen „<strong>Webserver</strong>_MEGA644.hex“ und befindet sich<br />
im Projekt-Unterordner newStack1_0_87\Hexfiles. Die HEX-Datei sollte so umbenannt<br />
werden, dass der Dateiname den alten DOS-Konventionen (8+3) genügt. Der ausgeschaltete<br />
<strong>Webserver</strong> wird per RS232 mit dem PC verbunden. Das Programm FBOOT.EXE hat folgende<br />
Parameter:<br />
FBOOT /p /c<br />
wird also in unserem Beispiel gestartet mit dem folgenden Befehl (Leerzeichensetzung genau<br />
beachten):<br />
FBOOT /pFifiOCam.hex /c1<br />
Das Übertragungsprogramm wartet nun auf Antwort vom entsprechenden COM-Port:<br />
Abbildung 12: Laufende Übertragung mit Fastboot<br />
14 http://www.mikrocontroller.net/articles/AVR_Bootloader_FastBoot_von_Peter_Dannegger. Verwenden Sie<br />
keine neuere als Version 1.4. Download: http://www.mikrocontroller.net/attachment/24619/fastload_V14.zip.<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 15
Es ist wichtig, dass die Reihenfolge eingehalten wird: Erst wird FBOOT ausgeführt und<br />
dann wird der <strong>Webserver</strong> eingeschaltet / mit Spannung versorgt.<br />
Es wird nun die neue Firmware übertragen:<br />
Abbildung 13: Erfolgte Übertragung mit Fastboot<br />
Weder <strong>FiFi</strong>-<strong>Webserver</strong> noch PC sollten während des Übertragungsvorganges ausgeschaltet<br />
oder die Kabelverbindungen getrennt werden. Passiert dies dennoch, war der<br />
Flashvorgang nicht erfolgreich und muss wiederholt werden.<br />
Seite 16 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
5. Inbetriebnahme<br />
Für dieses Kapitel benötigen Sie:<br />
• Programmierten <strong>FiFi</strong>-<strong>Webserver</strong> (aus Kapitel 4)<br />
• Spannungsversorgung mit 5... 9 Volt DC, mind. 350 mA<br />
• Windows-PC mit<br />
o Netzwerkanschluss<br />
o serieller (RS232) Schnittstelle oder einem entspr. Adapter<br />
o Terminalprogramm (z.B. Hyperterminal)<br />
o Internetbrowser<br />
• Crossover-Netzwerkkabel oder Switch mit Patchkabeln<br />
• Serielles Kabel auf 9-pol Sub-D-Stecker (1:1 oder Nullmodem)<br />
Es wird im Folgenden vorausgesetzt, dass sie die IP-Adresse des <strong>FiFi</strong>-<strong>Webserver</strong>s gegenüber<br />
den Defaulteinstellungen nicht geändert haben. Voreingestellt ist 192.168.0.99.<br />
5.1 Ethernetverbindung<br />
Um eine Ethernetverbindung zum <strong>FiFi</strong>-<strong>Webserver</strong> herzustellen, muss sich die IP-Adresse<br />
Ihres PCs im gleichen Subnetz befinden. Um dies einzustellen, stellen Sie in den Windows-<br />
Netzwerkeinstellungen wie folgt eine feste IP-Adresse ein 15 :<br />
• Rechtsklick auf das Icon „Netzwerkumgebung“ auf dem Desktop<br />
• Doppelklick auf „LAN-Verbindung“<br />
• Schaltfläche „Eigenschaften“<br />
• Doppelklick auf „Internetprotokoll (TCP/IP) in der Liste aktivierter Komponenten<br />
• IP-Adresse 192.168.0.100, Subnetz 255.255.255.0<br />
Abbildung 14: Einstellen der IP-Adresse am PC<br />
15 Beispiel für Windows 2000 und XP in der klassischen Ansicht<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 17
Verbinden Sie den <strong>FiFi</strong>-<strong>Webserver</strong> über ein Crossover-Netzwerkkabel mit ihrem PC. Im<br />
Informationsbereich der Windows-Taskbar (neben der Uhr) müsste dann eine LAN-<br />
Verbindung mit 10 MBit/s angezeigt werden. Sollte dies nicht der Fall sein, prüfen Sie bitte,<br />
ob in Ihren Netzwerkeinstellungen die Geschwindigkeit auf „Autodetect“ oder manuell auf 10<br />
MBit/s eingestellt ist. 16<br />
Geben Sie dann an der Eingabeaufforderung den Befehl „ping 192.168.0.99“ ein.<br />
Abbildung 15: Pingen des <strong>Webserver</strong>s<br />
Wird, wie in der oben stehenden Abbildung, eine Zeitmessung zurückgeliefert, sollte es<br />
möglich sein, den <strong>FiFi</strong>-<strong>Webserver</strong> auch mit einem Internetbrowser anzusprechen. Funktioniert<br />
dies nicht, überprüfen Sie bitte, ob auf Ihrem Rechner eine Firewall die Verbindung<br />
blockiert.<br />
Webinterface<br />
Starten Sie einen Internetbrowser und geben Sie als Zieladresse ein: http://192.168.0.99.<br />
Wenn sich ein Fenster öffnet und <strong>nach</strong> Zugangsdaten gefragt wird, geben Sie ein:<br />
Benutzername: admin<br />
Passwort: uli1<br />
Abbildung 16: Authentifizierung im Webinterface<br />
16<br />
Eigenschaften von LAN-Verbindung, Reiter „Allgemein“ � Schaltfläche „Konfigurieren“ � „Erweiterte<br />
Eigenschaften“ � „Connection Type“<br />
Seite 18 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Anschließend sollte folgende HTML-Seite zu sehen sein:<br />
Abbildung 17: Webinterface <strong>nach</strong> DH8GHH<br />
5.2 RS232-Verbindung<br />
Unabhängig davon, ob die Ethernetverbindung erfolgreich war, sollte zumindest eine serielle<br />
Verbindung möglich sein. Verbinden Sie die Sub-D-Buchse X2 über ein Schnittstellenkabel<br />
mit der COM-Schnittstelle Ihres PCs oder mit Ihrem entsprechenden USB-Adapter. Ferner<br />
müssen einige Einstellungen vorgenommen werden:<br />
Jumper JP1<br />
Die Jumper JP1 an der Sub-D-Buchse dienen zum Vertauschen der RXD-/TXD-Signale. Bei<br />
Verwendung eines 1:1-Kabels oder eines USB-Adapters werden sie beide horizontal gesetzt<br />
wie im Bestückungsaufdruck vorgesehen und wie in Abbildung 8 sichtbar. Verwenden Sie<br />
hingegen ein sog. Nullmodem, müssen Sie beide Jumper vertikal stecken.<br />
Jumper JP2<br />
Bei Verbindungen über die Sub-D-Buchse X2 müssen Sie grundsätzlich die Jumper-Zeilen 2<br />
und 3 setzen. Sie verbinden also die Pins 3 und 4 sowie die Pins 5 und 6 von JP2 miteinander<br />
(vgl. Tabelle „Jumperleiste JP2“ auf Seite 27).<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 19
Schnittstellenparameter<br />
Starten Sie Ihr Terminalprogramm (z.B. Hyperterminal von Windows) und stellen Sie ein:<br />
• 9600 Baud<br />
• 8 Datenbits<br />
• kein Parity<br />
• 1 Stoppbit<br />
• kein Handshake<br />
Wenn Sie mit diesen Einstellungen den Reset-Taster S2 am <strong>FiFi</strong>-<strong>Webserver</strong> drücken, müssten<br />
Sie anschließend eine Einschaltmeldung erhalten.<br />
Abbildung 18: Einschaltmeldung auf der seriellen Schnittstelle<br />
Eingabeaufforderung<br />
Der Ihnen zur Verfügung stehende Befehlssatz an der Eingabeaufforderung hängt natürlich<br />
von der Software ab, die Sie verwenden. Eine Beschreibung der als Standard in den <strong>FiFi</strong>-<br />
<strong>Webserver</strong> geflashten Software finden Sie im zugehörigen Kapitel 6 ab Seite 22.<br />
5.3 Installation im LAN<br />
In Kapitel 5.1 wurde für die erste Inbetriebnahme angenommen, dass der <strong>FiFi</strong>-<strong>Webserver</strong> eine<br />
feste IP-Adresse hat. Zur Verbindungsaufnahme haben Sie den PC ebenfalls auf eine feste IP<br />
umgestellt.<br />
Wenn Sie jedoch ein lokales Hausnetzwerk (LAN) betreiben, wird in der Regel die IP Ihres<br />
Rechners dynamisch zugewiesen (sog. DHCP 17 ), z.B. durch Ihren DSL-Router. Da Sie zum<br />
<strong>FiFi</strong>-<strong>Webserver</strong> jedoch nur dann eine Verbindung herstellen können, wenn er sich im gleichen<br />
Subnetz wie Ihr PC befindet, kann es erforderlich sein, die IP des <strong>FiFi</strong>-<strong>Webserver</strong>s zu<br />
ändern, damit die Adresse innerhalb des gültigen Adressbereiches liegt.<br />
Das Ändern der IP-Adresse ist dauerhaft in der Datei config.h möglich, oder während des<br />
Betriebs über die serielle Schnittstelle unter Verwendung des Befehls „IP“ (mehr dazu folgt in<br />
17 DHCP = Dynamic Host Configuration Protocol<br />
Seite 20 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Kapitel 6.1). Vergeben Sie einfach eine IP, die sich nur auf der letzten Zahl von der dynamisch<br />
zugewiesenen IP Ihres Rechners 18 unterscheidet.<br />
Die folgende Abbildung zeigt ein Beispiel, in dem<br />
• der DHCP-Server („FRITZ!Box“) die IP 192.168.178.1 hat<br />
• per DHCP die Adressen 192.168.178 20 bis 192.168.178.32 vergeben werden können<br />
(d.h. Ihr Rechner wird eine IP aus diesem Bereich haben).<br />
• Sie für den <strong>FiFi</strong>-<strong>Webserver</strong> z.B. die Adresse 192.168.178.2 vergeben könnten.<br />
Abbildung 19: Beispielkonfiguration eines LAN<br />
18 abrufbar mit dem Befehl „ipconfig“ an der Eingabeaufforderung<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 21
6. Standard-Software<br />
Wie bei allen Mikrocontroller-Projekten wird auch der <strong>FiFi</strong>-<strong>Webserver</strong> erst durch seine<br />
Software interessant. Hier sind die eigenen Fähigkeiten und eigene Ideen gefragt. Im Folgenden<br />
kann nur die Software beschrieben werden, die standardmäßig auf den Controller geflasht<br />
wird.<br />
Bedenken Sie bitte, dass auch dies nur eine Momentaufnahme darstellt, da die Software vom<br />
Autor <strong>Ulrich</strong> <strong>Radig</strong> und anderen ständig weiterentwickelt und verbessert wird. Zu diesem<br />
Zweck hat <strong>Ulrich</strong> ein Onlineforum eingerichtet 19 , dessen Besuch hier ausdrücklich empfohlen<br />
wird.<br />
6.1 Die Kommandozeile<br />
Über die serielle Schnittstelle können mit Hilfe eines Terminal-Programms die Ausgaben des<br />
<strong>Webserver</strong>s mitgelesen werden (z.B. für debugging). Außerdem können verschiedene Kommandos<br />
an den Server gesendet und Einstellungen angepasst werden. Beispielsweise lassen<br />
sich WakeOnLan Pakete versenden. Die Tabelle zeigt alle derzeit möglichen Befehle.<br />
Befehl Bedeutung<br />
reset Setzt den AVR-Controller zurück<br />
arp Gibt die aktuelle ARP-Tabelle aus<br />
tcp Gibt die aktuelle Tabelle der TCP Verbindungen aus<br />
ip [] Gibt die aktuelle IP Adresse des Boards aus, oder überschreibt diese mit <br />
Gibt die aktuelle Netzwerkmaske des Boards aus, oder überschreibt diese mit<br />
net [] <br />
router [] Gibt die aktuelle IP Adresse des Routers aus, oder überschreibt diese mit <br />
ntp [] Gibt die aktuelle IP Adresse des NTP-Servers aus, oder überschreibt diese mit <br />
ntpr Holt die Zeit vom NTP-Server und stellt die Uhr des Boards<br />
mac Gibt die MAC-Adresse des Boards aus<br />
ping Sendet einen Ping an <br />
ver Gibt die Versionsnummer des ENC-Netzwerkchips aus<br />
sv set variable. Doku?<br />
time Gibt die aktuelle Zeit aus<br />
wol [] [] Versendet ein MagicPacket an die gespeicherte MAC-Adresse,<br />
oder überschreibt die MAC-Adresse,<br />
oder überschreibt die MAC-Adresse und die Broadcast-IP<br />
help, ? Gibt eine Hilfe aus<br />
6.2 MAC-Adresse<br />
Unter der MAC-Adresse 20 versteht man die Hardwareadresse eines Netzwerkadapters, die zur<br />
eindeutigen Identifikation des Gerätes im Netzwerk dient. Jede MAC-Adresse sollte nur ein<br />
mal vorkommen.<br />
Beim <strong>FiFi</strong>-<strong>Webserver</strong> wird die Adresse in der Datei config.h definiert. Sie lautet gemäß<br />
Voreinstellung „00 20 18 B1 15 6F“. Sie wird unverändert in jeden <strong>Webserver</strong> geflasht, wenn<br />
man sie nicht vorher manuell anpasst. Dies ist normalerweise kein Problem, denn die MAC-<br />
Adresse hat nur bis zum Router eine Bedeutung. Problematisch wird es, wenn in einem LAN<br />
19 http://www.ulrichradig.de/site/forum/index.php, insb. Foren „ETH_M32_EX“ und „AVR-Webmodule“<br />
20 MAC = Media Access Control<br />
Seite 22 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
mehrere <strong>FiFi</strong>-<strong>Webserver</strong> gleichzeitig betrieben werden sollen. In dem Fall müssen unterschiedliche<br />
MAC-Adressen vergeben werden.<br />
Vereinfacht gesagt sind die ersten drei HEX-Zahlen der Adresse (also 00 20 18) eine Herstellerkennung.<br />
21 Die letzten drei HEX-Zahlen (hier B1 15 6F) stellen eine fortlaufende Nummer<br />
da. Bestimmte Kombinationen sind jedoch ungültig.<br />
Sollten Sie für Ihr LAN verschiedene MAC-Adressen vergeben müssen, ändern Sie bitte<br />
die letzte der sechs HEX-Zahlen. Benutzen Sie die Zahlen 5F, 6F, 7F, 8F und 9F.<br />
6.3 Passwort ändern<br />
Benutzername und Passwort werden selbsterklärend in der Datei config.h festgelegt.<br />
//<strong>Webserver</strong> mit Passwort? (0 == mit Passwort)<br />
#define HTTP_AUTH_DEFAULT 0<br />
//AUTH String "USERNAME:PASSWORT" max 14Zeichen<br />
//für Username:Passwort<br />
#define HTTP_AUTH_STRING "admin:uli1"<br />
6.4 Webinterface<br />
Das Webinterface kann den eigenen Vorstellungen angepasst werden. Der Code dazu ist in<br />
der Datei webpage.h zu finden. Diese Datei hat nicht HTML-Format, sondern liegt in der<br />
Programmiersprache C vor. Sie beinhaltet aber die HTML-Datei (oder auch mehrere davon)<br />
sowie die benutzten Grafiken.<br />
Die Datei webpage.h wurde von Gerrit Herzig (DH8GHH) gegenüber der Version, welche auf<br />
der Homepage von <strong>Ulrich</strong> <strong>Radig</strong> erhältlich ist, optisch für den Fichtenfieldday angepasst.<br />
Sie bietet einige Grundfunktionen und Lösungsbeispiele für typische Anwendungen, so dass<br />
man auch ohne besondere Kenntnisse in C und / oder HTML durch „Abkupfern“ des Quelltextes<br />
zum Ziel kommen kann. Beispiele:<br />
• Setzen und Einlesen bestimmter Ports<br />
• Bilder darstellen<br />
• Kamera einbinden<br />
• Unterseiten realisieren<br />
• IF-THEN-Bedingung<br />
Grafiken einbinden<br />
Grafikdateien müssen umformatiert werden, bevor sie in die Datei webpage.h eingebunden<br />
werden können. (wie? t.b.d.)<br />
6.5 Telnetd<br />
Auf Port 23 horcht ein Telnetserver und tauscht Daten mit der seriellen Schnittstelle des<br />
Boards aus. Somit ist die RS232-Schnittstelle des Boards über das Internet "tunnelbar" und es<br />
können viele Geräte (z.B. Telefonanlagen) aus der Ferne gesteuert werden. Geplant ist auch<br />
der Zugriff auf die Kommandozeile per Telnet.<br />
21 Die Adresse des <strong>FiFi</strong>-<strong>Webserver</strong>s stammt von einer alten Realtek-Netzwerkkarte<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 23
6.6 NTP Client<br />
Durch den NTP Client (NTP = Network Time Protocol) ist es möglich von einem NTP Server<br />
die aktuelle Uhrzeit zu beziehen. Somit kann man auch eine kleine Ethernet Uhr bauen, die<br />
über das Internet die aktuelle Uhrzeit empfängt.<br />
Seite 24 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
7. Projektdaten<br />
7.1 Technische Daten<br />
• Betriebsspannung: 5,0 … 9 Volt<br />
• Controller: ATmega 644, Fa. ATMEL<br />
o Takt: extern 14,75 MHz (gleichzeitig Takt für externe Kamera)<br />
o 64 kB Flash<br />
o 2 kB EEPROM<br />
o 4 kB SRAM<br />
o Betriebsspannung 3,3 V<br />
o Inputs: max. –0,5 .. 3,8 V<br />
o Outputs: max. 40 mA (max. 200 mA gesamt)<br />
• Ethernet-Controller: ENC28J60, Fa. Microchip, 10 Mbit/s (kein autom. Crossover)<br />
• Serielle Schnittstelle: MAX3232, 9600 Baud 8N1<br />
• Programmierschnittstelle ISP (STK200)<br />
• Stromaufnahme: ca. 200 mA ohne Erweiterungen<br />
• 64 kB EEPROM optional<br />
• SD-Kartenschacht optional<br />
• Abmessungen der Leiterkarte 51,3 mm x 100,0 mm<br />
7.2 Schaltungsbeschreibung<br />
Die Schaltung des <strong>FiFi</strong>-<strong>Webserver</strong>s besteht aus den Funktionsblöcken<br />
• Spannungsversorgung<br />
• Mikrocontroller<br />
• Ethernetcontroller<br />
Spannungsversorgung<br />
Alle Schaltungsteile werden mit 3,3 V versorgt. Die Batteriespannung wird deshalb mit dem<br />
Linearregler IC2 (LM317) auf diesen Wert geregelt. Dazu wird IC2 gemäß Datenblatt mit den<br />
Widerständen R1 und R2 beschaltet. Zur Funktion sollten am Eingang des Reglers mindestens<br />
4,5 V anliegen. Aus thermischen Gründen sollten jedoch 9 V nicht überschritten werden.<br />
Die Diode D1 erzeugt bei Verpolung einen Kurzschluss, um F1 auszulösen; D2 dient zum<br />
Schutz gegen Rückwärtsversorgung. Als F1 kann alternativ ein kleiner Metallschichtwiderstand<br />
(!) mit 0,1 Ohm eingesetzt werden. LED1 dient als Betriebsspannungsanzeige.<br />
Mikrocontroller<br />
Dem Mikrocontroller IC1 (ATmega 644) genügt als externe Beschaltung der Quarz Q1 mit<br />
seinen Schwingkreiskondensatoren C15 und C18. Die recht hohe Frequenz 14,75 MHz wurde<br />
trotz leichter Übertaktung gewählt, da sie gleichzeitig zum Anschluss einer Kamera verwendet<br />
werden kann (siehe dazu Kapitel 8.2).<br />
Die Chip-Select-Signale CS_1 (Pin 43) und CS_2 (Pin 41) sowie das Interrupt-Signal (Pin 42)<br />
werden intern für die Ansteuerung der Peripherie benötigt. Alle anderen Signale werden an<br />
die Stiftleiste SV1 geführt und stehen für eigene Projekte zur Verfügung. CS_2 ist mit der<br />
LED2 beschaltet, S2 ist als Resettaster vorgesehen.<br />
Die RXD/TXD-Signale (Pins 9 und 10) dienen zur Kommunikation mit dem Schnittstellenbaustein<br />
IC3, der ein Allzweckinterface mit 9600 Baud zur Verfügung stellt.<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 25
Die Signale MOSI, MISO, SCLK (Pins 1 bis 3), CS_1 sowie der Interrupt stellen eine SPI-<br />
Schnittstelle zum Ethernetcontroller bereit.<br />
Ethernetcontroller<br />
Die Ethernetschnittstelle besteht aus dem Controller IC4 mit externem 25-MHz-Quarz (Q2),<br />
einer RJ45-Buchse mit integriertem Übertrager und zwei Leuchtdioden. Die Drossel L1 dient<br />
als Filter für die Spannungsversorgung. Die Widerstände R5 bis R8 sind Abschlusswiderstände<br />
für die Ethernetleitung; sie können mit 47 Ohm bestückt werden.<br />
7.3 Belegung der Schnittstellen<br />
Buchsenleiste SV1 (I/O-Schnittstelle)<br />
Pin SV1 Signalname Pin IC1 Verwendung<br />
1 PC3 (TMS) 22<br />
2 PC2 (TCK) 21<br />
3 PC1 (SDA) 20 EEPROM IC5-Pin 5<br />
4 PC0 (SCL) 19 EEPROM IC5-Pin 6<br />
5 PD7 (OC2) 16<br />
6 PD6 (ICP) 15<br />
7 PD5 (OC1A) 14<br />
8 PD4 (OC1B) 13<br />
9 PD3 (INT1) 12<br />
10 PD2 (INT0) 11<br />
11 PD1 (TXD) 10 RS232 IC3-Pin 10 [9] / JP2-Pin 3<br />
12 PD0 (RXD) 9 RS232 IC3-Pin 9 [10] / JP2-Pin 5<br />
13 PB7 (SCK) 3 MMC1-CLK / ISP SV2-Pin 7 / Ethernet IC4-Pin 8<br />
14 PB6 (MISO) 2 MMC1-DAT/DO / ISP SV2-Pin 9 / Ethernet IC4-Pin 6<br />
15 PB5 (MOSI) 1 MMC1-CMD/DI / ISP SV2-Pin 1 / Ethernet IC4-Pin 7<br />
16 PB4 (SS) 44<br />
17 (nc) -<br />
18 (nc) -<br />
19 (nc) -<br />
20 PB0 (T0/XCK) 40<br />
21 PA0 (ADC0) 37<br />
22 PA1 (ADC1) 36<br />
23 PA2 (ADC2) 35<br />
24 PA3 (ADC3) 34<br />
25 PA4 (ADC4) 33<br />
26 PA5 (ADC5) 32<br />
27 PA6 (ADC6) 31<br />
28 PA7 (ADC7) 30<br />
29 PC7 (TOSC2) 26<br />
30 PC6 (TOSC1) 25<br />
31 PC5 (TDI) 24 JP2-Pin 2<br />
32 PC4 (TDO) 23<br />
33 +5V -<br />
34 GND<br />
Seite 26 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Wannenstecker SV2 (ISP-Schnittstelle)<br />
Pin SV2 Signalname<br />
1 MOSI<br />
2 VCC<br />
3 (nc)<br />
4 (nc)<br />
5 /RES<br />
6 GND<br />
7 SCK<br />
8 GND<br />
9 MISO<br />
10 GND<br />
MMC/SD-Kartenschacht<br />
Pin MMC1 Signalname<br />
1 CS<br />
2 CMD/DI<br />
3 GND<br />
4 VCC<br />
5 CKL/SCK<br />
6 GND<br />
7 DAT/DO<br />
8 (nc)<br />
9 (nc)<br />
Jumperleiste JP2<br />
Pin<br />
JP2<br />
Jumper Signalname<br />
1 1 GND<br />
2<br />
PC5<br />
3 2 TXD<br />
4<br />
TXD1<br />
5 3 RXD<br />
6<br />
RXD1<br />
7 4 (nc)<br />
8<br />
(nc)<br />
9 5 +5V<br />
10<br />
(nc)<br />
Abbildung 20: MMC-Pinbelegung<br />
Abbildung 21: Pinbelegung JP2<br />
7.4 Schaltplan<br />
Auf der folgenden Seite finden Sie den Schaltplan des <strong>FiFi</strong>-<strong>Webserver</strong>s.<br />
Achtung! Das Netz mit dem Namen „+5V“ steht für die von Ihnen angeschlossene<br />
Versorgungsspannung, die durchaus mehr als 5 Volt betragen<br />
kann! Die mit dem LM317 (IC2) geregelte Spannung von 3,3 Volt wird mit<br />
dem Netz „VCC“ bezeichnet.<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 27
Abbildung 22: Schaltplan<br />
Seite 28 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
8. Extras<br />
8.1 Gehäuse<br />
Hutschienengehäuse<br />
Konzipiert wurde die Platine für den Einbau in ein sog. Hutschienengehäuse.<br />
Abbildung 23: Vorschlag Hutschienengehäuse (<strong>Ulrich</strong> <strong>Radig</strong>)<br />
Schlecht erkennbar in der linken Abbildung ist die 2x17-polige Stiftleiste in der Mitte der<br />
Platine. Sie nimmt die SV1 des <strong>FiFi</strong>-<strong>Webserver</strong>s auf. Aus Gründen der Bauhöhe musste der<br />
schwarze Kunststoffsteg <strong>nach</strong> dem Einlöten entfernt werden. Zu dem Gehäuse ist auf der<br />
Homepage von <strong>Ulrich</strong> eine BMP-Datei zur Anfertigung einer passenden Blende (wie im<br />
rechten Bild) verfügbar.<br />
Euro-Kühlrippengehäuse<br />
Da die Leiterkarte die Breite einer Eurokarte hat, lassen sich auch viele dafür vorgesehene<br />
Gehäuse direkt einsetzen. Problematisch ist allerdings, dass die Bestückung bis sehr nah an<br />
den Platinenrand geht. Um mechanische Überbeanspruchung oder elektrische Kurzschlüsse<br />
zwischen Gehäuse und Leiterbahnen zu verhindern, ist daher Vorsicht geboten. Erfolgreich<br />
getestet wurde der Einbau in ein Euro-Kühlrippengehäuse:<br />
Abbildung 24: Vorschlag Euro-Kühlrippengehäuse (DL1DOW)<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 29
8.2 Kamera<br />
Es ist möglich, die externe Philips-Handykamera DC-3840 an den <strong>FiFi</strong>-<strong>Webserver</strong> anzuschließen.<br />
Die Farbkamera bietet eine Auflösung von 640x480 Bildpunkte und wird über die<br />
Jumperleiste JP2 verbunden.<br />
Abbildung 25: Kamera Philips DC-3840<br />
Die Kamera erhöht die Stromaufnahme des <strong>FiFi</strong>-<strong>Webserver</strong>s um ca. 60 mA. Sie ist damit<br />
auch weiterhin niedrig genug, um eine Versorgung über USB zu ermöglichen.<br />
Umbau der Kamera<br />
Die beiden Hälften des Kameragehäuses sind an vier Stellen miteinander verrastet (siehe<br />
Abbildung 26). Man muss sie an diesen Stellen mit einem geeigneten Schraubendreher aufhebeln.<br />
Dabei kommt zugute, dass die Platine von einem Kunststoffrahmen umgeben ist, so dass<br />
nicht die Gefahr besteht, dass man den Schraubendreher zu weit eindrückt und damit die<br />
Platine beschädigt.<br />
Abbildung 26: Rastnasen an der Kamera<br />
Seite 30 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Zum Entnehmen der Platine werden die vier Schrauben an den Ecken (und nur diese!) gelöst.<br />
Der Originalstecker wird abgeschnitten und die Kabelenden so verlängert, dass sie auf eine<br />
für die Jumperleiste JP2 passende Buchsenleiste führen. Halten Sie sich dabei an die<br />
Abbildung 27 sowie die folgende Tabelle.<br />
Achtung! Die Kamera wird mit 5 V DC betrieben. Diese Spannung ist direkt<br />
(ohne Spannungsregler) von der Anreihklemme X1 aus durchverbunden.<br />
Das heißt, die Versorgungsspannung des <strong>FiFi</strong>-<strong>Webserver</strong>s darf bei angeschlossener<br />
Kamera 5 V nicht überschreiten!<br />
Abbildung 27: Kamera-Anschlusskabel<br />
Pin JP2 Kabelfarbe Signalname Originalstecker-Pin<br />
1 schwarz GND Ring innen<br />
2 (nc)<br />
3 grün RX Kamera Ring Mitte<br />
4 (nc)<br />
5 blau TX Kamera Ring vorn<br />
6 (nc)<br />
7 (nc)<br />
8 (nc)<br />
9 rot +5V Außenleiter<br />
(nc) weiß Kamera Preset Spitze<br />
Inbetriebnahme<br />
Die Kamera wird in der Datei config.h mittels Programmer’s Notepad konfiguriert. Die<br />
Passage lautet:<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 31
Kamera mit einbinden<br />
//Kamera arbeitet nur mit einem 14,7456Mhz Quarz!<br />
#define USE_CAM 0<br />
#define USE_SERVO 0<br />
//In cam.c können weitere Parameter eingestellt werde<br />
//z.B. Licht, Kompression usw.<br />
//Auflösungen<br />
//0 = 160x120 Pixel kürzer (zum testen OK ;-)<br />
//1 = 320x240 Pixel ca. 10 Sek. bei einem Mega644<br />
//2 = 640x480 Pixel länger (dauert zu lang!)<br />
#define CAM_RESELUTION 2<br />
Hier setzen Sie einfach USE_CAM von 0 auf 1. Achtung: Es kann sein, dass Ihr <strong>FiFi</strong>-<br />
<strong>Webserver</strong> nicht funktioniert, wenn Sie diesen Wert auf 1 setzen, aber keine Kamera angeschlossen<br />
haben!<br />
Anzeige des Bildes<br />
Der Code für die Anzeige des Kamerabildes ist bereits in der Datei webpage.h (Kapitel 6.4)<br />
enthalten. Bei Verwendung einer Kamera wird es einfach an Stelle des <strong>FiFi</strong>-Logos angezeigt.<br />
Abbildung 28: Kamerabild im Webinterface<br />
Beachten Sie bitte, dass die Übertragung und Verarbeitung des Bildes einen Moment dauert<br />
(insbesondere bei hoher Auflösung „#define CAM_RESELUTION 2“ wie im Beispiel).<br />
Wenn mehrere User gleichzeitig die HTML-Seite (und damit das Bild) abrufen, kann es sein,<br />
dass keine Daten mehr kommen und der <strong>FiFi</strong>-<strong>Webserver</strong> vorübergehend nicht erreichbar ist.<br />
Auch für die Kamera gibt es ein Forum auf der Homepage von <strong>Ulrich</strong> <strong>Radig</strong>. 22<br />
22 http://tinyurl.com/5mwzla<br />
Seite 32 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Kameragehäuse<br />
Für die Außenmontage der Kombination <strong>FiFi</strong>-<strong>Webserver</strong> und Philips-Kamera bietet sich ein<br />
Gehäuse an, das von der Firma Pollin 23 unter der Bestellnummer 580 168 vertrieben wird. Die<br />
Größe ist zwar recht üppig, dafür ist das Gehäuse aber wetterfest und vor allem günstig (unter<br />
15 EUR).<br />
Abbildung 29: Gehäuse für IP-Außenkamera (Bild von www.pollin.de)<br />
Netzteil<br />
Ebenfalls von Pollin ist für unter 5 EUR ein geeignetes 5-V-Stecker-Schaltnetzteil verfügbar.<br />
Die Bestellnummer lautet 350 174. Beachten Sie bitte, dass es sich bei den Artikeln um<br />
Restposten mit begrenzter Verfügbarkeit handeln kann.<br />
8.3 Grundplatine<br />
<strong>Ulrich</strong> <strong>Radig</strong>, der Entwickler des <strong>FiFi</strong>-<strong>Webserver</strong>s, hat auch eine passende Trägerplatine dazu<br />
entworfen. Wie schon die Platine des <strong>Webserver</strong>s, ist auch die Grundplatine mechanisch zum<br />
Einbau in ein Hutschienengehäuse (siehe Kapitel 8.1) konzipiert.<br />
23 http://www.pollin.de<br />
Abbildung 30: Schaltplan der Grundplatine <strong>nach</strong> <strong>Ulrich</strong> <strong>Radig</strong><br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 33
Abbildung 31: Layout der Grundplatine <strong>nach</strong> <strong>Ulrich</strong> <strong>Radig</strong><br />
Bauteilkürzel Wert Bauteilkürzel Wert<br />
D1..D4 1N4148 OK1..OK4 PC817<br />
D5..D6 Z-Diode 3,6 V Q1..Q4 BC337<br />
D7 BAT49 RN2 SIL8x680<br />
IC1 MC34063AP RN3 SIL5x100k<br />
L1 100 µH X1..X14 Wago508<br />
8.4 DynDNS<br />
Wenn Sie möchten, dass Sie ihren <strong>FiFi</strong>-<strong>Webserver</strong> auch von außerhalb Ihres LANs, also aus<br />
dem Internet erreichen können, so sollten Sie einen dynamischen DNS-Account 24 anlegen.<br />
Das hat den Vorteil, dass Sie Ihr Gerät immer unter der gleichen Adresse erreichen, auch<br />
wenn sich Ihre IP-Adresse ändert, etwa durch Zwangstrennung <strong>nach</strong> 24 Stunden.<br />
Wenn Sie hingegen eine feste IP-Adresse haben oder Ihnen der Aufruf über die IP zum Testen<br />
genügt, benötigen Sie dennoch eine Portfreigabe Ihres Routers. Dies wird auf Seite 36<br />
beschrieben.<br />
24 DNS = Domain Name System<br />
Seite 34 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Kostenlosen Account anlegen<br />
Rufen Sie die Webseite www.dyndns.com auf und klicken Sie auf „Create Account“. Im<br />
folgenden Formular müssen Sie als erstes einen Usernamen wählen. Dieser wird später aber<br />
nicht zwangsläufig Teil Ihrer URL sein.<br />
Abbildung 32: DynDNS-Account erstellen<br />
Nach Ausfüllen des Formulars erhalten Sie <strong>nach</strong> wenigen Minuten eine E-Mail mit einem<br />
Link, den Sie zur Bestätigung aufrufen müssen. Anschließend können Sie sich mit Ihrem<br />
gewählten Passwort einloggen.<br />
Wählen Sie nun „Add New Hostname“. Nun können Sie sich den Namen Ihrer künftigen<br />
URL aussuchen, wobei sowohl der Hostname als auch die Domain innerhalb bestimmter<br />
Grenzen wählbar ist. Weitere Angaben sind nicht nötig; Ihre derzeitig IP erkennt das System<br />
auf Wunsch automatisch.<br />
Abbildung 33: Hostnamen hinzufügen bei DynDNS.com<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 35
Router für DynDNS konfigurieren<br />
Auch Ihren Router müssen Sie für DynDNS einrichten. Der Router muss nämlich dem<br />
DynDNS-Anbieter Ihre jeweils benutzte öffentliche IP-Adresse mitteilen. Wie das zu bewerkstelligen<br />
ist, entnehmen Sie dem Handbuch Ihres Routers. Das folgende Beispiel zeigt die<br />
Konfigurationsseite einer FRITZ!Box.<br />
Abbildung 34: Dynamic DNS-Konfiguration in einer FRITZ!Box<br />
Unabhängig von dem von Ihnen gewählten Domainnamen geben Sie bitte unter „Dynamic<br />
DNS-Anbieter“ stets „dyndns.org“ an.<br />
Portfreigabe<br />
In Ihrem Router müssen Sie eine sog. Portfreigabe für das Webinterface des <strong>FiFi</strong>-<strong>Webserver</strong>s<br />
einrichten (Port 80). Das setzt zunächst voraus, dass Ihr <strong>FiFi</strong>-<strong>Webserver</strong> im LAN läuft, d.h.<br />
von anderen Rechner im LAN gepingt werden kann. Mehr dazu lesen Sie im Kapitel 5.3 auf<br />
Seite 20.<br />
Ist dies gegeben, aktivieren Sie die Portfreigabe entsprechend der Anleitung zu Ihrem Router.<br />
Die folgende Abbildung zeigt wiederum exemplarisch eine FRITZ!Box. In dem Beispiel<br />
lautet die IP des <strong>FiFi</strong>-<strong>Webserver</strong>s 192.168.1.100.<br />
Seite 36 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>
Abbildung 35: Portfreigabe in einer FRITZ!Box<br />
Ist auch das erledigt, sollte Ihr <strong>FiFi</strong>-<strong>Webserver</strong> aus dem Internet erreichbar sein. Im genannten<br />
Beispiel wäre die URL http://dh8ghh.dyndns.org.<br />
8.5 Amateurfunksoftware<br />
Felix Erckenbrecht (DG1YFE) hat bei Sourceforge 25 ein Projekt „<strong>FiFi</strong>-<strong>Webserver</strong>“ eingerichtet,<br />
bei dem es um die Verbesserung und Weiterentwicklung der Standard-Software (Kapitel<br />
6) geht. Der Fokus bei Erweiterungen soll auf Amateurfunkanwendungen liegen.<br />
Die URL lautet http://sourceforge.net/projects/fifi-webserver/.<br />
8.6 SD-Karte<br />
Der <strong>FiFi</strong>-<strong>Webserver</strong> bietet die Bestückoption für einen SD-Kartenhalter (MMC1). Der Betrieb<br />
erfolgt im SPI-Modus; die Pinbelegung finden Sie auf Seite 27. Für nähere Informationen<br />
wird auf das Forum der Webseite von <strong>Ulrich</strong> <strong>Radig</strong> verwiesen. Ausgekoppelt daraus<br />
wurde bereits der sog. Mini-FTP 26 , eine Software, die den Zugriff auf die Karte ermöglichen<br />
soll.<br />
Mini-FTP<br />
Das Tool arbeitet mit dem Dateisystem FAT16. Nach Aussage des Entwicklers sind bereits<br />
folgende Funktionen verfügbar:<br />
• Anonymous Login<br />
• Umschalten auf PASV Mode (nur dieser ist implementiert)<br />
• Ausgeben des Directory listing<br />
• Herunterladen von Dateien per RETR<br />
8.7 COM Port Redirector<br />
Der <strong>Webserver</strong> ist in der Lage via Telnet eine Verbindung zur RS232 Schnittstelle des AVRs<br />
aufbauen. Eingehende Zeichen an der seriellen Schnittstelle des <strong>Webserver</strong>s werden zur<br />
gestarteten Telnetapplikation gesendet. Dieses kann auch umgekehrt erfolgen, also von der<br />
Tellnetapplikation zur RS232 Schnittstelle des <strong>Webserver</strong>s. Mithilfenahme der Tools<br />
25 Eine Entwicklerplattform für OpenSource-Softwareprojekte. http://sourceforge.net/<br />
26 http://www.ulrichradig.de/home/index.php/avr/eth_m32_ex/erweiterungen/mini-ftp<br />
DARC e.V. Ortsverband <strong>Lennestadt</strong> <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> Seite 37
„com0com“ und „com2tcp“ kann nun ein virtueller COM Port eingerichtet werden. Eventuell<br />
muss der RX Buffer der seriellen Schnittstelle vergrößert werden. Dieses erfolgt in der „usart.h“<br />
bei dem Eintrag BUFFER_SIZE.<br />
Seite 38 <strong>FiFi</strong>-<strong>Webserver</strong> <strong>Dokumentation</strong> DARC e.V. Ortsverband <strong>Lennestadt</strong>