Einfacher und billiger Webserver mit AtMega32
Beschreibung
Diese Webserver-Hardware besteht aus:
- einer kleinen Leiterkarte (ca. 15cm*5cm)
- einem alten ISA-Steckplatz (von einem Motherboard ausgelötet)
- einer alten ISA-Netzwerkkarte (mit RTL8019 oder 3COM-Chip)
- einem gesockelten Atmega32 (bzw. Atmega644 siehe unten!)
- einer seriellen Schnittstelle
- einer Stiftleiste, die ich als SD-Karten-Steckplatz benutze
- ein bischen Kleinkram
Was macht diese Hardware?
Es ist ein kompletter Webserver, das heisst: "meine Homepage läuft darauf"! Die Homepage ist auf einer SD-Karte gespeichert! Einen kleinen Telnet-Server hat Ulrich Radig auch implementiert. Ein kleiner FTP-Server ist auch mit drauf. Die Homepage erstellt man einfach am PC, speichert sie auf der SD-Karte, und los gehts.
Welche Internet-Adresse hat dann solch ein Webserver?
Bei meinem Internet-Router kann ich einen sogenannten "dynDNS-Dienst" (kostenlos) eintragen. Dann hat mein Webserver im Internet z. B. folgende Adresse: "www.MeinWebserver.dyndns.org". Mein Webserver steht dann schön bei mir zu hause und kann aus dem Internet angesprochen werden. Wenn er nicht aus dem Internet angesprochen werden soll, lasse ich die DynDNS-Geschichte weg und spreche ihn direkt über eine netzinterne IP-Adresse (in der Art 192.168.2.*) an. Dafür reicht mein kleines Haus-Netzwerk, oder einfach nur ein PC mit einem gekreuzten Netzwerkkabel.
Hardware
Die Platine kann bei mikrocontroller.cco-ev.de bestellt werden. Eine Bestelliste für die anderen Bauteile ist am Ende des Artikels angegeben. Der Aufbau ist unproblematisch, soweit etwas Löterfahrung gegeben ist.
Software
Mit der aktuellen Software V1.40 (ACHTUNG: hierbei einen MEGA644 verwenden) wurde der Funktionsumfang stark erweitert. Die Software kann u.a. die Zeitinformation von einem NTP-Server abfragen, E-Mails getriggert verschicken, Daten auf die SD-Karte schreiben (z. B. zeit- oder ereignisgesteuert Bilder von der WebCam) oder die WebCam-Bilder zu einem FTP-Server übertragen. Das ganze funktioniert nicht nur im internen Netz, sondern auch durch einen Router nach 'draussen'. Die Datenübergabe und - verarbeitung zum/vom Browser ist 'einfacher' geworden. Man kann mit speziellen Tags im HTML-Code direkt auf ein Array im RAM des Controllers zugreifen, um Werte auszugeben oder zu setzen. Für eine detailliertere Beschreibung der Funktionen, bitte den Link unten auf dieser Seite benutzen.
Inbetriebnahme
- Fuse-bit auf Quartz einstellen (XTAL), JTAG deaktivieren
- Software aufspielen (Source)
- Seriellen Ausgang mit Terminal-Programm überwachen (9600 Baud, 8 Datenbits, 1 Stopbit, keine Flusskontrolle)
- Mit Netzwerk verbinden. Bei Problemen sicherstellen: Ist dein Rechner in der selben IP-Gruppe (192.168.x.*)?
Siehe auch
- Ursprungsbeitrag im Forum
- Webserver zur Temperaturmessung
- WebCam für den Webserver
- Originalbeschreibung zum AVR-Webserver
- i2c-Expander
- Details zur Software V1.40
- Anpassung für die Verwendung einer 3COM-Netzwerkarte
Bestellliste
Layout |
Anzahl |
Reichelt-Nr | Bezeichnung | Preis in € |
Gesamtpreis in € |
IC1 |
1 |
ATMEGA 32-16 DIP ATMEGA 644-20PU |
ATMega AVR-RISC-Controller, DIL-40 bzw. alternativ: Pinkompatibler Atmega 644 |
4,45 bzw. 6,35 |
4,45 bzw. 6,35 |
1 |
GS 40 |
IC-Sockel, 40-polig, doppelter Federkontakt | 0,10 |
0,10 | |
IC2 |
1 |
MAX 232 CPE | RS232-Driver, DIL-16 | 0,41 |
0,41 |
1 |
GS 16 |
IC-Sockel, 16-polig, doppelter Federkontakt | 0,05 |
0,05 | |
SV1 |
1 |
WSL 10G |
Wannenstecker, 10-polig, gerade | 0,07 |
0,07 |
SV2 |
1 |
WSL 14G |
Wannenstecker, 14-polig, gerade | 0,14 |
0,14 |
MMC/SD |
1 |
SL 2x10G 2,54 |
auf 2x7 kürzen |
0,07 |
0,07 |
C1 - C2 |
2 |
KERKO 22P | 0,06 |
0,12 | |
C3 - C9 / C13 |
9 |
KERKO 100N | 0,06 |
0,54 | |
C10 |
1 |
100nF |
? |
? |
? |
C11 / C12 |
2 |
TANTAL 22/16 | 0,28 |
0,56 | |
X1 |
1 |
STECKER 62-254 | 0,57 |
0,57 | |
1 |
STECKER 46-254 | um 5 kürzen (oder ganz weglassen, weil völlig überflüssig) |
n.v. |
n.v. | |
X2 |
1 |
D-SUB BU 09EU | D-SUB-Buchse, 9-polig, gewinkelt, RM 9,4 | 0,27 |
0,27 |
X4 |
1 |
AKL 101-02 |
Anschlussklemme 2-polig, RM 5,08 |
0,28 |
0,28 |
R1 / R2 / R4 |
3 |
1/4W 1,8K | Preis für 10 Stück |
0,33 |
0,33 |
R3 / R10 |
2 |
1/4W 10K | Preis für 10 Stück | 0,33 |
0,33 |
R5 / R6 / R7 |
3 |
1/4W 3,6K | Preis für 10 Stück | 0,33 |
0,33 |
R8 / R9/ R11 / R12 |
4 |
1/4W 470 | Preis für 10 Stück | 0,33 |
0,33 |
D1-D2 |
2 |
1N4148 |
0,02 |
0,04 | |
D3 |
1 |
1N 4001 |
0,02 |
0,02 | |
LED1 |
1 |
LED 5MM ST GN | grün |
0,06 |
0,06 |
LED2 |
1 |
LED 5MM ST RT | rot |
0,07 |
0,07 |
N1 |
1 |
µA 7805 | Spannungsregler 1A positiv, TO-220 | 0,26 |
0,26 |
Q1 |
1 |
16,000-HC18 | Standardquarz, Grundton, 16,0 MHz | 0,18 |
0,18 |
Summe: |
9,58 (2007 noch 9,16€) |
Ähnliche Projekte
- Atmega32/ENC28J60 Eine neue Version von Ulrich Radig
- avrETH1 Webserver von Simon Schulz. You can connect an old cellular phone add-on camera to the Internet using an ATmega32 microcontroller and an ENC28J60 Ethernet controller. The compact system’s hardware can fit in a matchbox (1.25² × 1.88²).
- Etherrape Project by Alexander Neumann and Michael Schwab. Atmega644 Microcontroller with Ethernet using ENC28J60. Additional applications like OneWire(TM), RS485, Infrared Remote Control RX/TX, Webcam Interface already on main PCB. PCB, construction-kit and housing avaiable via Webshop. Software is open source.
- AVR-NET-IO (nach ändern der Software)
- OpenMCP Kleines und wenig bekanntes Projekt von Dirk Broßwick und Peter Wiedorn. Sehr schöne Ausführung. Trotz relativ kleiner Abmaße und ein SMD-Bauteil einfacher einseitiger Aufbau. Netter Kontakt.