03.01.2013 Aufrufe

FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt

FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt

FiFi- Webserver nach Ulrich Radig Dokumentation - OV Lennestadt

MEHR ANZEIGEN
WENIGER ANZEIGEN

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>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!