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