Forum: Mikrocontroller und Digitale Elektronik Einfacher und billiger Webserver mit AtMega32


von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Leute!

Das Thema wird hier zwar schon viel diskutiert, aber ich will trotzdem
mal einen neuen Beitrag starten.

Ich habe einen kleinen und billigen Webserver mit einem AtMega32
zusammengestellt.  (Siehe Photos)
Auf dem Board läuft die Software von Ulrich Radig
http://www.ulrichradig.de  (Klasse Homepage übrigends!)

Der Webserver besteht aus:
- einer kleinen Leiterkarte (ca. 15*5cm)
- einem alten ISA-Steckplatz (von einem Motherboard ausgelötet)
- einer alten ISA-Netzwerkkarte (mit RTL8019-Chip)
- einem gesockelten AtMega32
- einer seriellen Schnittstelle
- einer Stiftleiste, die ich als SD-Karten-Steckplatz benutze
- ein bischen Kleinkram

Was macht es?
- es ist ein kompletter Webserver, das heisst: "meine Hompage 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.

Was soll es noch können?
- ich will eine I2C-Schnittstelle integrieren, dann kann ich über das
Internet bei mir zuhause:
  - Steckdosen schalten
  - Temperaturen abfragen
  - Sensoren abfragen
  - ...
- Es soll eine Terminalfunktion bekommen. Dann kann ich mit weiteren
Mikrocontrollern "chatten"

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 zuhause und kann aus dem
Internet angesprochen werden
- wenn er nicht aus dem Internet angesrochen werden soll, lasse ich die
DynDNS-Geschichte weg und spreche ihn direkt über eine IP an. Dafür
reicht mein kleines Haus-Netzwerk, oder einfach nur ein PC mit einem
gekreuzten Netzwerkkabel

Nun spiele ich mit dem Gedanken, diese Webserver-Platine professionell
fertigen zu lassen.
Und darum wollte ich schon mal anfragen, wie das allgemeine Interesse
daran ist.
Die Karte werde ich dann auf meiner Webseite:
http://www.mikrocontroller.com
anbieten.

Gruss,
Holger

PS: Ich weiss, dass man noch viele interessante Sachen mit integrieren
könnte (USB, CAN, ...) Aber das Ding sollte einfach und billig
nachzubauen sein. (kein SMD-Löten usw.)

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

.. achja,
hier noch ein weiteres Photo
Gruss

von Sascha Koths (Gast)


Lesenswert?

Gerade vor ein paar tagen hat Guido Fischer ( www.ispf.de ) einen mini
Webserver als Layout fertiggestellt. Der hat noch ein paar mehr extras
als I²C. Kannst ja da mal gucken, dann sparst du dir das Layouten etc.

Er hat auch einen Tread hier eröffnet: AVR Ethernet Platine

Gruss Sascha

von Madmax (Gast)


Lesenswert?

Wo bekomme ich denn noch die alten ISA-Netzwerkkarte (mit RTL8019-Chip)
?
Und die haben ja auch nur 10MB/s.

Aber die Idee ist nicht schlecht.

von Madmax (Gast)


Lesenswert?

Was soll das denn von www.ispf.de ????? Die Platine kostet ca. 10 € ? Ja
gehts noch ? Und wer soll die ganze SMD Kacke da drauf bringen ?
Nene........

Da ist es ja günstiger ein ferigen Webserver zu kaufen.

von Holger B. (Gast)


Lesenswert?

Hallo!

Sascha:
Den Tread habe ich mit Intersse verfolgt und werde mir auch eine von
den Platinen zulegen, wenn es soweit ist.
Aber ich wollte etwas, dass jemand auch mit zittrigen Händen in einer
Stunde zusammengelötet hat.
Ansonsten ist das Projekt von Guido Fischer klasse!

Madmax:
Gib mal bei Ebay RTL8019 oder einfach nur "ISA Netzwerkkarte" ein
... für 1,- gehen die Dinger da über den virtuellen Ladentisch.

Gruss,
Holger

von Olaf (Gast)


Lesenswert?

Die haben nur 10Mbit? Man! Das bremmst ja die 1GBit Standleitung total
aus mit der wir hier alle am Internet haengen oder?

[Ironie off]

Olaf

von Stefan (Gast)


Lesenswert?

Hi

wollte mich erkundigen ob sie mir mal ihr Layout schicken könnten würde
mir die Platine gerne nachbauen. Ich denke mal das sollte alles auch auf
einer Steckplatine halbwegs möglich sein oder?

Mfg

Stefan

von Jens123 (Gast)


Lesenswert?

Die Leiterplatten sehen ja recht schoen aus suess find ich ;)
nur mit dem loeten hapert es noch ein bissl ;)
kleiner tipp es gibt biegehilfen da sehen die bauteile danach schoen
gerade aus =)

Gruss Jens

von Hagen (Gast)


Lesenswert?

Zitat Madmax:

"Was soll das denn von www.ispf.de ????? Die Platine kostet ca. 10 ? ?
Ja
gehts noch ? Und wer soll die ganze SMD Kacke da drauf bringen ?
Nene........

Da ist es ja günstiger ein ferigen Webserver zu kaufen."

10 Euro ist preiswert, versuche es mal billiger zu bekommen.
Desweiteren kann man Guidos Board nicht mir dem hier vergleichen. Die
Leistungsklasse ist alleine schon auf Grund des ATMega128 + externen
512Kb SRAM + USB + CAN + RS232 + SD/MMC Card + Baugröße eine ganz
andere.

Klar, ein Mini ITX Board ist eine erwägenswerte Alternative, gibts mit
12*12cm Größe, enthält 1GHz Intel kompatiblen Chipsatz, läuft Windows
drauf. Solche Boards bekommt man für 200 Euro + 190 Euro DVD-Brenner +
150 Euro 1Gb RAM Modul + 180 Euro Gehäuse mit Lüfter und Netzteil. NIC,
Grafik, HW-MPEG Dekoder sind schon auf dem Board.

Aber darum gehts einfach nicht, es geht um's selberbauen.

Gruß Hagen

von Martin (Gast)


Lesenswert?

Hallo Leute!

Kennt ihr den XPORT schon?
http://www.lantronix.com/device-networking/embedded-device-servers/xport.html

Ich bin davon begeistert. - Er unterstützt sämtliche Protokolle, hat
programmierbare Ein- und Ausgänge, kann bei vorgegebenen Vorfällen
E-Mails verschicken, hat Verschlüsselung, eine eigene Hompage kann
kinderleicht hinaufgespielt werden, kann über die RS232 mit µC
kommunizieren, und ist sehr klein.

Tschuldigung das war jetzt ein bißchen viel. Ich wollte zwar keine
Werbung machen, aber ich bin von dem Teil einfach voll überzeugt. Die
RS232 hat zwar nur 920KBit, aber die Kommunikation ist
für einfache Schaltanwendungen voll geeignet.

Was haltet ihr davon.

Tschüss!

Martin

von Hagen (Gast)


Lesenswert?

Und kostet ? Welche Möglichkeiten zur Programmierung ?

Gruß Hagen

von Martin (Gast)


Lesenswert?

Dieser XPORT kostet ca. 49 Euro.
Ich weiß das hört sich viel an, aber man muss nur noch die
Spannungsquelle und die Anschlüsse zum µC verdrahten.

Man hat 4 oder 5 64KByte-Bänke die man mit einer Homepage beglücken
kann. Auch Java-Einbindungen funktionieren.

In diesem Forum wurde schon sehr oft über den XPORT gesprochen.
Hier sind weitere Infos
http://www.mikrocontroller.net/forum/read-1-97976.html#99264

Tschüss

Martin

von Stefan (Gast)


Lesenswert?

"Die Platine kostet ca. 10 € ? ... gehts noch ? ...
Da ist es ja günstiger ein ferigen Webserver zu kaufen."

Wo gibt es für 10 Euro Webserver? -> haben will!

von womisa (Gast)


Lesenswert?

Hallo Holger,

was hast Du an Ullrichs Programm geändert, daß es auf einem Atmega32
läüft? Dieses lief bei mir nicht auf Anhieb.
Die Platine ist ok, man sollte jedoch eine Möglichkeit vorsehen die
Ethernetteile direkt drauf zu machen.
Man sollte dieses als "TINI" Version zur obigen Platine sehen.
Was kostet so eine Platine?
Wie sieht es mit dem Layout, Schaltpläne und dem Programm aus?
Ist das Public, wie Ullis Beitrag?

MfG
Achim

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Achim,

Schaltplan und Layout schicke ich als Eagle-Files in den nächsten Tagen
mit.
Anbei schoneinmal der aktuelle Schaltplan als PDF.
Ich wollte noch einige Kleinigkeiten ändern (Stecker usw)
Das Programm von Ulrich konnte ich ohne Probleme einsetzen. Nur der
Prozessortyp musste in der Makedatei eingetragen werden.
Die Fuse-Bits haben mich anfangs nur etwas geärgert.
Ein fertiges HEX-File hätte mir auch etwas geholfen, dann weiss man
jedenfalls, dass man nicht Probleme mit dem Compiler hat und kann sich
ersteinmal mit der Hardware beschäftigen.
Beim Preis werde ich wohl auch bei ca.10,-EUR landen. Schliesslich kann
ich nicht gleich 1000 Stück fertigen lassen.
Die Ethernet-Teile wollte ich aus oben beschriebenen Gründen nicht mit
drauf machen. (Dann bietet sich auch das Board von Ulrich mit ATMega128
an)

Gruss,
Holger

von womisa (Gast)


Lesenswert?

Hallo,

@Holger die abgespeckte "Ethernet-Server-Version" mit nem Atmega32
finde ich gut.
Ich habe so einen Server auch auf einer Lochrasterplatine aufgebaut,
obwohl ich nicht so der HarwareBastler bin. Eine Karte auf dieser Basis
könnte ich auch noch zusammenlöten.

Als Anregung nicht als Kritik:
Aus mehreren Diskussionen geht hervor, dass man für die SD Karte einen
Levelkonverter nehmen sollte?
Lassen sich nicht die die AnalogInputs freischaufeln um Analogwerte zu
erfassen. Für die Ethernetkarte würden doch 4 Adressleitungen +
festeingestellten Adresse reichen, oder ( AVCC Beschaltung? (
ISP-Schnittstelle in Verbindung mit dem Levelschifter?
I2C,SPI Schnittstelle?

Das ganze wäre dann eine nach unten abgespeckte tolle Sache zur
Erfassung von Temperaturen etc. und könnte dann auch von nicht
Lötprofis zusammengebaut werden.
Die Platine wäre dann sicherlich sehr interessant.

Viele Grüße
Achim

von womisa (Gast)


Lesenswert?

Hallo

noch ne Ergänzungsfrage: Hat jemand den Webserver auf einem Atmega16
zum laufen gebracht? Falls ja, was wurde am Code alles geändert?

Viele Grüße
Achim

von Kai Markus Tegtmeier (Gast)


Lesenswert?

Ich finde diese Version des Webservers auch sehr spannend. Wird die
SD-Karte im Programmtext für die Ethernet-Anbindung benötigt, oder kann
man sie auch weglassen?!?

Viele Grüße
Kai Markus Tegtmeier

von Holger B. (Gast)


Lesenswert?

Hallo!

womisa:
Den Levelconverter habe ich einfach mit Spannungsteilern realisiert.
Analoge Eingänge werde ich mittels einer externen I2C-Bus-platine
machen. Leider bekomme ich die in dieser Applikation nicht frei.
Es gibt auch I2C-Tempertursensoren und Portexpander für wenig Geld.

Kai Markus:
Das geht auch ohne SD-Karte. Wenn keine eingesteckt ist, kommt zur Zeit
die Standart-Seite von Ulrich. Diese kann man ohne weiteres auch
ändern.

Gruss,
Holger

von madmax (Gast)


Lesenswert?

@stefan

Wo es für 10€ webserver gibt ?

Auf jeden Flohmarkt. Nennt sich dann 486er 586er usw.....

von Uli (Gast)


Lesenswert?

Hallo @Stefan @all

dein 486er oder 586er ziehen dann auch 200W Energie mein Webserver
betreibe ich mit einer Solarzelle ;-).
Achso 100MBit Netzwerkanschluß bringt gar nichts, da der Atmel noch
nicht einmal die Bandbreite von 10MBit ausschöpft. Das Netzwerk wird
aber nicht langsamer wenn alles über einen Switch geht, was ja heute
Standart ist.

Mfg Uli

von Uli (Gast)


Lesenswert?

Hallo @all,

Ich glaube dieser Thread wurde nicht aufgemacht um über Vorteile bzw.
Nachteile eines solchen Webservers zu reden. Guido Fischer hat eine
tolle Platine entwickelt (Respekt), meiner Meinung nach aber
überdimensioniert für einen Atmel, aber dies ist auch eine andere
Thematik. Ich habe nun vor einen neuen Webserver zu bauen.

Daten:
ARM Prozessor mit ca. 100Mips
Xilinx CPLD, Speicher und Netzwerkkarte mit herrausgeführten Datenbus
mehr nicht!!

Jeder der dann Can,I2C oder was anderes brauch dann dieses am externen
Datenbus anschließen. Um Kosten gering und Nachbau einfach zu
gestalten.

Mfg Ulrich

von stromi (Gast)


Lesenswert?

@all
Jo, immer wofür man es braucht.
Ich z.B möchte einfach aus dem Internetcafe meine Haussteuerung nach
Daten abfragen, bzw Schaltungen machen. siehe MadMax Funksteuerung. Ein
PC verbraucht mir zuviel Leistung (wäre, zugegeben, die einfachste
Lösung). Für diese Anwendung könnte ich mit Mega32 auskommen, hoffe
ich. Client, Serverprogramm könnten auf die SD-Karte.
Und, warum wir alle hier schauen, weil's wieder 'ne interessante
Herausforderung ist.
Man kann sich ja auch KNX/EIB kaufen und den E-Inst bestellen. Füße
hoch und Fernsehen schauen. Aber wer will das schon :-)
Tschaui

von kami (Gast)


Lesenswert?

Hi

Also ich muss mich auch noch mal zu Wort melden. Finde die Platine die
Holger entwickelt hat echt klasse. Würde mich sehr über die Schaltpläne
und Eagle Sachen freuen wenn Du mir die mal schicken würdest und was dir
sonst noch so wichtiges einfällt. Wenn du nichts dagegen hast würde ich
mir das gerne mal nachbauen und auch mal testen wie das so läuft suche
schon sehr lange nach so einer Lösung.
Was ich bei dir besonderes gut finde ist das man die Website über eine
SD-Karte austauschen kann wenn nun noch I2C unterstützung da wäre, wäre
es echt perfekt. Habe zwar Ahnung von der Programmierung von
Mikrocontrollern aber bei mir ist immer noch so ein bißchen das Problem
mit dem Platinenlayout und den richtigen Anschlüssen. Naja ist halt auch
nicht so direkt mein Gebiet :) (Energietechniker) :)
Naja vielleicht hilft mir ja jemand noch ein bißchen auf die Sprünge.
Mach weiter so das Ding ist echt cool und würde dir gerne helfen wo ich
kann :)

Mfg

Kami

von Holger B. (Gast)


Lesenswert?

Hallo Kami,

in den nächsten Tagen werde ich die Platine fertigstellen.
Morgen baue ich noch ein Muster auf. An dem Ding ist ja nicht viel dran
:-)
Dann stelle ich die Eagle-Files ins Netz und bestelle die
Leiterkarten.

Gruss,
Holger

von Elektrikser (Gast)


Lesenswert?

Ich bastle auch gerade am Webserver von Ulrich Radig. Ich finde diese
Idee sehr gut und für's erst reicht es. Die Platine von Holger ist
auch gut gelungen.

@Ulrich
Habe ich da ein Darstellungsproblem oder testest du gerade den
Webserver? Ich kriege oft nur deine Startseite...

Gruß Gerd

von Uli (Gast)


Lesenswert?

Hallo @Elektrikser,

Es sollte keine Probleme mit meiner HP geben. Habe nur mal Links und
Verzeichnisse geändert.

Mfg Ulrich

von madmax (Gast)


Lesenswert?

dein 486er oder 586er ziehen dann auch 200W Energie mein Webserver
betreibe ich mit einer Solarzelle ;-).




OOOOOOchhhhh die zeig mir mal.....

von OldBug (Gast)


Lesenswert?

D.F.T.T.

von alno (Gast)


Lesenswert?

@Holger:

Kannst Du auf der Platine noch 4 Befestigungslöcher vorsehen? Ich meine
bevor sie in Serie geht. Ich nutze für I2C Verbindungen immer Stereo
Klinkenstecker. Wäre schön wenn auf der Platine der entsprechende Platz
vorgesehen wäre (neben evtl 3poligen Pfosten)

würde 2 Platinen abnehmen.

Gruß,
Alno

von kami (Gast)


Lesenswert?

@Holger: Habe ich das richtig verstanden das du die Platine dann auch
über deine Website verkaufst? Wenn ja dann kannste mir gleich schon mal
eine zurücklegen :)
Wenn ich das richtig sehe ist doch die Bestückung deiner Platine kein
SMD sondern ganz einfach und unproblematishc mit einem normalen
Lötkolben zu schaffen oder?

MFG

Kami

von Elektrikser (Gast)


Lesenswert?

@Ulrich
Hmm, heute geht deine Webseite einwandfrei. Gestern bin ich allerdings
immer wieder, wenn ich einen Link geklickt habe, auf der Startseite
gelandet...
Könntest du in dein Forum sehen? Danke!
Gruß Gerd

von Christoph Söllner (Gast)


Lesenswert?

@Ulrich

So ein Armserver tät mich auch interessieren. ARM7?
wenn ja, bekommst Du dadruaf das YCLinux zum rennen?
weil ich ne gescheite Firewall einbauen wollte, um
damit diverse Geräte über Internet fernzusteuern.
btw, muß dann auch noch ein apache mit openssl oder
matrixssl drauf, dann isses perfekt.

Achja: vielleicht kannst Du dir arbeit sparen:
www.synertronixx.de :) Die Kiste ist genial,,, nur teuer.
Zuviel für Studenten.

Aber wenn Du ne ARM Kiste bastelst... wär schon
super.

cya

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo!

Kleiner Zwischenstand (siehe PDF):
1. Ich habe drei Analoge Pins frei bekommen
Jetzt kann man also Temperaturen usw. messen.
Vielleicht portiere ich meine Heizungssteuerung auch auf diese
Platine.

2. Ich musste einige Ports tauschen
Da werde ich den Source-Code von Ulrich mit einem Compilerschalter
versehen müssen.

3. Zusätzlich habe ich eine STK200-Kompatible Belegung für die
ISP-Schnittstelle vorgesehen.

4. Einige Befestigungsbohrungen und einige Löcher zum nachträglichem
Einbau einiger Erweiterungen sind auch mit drauf gekommen.

Gruss,
Holger

von womisa (Gast)


Lesenswert?

Hallo Holger,

sieht gut aus. Ist AVCC mit einem L (10uH) beschaltet und die
Analogmasse getrennt?
Was liegt noch auf dem A-Port? (Bei Analogwandlung darf nichts am Port
geschaltet werden ?)

Viele Grüße
Achim

von Holger B. (Gast)


Lesenswert?

Hallo Womisa,

nein, den Aufwand treibe ich nicht bei der Analogmessung.
Ich habe auch keine Referenzspannung. Für einfache Messungen reicht das
aber. An den drei Analogeingängen hängt nichts, ausser den Pins.

Gruss,
Holger

von stromi (Gast)


Lesenswert?

@Holger B.
Analog bedeutet es immer Temp. messen ?
Da würde ich pers. immer die Dallas Sensoren nehmen (1wire), können
viele an einem Pin hängen, und muss nicht abgeglichen werden.
Lassen sich prima über ihre eigene ID erkennen.
Selbst Uhren, Speicher gehen über 1wire zusätzlich. d.h. 1 digitaler
Pin verbraucht. I2C braucht schon mal 1 mehr.....
Nichts desto trotz, das PDF sieht schonmal gut aus !
Tschaui

von Läubi (Gast)


Lesenswert?

ICh weiß nicht ob es möglich sit, aber könnte man anstatt der SD Karte
auch eine normale Standard HD/Notebook HD anschließen?
Und wäre ein Zugriff über FTP möglich?

von stromi (Gast)


Lesenswert?

@Läubi
hast du mal die Anschlusspins gezählt? Glaub' eher nicht.
Tschaui

von womisa (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

@Holger Deine obige Antwort akzeptiere ich voll. Eventuell solltest Du
überlegen ob nicht alle Ports über eine Steckerleiste geführt werden.
Das Board könnte man universal nutzen, auch ohne Webkarte. das würde
die potentielle Anzahl der Interessente erheblich steigen. Die
Stiftleisten sollten Stk500 kompatibel sein. Die entsprechenden Signale
gehen dann von den Stiftleisten auf den ISA Steckplatz, der optional
bestückt werden könnte.
Außerdem könnte man am Anfang den Webserver vom STK aus betreiben, ohne
denPozessorteil aufbauen zu müssen.
Ich habe sowas als Freilandverdrahtung schon aufgebaut (siehe Bild).

Denke mal darüber nach.

Viele Grüße
Achim

von Dominik (Gast)


Lesenswert?

Ich habe auch interesse an 2 - 3 Platinen!

Dominik

von Christof Krüger (Gast)


Lesenswert?

Könntest noch ein Foto von der Platine von unten reinstellen?

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo

anbei das aktuellste Photo.
Das Ding läuft schon ganz gut.
Ich glaube, so kann man es schon fast lassen.

Gruss,
Holger

von Holger Buss (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

anbei die Eagle-Files für alle, die sich die Platine selbst ätzen
wollen.
In einigen Wochen wird man die Platine auch bei uns auf der Homepage
kaufen können:
http://www.mikrocontroller.com

Achtung:
Weil ich die Ports ändern musste, habe ich die Files RTL8019.H und
RTL8019.C von Ulrich angepasst. Vielleicht übernimmt er diese Änderung
in einer neuen Softwareausgabe.

Gruss,
Holger

von sirko (Gast)


Lesenswert?

hi holger,

da ich schon ne zeit lang den einstieg in die mc-welt suche (zuvor wohl
mit zu hohen ansprüchen/projekten), möcht ich eigentlich nur wissen, ob
du evtl. für ein bisschen beistand zur verfügung stehst.
konkret wäre das erstmal der wunsch nach einer stückliste, da ich sonst
wohl beim einkaufen die hälfte vergesse oder irgendwas nich weiß.
außerdem wär es ganz gut, wenn du die veränderungen in ulrich radigs
code beschreiben (die dateien veröffnetlichen) könntest.

ich denk mal, das ätzen und löten krieg ich hin. und es wär sehr gut,
wenn man schonmal ne anwendung hat, die läuft und der aufbau nicht
umsonst war. weitermachen macht dann noch mehr spass.

bye
sirko

von Uli (Gast)


Lesenswert?

Hallo @all,

Habe die Änderungen für Holgers Webboard in meiner Version mit
berücksichtigt. Damit das Board läuft, sollten folgende Dateien
geändert werden!

rtl8019.h
Zeile 14:
//#define ISP_CTRL
nachher #define ISP_CTRL

makefile
Zeile 34:
MCU = atmega128
nachher MCU = atmega32

Das sollte es gewesen sein :-)

Mfg Ulrich

von maltejahn (Gast)


Lesenswert?

Hallo,

bin seit längerem schon auf der Suche nach einem ähnlichen Projekt. Da
ich aber schon das ganze Programmierzeugs habe frage ich mich, ob
jemand schon solch ein Projekt auf PIC Basis gesehen hat. Am besten so
ausgereift wie die Projekte die zur Zeit hier im Forum diskutiert
werden.

Gruss
Malte

von Objektif (Gast)


Lesenswert?

Hallo,

Herr Helmut Holm hat mich beauftragt 3 Platinen von dem Projekt
anzufertigen. Wenn es noch andere brauchen sollen sich bitte melden,
oder eine gemeinsame Bestellung machen.

Ich muß hier nochmals mitteilen, daß es hier um eine Platinenätzauftrag
ohne Bohren/durchkontaktieren/Lötstopplack handelt. Bei Bedarf können
die Platinen verzinnt werden.

Jeder Doppelseitige Platine dieses Projekt kostet 11 Euro + 4,50 Euro
Verpackung und Versand.

MfG
Objektif

von Holger Buss (Gast)


Lesenswert?

Hallo Objektif,

...wer ist eigentlich Helmut Holm?
Ich bestelle diese Leiterplatten auch gerade.
Dann sind die allerdings mit Lötstopplack, Bestückungsdruck, verzinnt,
gebohrt und durchkontaktiert.

Gruss,
Holger

von Objektif (Gast)


Lesenswert?

Hallo,

Helmut Holm ist eine Mitglied sowie du und ich :))

Wenn Du mit Lötstoppmaske bestellt hast, ist doch in Ordnung.

Das Angebot ist nur für diejenige, die meine Angebot annehmen.

MfG
Objektif

von Sascha (Gast)


Lesenswert?

@Holger Buss

Was soll den eine Platine bei dir kosten?

Mfg Sascha

von Dominik (Gast)


Lesenswert?

Welche Bandbreite schafft der Webserver eigentlich?

von Uli (Gast)


Lesenswert?

Hallo,

Ist aber ein happiger Preis 15,50€ für eine nicht
gebohrte/durchkontaktierte Platine! Allerdings Ich meine die
Platinenrechte liegen bei Holger Buss für ein komerziellen Verkauf,
oder??

Mfg Uli :-)

von Objektif (Gast)


Lesenswert?

@Uli

Ich habe verständnis für dein Kritik aber ich glaube Du hast vergessen,
was man für eine durchkontaktierte/Gebohrte Platine mit Lötstopplack
zahlt! Viele meine Kunden sagen ich wäre Superbillig. Für manchen
reicht eine günstig geätzte Platine, der Andere will es mit allem drum
und dran. Andere Platinenhersteller verlangen teilweise alleine 10 Euro
auf NUR Filmherstellung!

Mann sollte Fair sein.


MfG
Objektif

von Christoph Söllner (Gast)


Lesenswert?

Mir scheint, daß Du Uli nicht verstanden hast. Es ging, denke ich,
weniger um die Tatsache, daß Dein Preis recht hoch ist (Reichelt:
Europlatine 1,60 Epoxyd, Entwickler etc. vielleicht 1,50 EUR pro
Euro-Platine), sondern darum, dass Du ohne schriftliche Genehmigung
vom Urheber der Platine (in diesem Falle Holger) diese nicht kom-
merziell herstellen darfst!
Denn Dein Preis hat die Grenze "private Nutzung" bei weitem schon
überschritten; ich schlage vor, daß Du in Zukunft vorher um Er-
laubnis fragst, bevor Du mit der Arbeit anderer Geld verdienst.

von Holger Buss (Gast)


Lesenswert?

Hallo,

Ich muss Ulrich und Christoph zustimmen:
Ohne ausdrückliche Genehmigung von mir, darf diese Platine (Schaltplan,
Layout, Dokumentation, usw.) nicht kommerziell genutzt oder verkauft
werden!

Dominik:
Die Netzwerkkarte ist auf 10MBit begrenzt, da kommt der Atmel aber
nicht hin.
Ein Bild aus der SD-Karte des Webservers wird mit ca 1,5KB/s
heruntergeladen.

Sascha:
Ich denke, dass ich die professionelle Leiterkarte für 10 bis 12,- EUR
anbieten kann. Einrichtungskosten usw...

Gruss,
Holger

von Uli (Gast)


Lesenswert?

Hallo,

Zur Transferrate: Bei meinen Webserver komme ich mit einen 14,xxx Quarz
und meiner SD Karte auf 3 KByte/s, um aber Bilder und Files herunter zu
laden sind diese Webserver auch nicht gedacht. Deshalb will ich auch
einen Webserver auf ARM (denke ich) Basis bauen.
Wer den internen Speicher benutzt ist etwas schneller dabei.
Grund ist das FAT und die relativ langsame SD Karte.
Aufgrund dieser naja relativ geringen Geschwindigkeit hatte ich schon
bei Guido Fischer´s Board so meine bedenken. Wenn man alles einzeln
betreibt ok aber alles zusammen.

Mfg Ulrich

von Pepe (Gast)


Lesenswert?

Hallo,

ich bin noch nicht so ganz in der Materie aber komplett fasziniert von
dem Mini-Webserver. Ich hab nochmal ein paar Fragen zum I2C Bus:

-Ist auf der Platine eigentlich jetzt ein I2C Bus vorgesehen? Die TWI
Ports PC0/PC1 sind ja verbaut?
-In der Software scheint ja auch noch kein I2C-Support vorgesehen zu
sein, oder?
-Wieviel Aufwand habe ich wenn ich da noch einen oder mehrere
Temp-Sensoren an den I2C Bus hängen will? (z.B. DS1621 bzw. DS1631)

MfG Pepe

von Holger Buss (Gast)


Lesenswert?

Hallo Pepe,

den I2C-Bus kann man einfach per Software an zwei beliebigen Portpins
programmieren.
Ich will einige Applikationen per IIC-Bus zum Anschliessen an den
Webserver zusammenstellen. A/D und D/A-Wandler, Portexpander und
Temeratursensoren sind dann auch dabei.

Gruss,
Holger

von Sirko (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

vor Kurzem hab ich nach ner Stückliste gefragt, hab sie nun mit Eagle
selber erstellt (wusste nicht, das man das so einfach exportiern kann)
- eigentlich bereit zum Reichelt-Einkauf, aber einige Punkte sind
offen:

C10 : Wie groß? Das ist der Kondensator am MMC/SD-Slot.
D1 und D2 : Welche Dioden? Auch am MMC/SD-Slot.
X4 : Gibt's so ein Teil bei Reichelt? Welche Buchse kann man z.B. für
die runden Stecker von normalen Netzteilen nehmen?
X1 : Bei Reichelt z.Zt. nicht lieferbar. Bekommt man den ISA-Slot auch
woanders her?

Hab ich irgendwas vergessen oder falsch gemacht?

@Holger:
Es wär schön, wenn Du evtl. noch schreiben könntest, was man so
ungefähr für die Temp-Sensoren, den I2C-Bus, Relais-Board (Wird das
noch kommen?) usw. bereit halten sollte!

Danke & Tschüss
Sirko

von Holger Buss (Gast)


Lesenswert?

Hallo Sirko,

C10    = 100nF
D1, D2 = 1N4148
X4     = AKL101-02
Den ISA-Slot habe ich ausgelötet. Ich weiss noch nicht, wo man den
kaufen kann. Den wird es aber auch irgendwo geben.

Zu den Erweiterungen:
IIC: PCF8574P, PCF8591P
Aber vielleicht schliesse ich einfach noch weitere (billige) AVRs an,
das ist vom Preis nicht teurer aber viel flexibler.

@Ulrich:
Ist es eigentlich sehr aufwendig, mit dem Webserver Daten aus dem
Internet abzufragen.
z.B.
 - Uhrzeit
 - Wetterdaten
 - Newsticker
 - Aktienkurse
 - ...
Und könnte ich Daten von einem Webserver durch das Internet an einen
anderen Webserver schicken? Die Adressierung müsste dann über den
Domain-Namen erfolgen.

Gruss,
Holger

von Tobi (Gast)


Lesenswert?

zeitabfrage sollte über das extra protokoll zur zeitsyncronisation
gehen. für die anderen daten müsstest du die empfangene website
interpretieren...

von Klaus Leidinger (Gast)


Lesenswert?

Hallo,

den ISA Slot gibts z.B. bei Bürklin: 57F746 ISA PC Steckplatz für 2,07
EUR + MwSt. ...

Ciao,
Klaus

von Sascha (Gast)


Lesenswert?

Die Buchse(n) gibt es auch bei Reichelt. Dort habe ich sie her.

Mfg Sascha

von Klaus Leidinger (Gast)


Lesenswert?

Hallo Sascha,

die Buchsen sind bei Reichelt z.Z. nicht lieferbar, vermutlich weil
gerade alle diesen Webserver bauen... (hatte Sirko schon geschrieben)

Der Slot bei Bürklin ist der komplette mit 96 Polen.

Gibt es eigentlich eine komplette Liste mit funktionierenden Ethernet
Karten? In Ulrichs Thread in der Codesammlung stehen zwar einige, aber
an dieser Stelle wäre eine Liste vielleicht noch mal angebracht.

Ciao,
Klaus

von Sascha (Gast)


Lesenswert?

Mal was anderes. Hat noch jemand ein paar Realtek-Karten?

Mfg Sascha

von Dominik (Gast)


Lesenswert?

Habe mir gestern 2 OVP ISA Netzwerkkarten für 5€ inkl. Versand bei Ebay
gekauft....

Glaube da sind jetzt noch 18 verfügbar....

von Tobi (Gast)


Lesenswert?

hast du einen link, ich find die nicht

von Uli (Gast)


Lesenswert?

Hallo @Holger Buss

>>Ist es eigentlich sehr aufwendig, mit dem Webserver Daten aus dem
>>Internet abzufragen.
>>z.B.
>> - Uhrzeit
>> - Wetterdaten
>> - Newsticker
>> - Aktienkurse

Eigentlich nicht, es ist auch nicht schwer ein Webserver zu
Programmieren ;-).
Das Problem bei mir ist nur ,ich lebe in einen Ort andem es kein DSL
gibt!! Dadurch fallen teste mit dem Internet immer recht teuer aus, und
eine Flat für ISDN gibt es leider nicht mehr.

Ein hoch auf die Telekom!

Mfg Ulrich

von Holger Buss (Gast)


Lesenswert?

Hallo Ulrich,

das ist ja schrecklich! (bedauer)
Und ich dachte schon, dass ich in Ostfriesland am Ar... der Welt lebe
:-)

Gruss,
Holger

von Dominik (Gast)


Lesenswert?


von Holger Buss (Gast)


Lesenswert?

Hallo Dominik,

ob sich der Ebay-Verkäufer wohl gerade fragt, wieso so viele Leute
plötzlich an seinen Uralt-Netzwerkkarten interessiert sind? :-)
...zum Glück hat der ein "Sofort-Kaufen"-Preis, sonst bieten wir uns
gegenseitig hoch... :-)
Bitte den Verkäufer nicht den Link auf unseren Thread schicken! :-)

Gruss,
Holger

von Tobi (Gast)


Lesenswert?

@dominik:
danke, die sind auch auf jeden fall ne2000 kompatibel?

von Dominik (Gast)


Lesenswert?

Hihi, jetzt sind alle weg. Weiß nicht genau, ob sie NE2000 kompatibel
sind, aber der RTL8019-Chip ist auf jeden Fall drauf.

Gruß, Dominik

von Sven (Gast)


Lesenswert?

Warum nicht einfach bei ebay nach "RealTek RTL8019AS" suchen? Da
gibt's doch einen Anbieter, der dauernd Netzwerkkarten als neu
anbietet. (Nein, ich kenn den nicht.)

Sven

von Florian (Gast)


Lesenswert?

Hat hier jemand mitgeboten? nicht das wir uns hochbieten ...

http://cgi.ebay.de/ws/eBayISAPI.dll?ViewItem&category=26807&item=5750787358&rd=1&ssPageName=WD4V


Gruss Flo

von Stefan Libbe (Gast)


Lesenswert?

Ja ich.

von Pepe (Gast)


Lesenswert?

Hallo,

weiß jemand obs ein universelles Tools gibt um bei den Karten den Port
auf 0x300 einzustellen oder ob sich das nur mit dem jeweiligen Tool der
Herstellers machen lässt? Ich hab hier bei mir nämlich noch einige ISA
NE200 Karten rumfliegen aber leider ohne Treiberdisketten.

Gruß
Pepe

von AndiC (Gast)


Lesenswert?

Hi!
... also ich find den (low-end) Web-Server einfach Klasse... wer keine
Netzwerkkarten mehr bekommt kann doch aber auch die Netzwerkkarte von
Ulrich Radig nehmen... bei meiner Freiverdrahtung geht das prima :-)
... gibt es eine einfache Lösung einen einfachen FTP-Server laufen zu
lassen... ich möchte nur ganz einfach meine Bilder von SD-Karte in das
Netz laden... und so währe das ganz Schick... einfach Karte von der
Kamera rein und vom gesamten Netzwerk aus Zugriff...

von Jochen (Gast)


Lesenswert?

@AndiC:
Ähem, um Uli's Do-It-Yourself Netzwerkkarte zu bauen braucht man den
RTL8019AS, und nur um den auszulöten suchen hier viele die ISA
Netzwerkkarten...? Wenn du so einen IC (neu) hast, geb ich dir zwei
neue ISA Netzwerkkarten mit diesem IC drauf dafür. Dann brauchst du sie
nicht selbst bauen und ich muss nix auslöten:o)

Und sorry: Um halbwegs erträgliche Übertragungsraten zu erhalten,
sollte deine Kamera dann sehr kleine Bilder machen. So um die 640x480
vermutlich.

Gruß, Jochen

von kreuzkopf (Gast)


Lesenswert?

Hallo Holger,

ich würde gerne mit dem Webserver ein paar Relais (4 besser 8) über
eine Webseite schalten.

Wie ist das denn bei dir vorgesehen? Kann ich da direkt an die Ports
mit dem Relais ran?

Oder wie funktioniert das über den i²c-Bus?

DANKE!

von Sirko (Gast)


Lesenswert?

Hallo,

eigentlich hab ich alles zusammen, bis auf die Netzwerkkarte. Hab
leider keine mehr auftreiben können und 10 Stück auf einmal über ebay
sind mir zu viel.
Hat noch jemand eine Karte mit RLT8019AS für mich?

Sirko

von Christoph Söllner (Gast)


Lesenswert?

@kreuzkopf
bin zwar nicht der Holger, aber Du kannst das
hardwaremäßig über verschiedene Dinge lösen:

- RS232: da gibts hier im Forum sogar eine Lösung
  Suche "RS232 Relaiskarte".
- IIC: Man nehme den PCF8574.
  PINx, x e [1...8]
   |
   +---- R10k ---- Vcc
   |
   B
  BC547C C---- Relais ----- Vcc
   E
   |
  GND

Wie es direkt an die Ports auszusehen hat, bzw.
wie man das dann als Webseite implementiert,
kA (evtl. den POST-Request auswerten, was aber
String-Vergleiche bedeutet, was einen hohen Rechen-
aufwand nach sich zieht.)

hth

von Sirko (Gast)


Lesenswert?

@kreuzkopf und christph

code: kannst du mal ins forum auf ulrich's seite schauen. da steht
irgendwo sogar ein beispiel drin. in früheren softwareversionen soll
sogar mal was im quelltext dazu stehen. habs mir aber noch nich
angeschaut, bin ja noch in der hardwarebeschaffungsmaßnahme. aber wenn
du das hinkriegst, dann mach uns bitte deine arbeit zugänglich. Danke!

relais: irgendwo hab ich mal gelesen, man sollte optokopller nutzen, um
den uC zu schützen. ist das wegen dem pcf8574 nicht mehr nötig?
für relais kann man wohl auch "ULN2003 oder ULN2803" nehmen, aber kA,
was das genau ist und wie man die anschließt. jedoch braucht man von den
dingern nur eins für mehrer relais. billiger wirds wohl nicht, aber
spart platz und wird einfacher.

noch ne andere frage: mit der lcd-bibliothek kann man die
anschlussports des lcd frei am uC, aber wie krieg ich das mit nem
pcf8574 hin? geht das auch so einfach?

bye
sirko

von Elektrikser (Gast)


Lesenswert?

ULN2803 sind 8 Transistorstufen mit einer gemeinsamen Masse. Für Relais
sind die gut brauchbar. Einer der Transis kann bis 500 mA.
Verwende die Teile eigentlich ganz gerne.

Zum Thema Ausgänge über die Webseite steuern:
Ich bin gerade dabei es zu versuchen. Momentan scheitere ich noch. Ich
schicke mit einem Sende-Button den Header zurück und versuche den dann
passend auszuwerten. Aber anscheinend habe ich es noch nicht. Der
Webserver sendet die Page nicht mehr neu und am Ausgang tut sich auch
noch nichts. Vielleicht schon einer gemacht?
Suche weiter nach dem Fehler...

Gruß Elektrikser

von Ingo B. (Gast)


Lesenswert?

Hi,

wenn man bedenkt dass man für 1 EUR mehr, statt eines PCF8574 auch
einen MEGA8 bekommt (mit dem man bekanntlich einiges mehr machen
kann)...

Ausserdem ist der MEGA32 mit der Netzwerkkarte und der SD-Karte schon
reichlich beschäftigt. (und da kommen sicher noch einige Protokolle
hinzu)
Aus diesen Gründen ist es wahrscheinlich nicht schlecht, die
eigentliche Steuerung/Regelung (oder was auch immer) in einem extra
Controller zu laufen lassen...

Gruss,
Ingo.

von Elektrikser (Gast)


Lesenswert?

Ich verwende momentan das Board von Ulrich Radig mit dem ATmega128. Wie
weit der µC ausgelastet ist, habe ich noch gar nicht getestet. Eine
Regelung würde ich auch extern vergeben, aber ein paar Ausgänge setzen
und zurücksetzen, ist glaube ich schon o.K. Auch ein paar DS18S20
schafft er locker.
Tja, bin immer noch nicht weiter...

Gruß Elektrikser

von AndiC (Gast)


Lesenswert?

... naja... der Traum von FTP geht also net so doll???

... egal vielleicht ja später irgendwann mit Ulrich's
xilinx-Lösung...

und @Jochen die RTL8019AS sind bestellt...

MfG

AndiC

von AndiC (Gast)


Lesenswert?

Der RTL8019AS ist genau wie der RTL8019A, nur das der kein SRAM
integriert hat?

von Sirko (Gast)


Lesenswert?

@Holger

Wie lange wird's denn voraussichtilich noch mit der Platine dauern,
bis man sie kaufen kann?


Bye
Sirko

von Holger Buss (Gast)


Lesenswert?

Hallo Sirko,

die Platinen sind bestellt.
Im März sind die dann da.

Gruss,
Holger

von Dominik (Gast)


Lesenswert?

Hm, das dauert ja noch... ich werde den Webserver dann schonmal auf dem
Steckbrett aufbauen. :-)

Achja, ich habe noch 3 ISA Sockel übrig, hab letzte Woche mal nen
Mainboard geschlachtet. Wenn jemand unbedingt einen braucht kann er
sich ja bei mir melden.


Gruß, Dominik

von Jürgen (Gast)


Lesenswert?

Wo gibts den die Software ? Dnek mal nicht dass es mit der von Ulrichs
Hompage funktionieren dürfte da Holger ja die Pins getauscht hat. Und
wie sieht es mit einem Mega16 aus. Läuft der Webserver auf dem auch
oder ist der Flash zu klein ?

Vielen Dank schon mal vorab

von Ingo B. (Gast)


Lesenswert?

Hi,

wir haben die Pins zwar getauscht, aber Ulrich hat jetzt eine komp.
Version auf seiner Seite (einfach per #define umstellen)

Vom Platz dürfte es gerade passen, aber wir haben es nicht gestestet.

Gruss,
Ingo.

von Jürgen (Gast)


Lesenswert?

Hallo,

was ist eine komp. Version ? Kompatible Version ? Wenn ja ist das die
vom 7.Februar (1.34) ? Und noch ein Problem hab ich: Ich hab mit das
WinAVR runtergeladen und hab mich mal so gut es ging eingelsen. Um die
Dateien zu komplieren gehe ich im Dos-Fenster in das verzeichens Source
(aus Ulis Zip Datei) und starte dann mit dem Befehl make den Compiler ?
Dann soll irgenwo eine .rom Datei sein ?

Vielen Dank schon mal wieder

von Walter (Gast)


Lesenswert?

Ich habe leider auch Probleme mit dem programmieren des Controllers. Hat
vieleich jemand der das Projekt schon nachgebaut hat eine fertige
hex-Datei ?

von Ingo B. (Gast)


Lesenswert?

@jürgen
Ja, komp. Version ist eine kompatible Version und es ist V1.34, wie
auch auf Ulrichs Seite zu lesen ist.

Bei WinAVR ist der Editor Programmers Notepad dabei, dort sind die
MAKE-Befehle zum Compilieren und Programmieren bereits verfügbar.
Aber ein 'make' oder 'make all' im Source-Verzeichnis geht
natürlich auch.
Am Ende erhält man eine .HEX Datei im Verzeichnis.

von Jürgen (Gast)


Lesenswert?

Hallo Ingo,

vielen Dank für dein Bemühen aber wenn ich im NP oder im DOS make
eingebe erhalte ich eben genau keine hex Datei, was ja mein Problem
ist. Das Programmers NP sagt mir das hier:

> "make.exe" all
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=fat.lst  -std=gnu99 fat.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > fat.d; \
[ -s fat.d ] || rm -f fat.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=mmc.lst  -std=gnu99 mmc.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > mmc.d; \
[ -s mmc.d ] || rm -f mmc.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=webpage.lst  -std=gnu99 webpage.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > webpage.d; \
[ -s webpage.d ] || rm -f webpage.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=telnet.lst  -std=gnu99 telnet.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > telnet.d; \
[ -s telnet.d ] || rm -f telnet.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=tcp.lst  -std=gnu99 tcp.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > tcp.d; \
[ -s tcp.d ] || rm -f tcp.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=uart.lst  -std=gnu99 uart.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > uart.d; \
[ -s uart.d ] || rm -f uart.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=clock.lst  -std=gnu99 clock.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > clock.d; \
[ -s clock.d ] || rm -f clock.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=interrupt4.lst  -std=gnu99 interrupt4.c
\
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > interrupt4.d; \
[ -s interrupt4.d ] || rm -f interrupt4.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=icmp.lst  -std=gnu99 icmp.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > icmp.d; \
[ -s icmp.d ] || rm -f icmp.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=ip.lst  -std=gnu99 ip.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > ip.d; \
[ -s ip.d ] || rm -f ip.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=httpd.lst  -std=gnu99 httpd.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > httpd.d; \
[ -s httpd.d ] || rm -f httpd.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=ftpd.lst  -std=gnu99 ftpd.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > ftpd.d; \
[ -s ftpd.d ] || rm -f ftpd.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=checksum.lst  -std=gnu99 checksum.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > checksum.d; \
[ -s checksum.d ] || rm -f checksum.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=arp.lst  -std=gnu99 arp.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > arp.d; \
[ -s arp.d ] || rm -f arp.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=rtl8019.lst  -std=gnu99 rtl8019.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > rtl8019.d; \
[ -s rtl8019.d ] || rm -f rtl8019.d
set -e; avr-gcc -MM -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=main.lst  -std=gnu99 main.c \
| sed 's,\(.*\)\.o[ :]*,\1.o \1.d : ,g' > main.d; \
[ -s main.d ] || rm -f main.d

-------- begin --------
avr-gcc (GCC) 3.4.3
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE.


Compiling: main.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=main.lst  -std=gnu99 main.c -o main.o

Compiling: rtl8019.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=rtl8019.lst  -std=gnu99 rtl8019.c -o
rtl8019.o
rtl8019.c: In function `WriteRTL':
rtl8019.c:25: warning: implicit declaration of function `cbi'
rtl8019.c:31: warning: implicit declaration of function `sbi'

Compiling: arp.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=arp.lst  -std=gnu99 arp.c -o arp.o

Compiling: checksum.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=checksum.lst  -std=gnu99 checksum.c -o
checksum.o

Compiling: ftpd.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=ftpd.lst  -std=gnu99 ftpd.c -o ftpd.o

Compiling: httpd.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=httpd.lst  -std=gnu99 httpd.c -o
httpd.o

Compiling: ip.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=ip.lst  -std=gnu99 ip.c -o ip.o

Compiling: icmp.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=icmp.lst  -std=gnu99 icmp.c -o icmp.o

Compiling: interrupt4.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=interrupt4.lst  -std=gnu99 interrupt4.c
-o interrupt4.o

Compiling: clock.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=clock.lst  -std=gnu99 clock.c -o
clock.o

Compiling: uart.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=uart.lst  -std=gnu99 uart.c -o uart.o

Compiling: tcp.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=tcp.lst  -std=gnu99 tcp.c -o tcp.o

Compiling: telnet.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=telnet.lst  -std=gnu99 telnet.c -o
telnet.o

Compiling: webpage.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=webpage.lst  -std=gnu99 webpage.c -o
webpage.o

Compiling: mmc.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=mmc.lst  -std=gnu99 mmc.c -o mmc.o
mmc.c: In function `mmc_init':
mmc.c:42: warning: implicit declaration of function `cbi'
mmc.c:43: warning: implicit declaration of function `sbi'
mmc.c: In function `Read_Byte_MMC':
mmc.c:140: warning: implicit declaration of function `outb'
mmc.c:142: warning: implicit declaration of function `inp'

Compiling: fat.c
avr-gcc -c -mmcu=atmega32 -I. -g -Os -funsigned-char
-funsigned-bitfields -fpack-struct -fshort-enums -Wall
-Wstrict-prototypes -Wa,-adhlns=fat.lst  -std=gnu99 fat.c -o fat.o

Linking: main.elf
avr-gcc -mmcu=atmega32 -I. -g -Os -funsigned-char -funsigned-bitfields
-fpack-struct -fshort-enums -Wall -Wstrict-prototypes
-Wa,-adhlns=main.o  -std=gnu99 main.o rtl8019.o arp.o checksum.o ftpd.o
httpd.o ip.o icmp.o interrupt4.o clock.o uart.o tcp.o telnet.o webpage.o
mmc.o fat.o   --output main.elf -Wl,-Map=main.map,--cref -lm
rtl8019.o(.text+0x12): In function `WriteRTL':
C:\source/rtl8019.c:25: undefined reference to `cbi'
rtl8019.o(.text+0x22):C:\source/rtl8019.c:31: undefined reference to
`sbi'
rtl8019.o(.text+0x36): In function `ReadRTL':
C:\source/rtl8019.c:47: undefined reference to `cbi'
rtl8019.o(.text+0x48):C:\source/rtl8019.c:55: undefined reference to
`sbi'
rtl8019.o(.text+0x78): In function `Init_Realtek_Network_Card':
C:\source/rtl8019.c:92: undefined reference to `cbi'
rtl8019.o(.text+0x24c): In function `Write_Ethernet_Frame':
C:\source/rtl8019.c:205: undefined reference to `cbi'
rtl8019.o(.text+0x25c):C:\source/rtl8019.c:211: undefined reference to
`sbi'
rtl8019.o(.text+0x32a): In function `Read_Ethernet_Frame':
C:\source/rtl8019.c:270: undefined reference to `cbi'
rtl8019.o(.text+0x342):C:\source/rtl8019.c:277: undefined reference to
`sbi'
rtl8019.o(.text+0x35a):C:\source/rtl8019.c:286: undefined reference to
`cbi'
rtl8019.o(.text+0x36c):C:\source/rtl8019.c:293: undefined reference to
`sbi'
mmc.o(.text+0xa): In function `Write_Byte_MMC':
C:\source/mmc.c:169: undefined reference to `outb'
mmc.o(.text+0x1c): In function `Read_Byte_MMC':
C:\source/mmc.c:140: undefined reference to `outb'
mmc.o(.text+0x28):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x44): In function `Write_Command_MMC':
C:\source/mmc.c:106: undefined reference to `sbi'
mmc.o(.text+0x50):C:\source/mmc.c:169: undefined reference to `outb'
mmc.o(.text+0x60):C:\source/mmc.c:112: undefined reference to `cbi'
mmc.o(.text+0x76):C:\source/mmc.c:169: undefined reference to `outb'
mmc.o(.text+0x8c):C:\source/mmc.c:140: undefined reference to `outb'
mmc.o(.text+0x98):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0xda): In function `mmc_init':
C:\source/mmc.c:42: undefined reference to `cbi'
mmc.o(.text+0xe6):C:\source/mmc.c:43: undefined reference to `sbi'
mmc.o(.text+0xf2):C:\source/mmc.c:44: undefined reference to `sbi'
mmc.o(.text+0xfe):C:\source/mmc.c:45: undefined reference to `sbi'
mmc.o(.text+0x10a):C:\source/mmc.c:46: undefined reference to `sbi'
mmc.o(.text+0x116):C:\source/mmc.c:47: undefined reference to `sbi'
mmc.o(.text+0x134):C:\source/mmc.c:169: undefined reference to
`outb'
mmc.o(.text+0x1a4):C:\source/mmc.c:93: undefined reference to `sbi'
mmc.o(.text+0x216): In function `mmc_write_sector':
C:\source/mmc.c:140: undefined reference to `outb'
mmc.o(.text+0x222):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x234):C:\source/mmc.c:169: undefined reference to
`outb'
mmc.o(.text+0x250):C:\source/mmc.c:169: undefined reference to
`outb'
mmc.o(.text+0x26c):C:\source/mmc.c:169: undefined reference to
`outb'
mmc.o(.text+0x27c):C:\source/mmc.c:169: undefined reference to
`outb'
mmc.o(.text+0x28c):C:\source/mmc.c:140: undefined reference to
`outb'
mmc.o(.text+0x298):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x2a8):C:\source/mmc.c:241: undefined reference to `sbi'
mmc.o(.text+0x2f0): In function `MMC_Read_Block':
C:\source/mmc.c:140: undefined reference to `outb'
mmc.o(.text+0x2fc):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x31e):C:\source/mmc.c:140: undefined reference to
`outb'
mmc.o(.text+0x32a):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x33e):C:\source/mmc.c:140: undefined reference to
`outb'
mmc.o(.text+0x34a):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x356):C:\source/mmc.c:140: undefined reference to
`outb'
mmc.o(.text+0x362):C:\source/mmc.c:142: undefined reference to `inp'
mmc.o(.text+0x36e):C:\source/mmc.c:270: undefined reference to `sbi'
make.exe: *** [main.elf] Error 1

> Process Exit Code: 2

von Tobias Schneider (Gast)


Lesenswert?

Hi,
tja du hast wohl die avr-lib in der version 1.2 im einsatz. da sind die
seit 1.0 oder sogar frueher als deprected bezeichneten funktionen und
macros weg. unetranderem auch sbi und cbi. du musst entweder den source
umandern oder die cbi und sbi macros selbst implementieren

Gruß Tobias

von Ingo B. (Gast)


Lesenswert?

Hi,

das ist ja komisch - anscheinend findet der Compiler die u.a. Makros
zum Setzen (sbi) und Löschen (cbi) von Bits nicht. Keine Ahnung daran
das liegt.
Da das Compilieren nicht fehlerfrei war, gibt es auch keine HEX-Datei.

Der einzige Unterschied ist, das ich 'avr-gcc (GCC) 3.4.1' benutze.
Ein kurzes Gogglen ergab: "inp(), outp(), sbi() und cbi() werden in
Bälde nicht mehr unterstützt und es wird schon seit längerem empfohlen,
diese Makros nicht mehr zu nutzen."
Da du eine aktuellere Version benutzt ist dies vielleicht der Grund.

Gruss,
Ingo

von Ingo B. (Gast)


Lesenswert?

@jürgen

schau mal in die Datei 'sfr_defs.h' im include/avr Verzeichnis.
Da finde ich u.a. '#define sbi(sfr, bit) (_SFR_BYTE(sfr) |=
_BV(bit))'
Das ist eines der Makros, die nicht gefunden wird.

Wahrscheinlich sind die Makros ersatzlos gestrichen worden, warum auch
immer.

Gruss,
Ingo

von Jürgen (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich hab mal die Datei sfr_defs.h angehängt. Diese befindet sich bei mir
auch im Ordner ...WinAVR/avr/include/avr.
Wie soll ich denn nun weiter vorgehen. Gibt es auch ältere Versionen
zum runterladen oder kann mir jemand seine alte sfr_defs.h schicken ?

von Elektrikser (Gast)


Lesenswert?

Diese Makros sind gestorben. Man will anscheinend mehr an den C-Standard
ran. Angekündigt hat dies Jörg Wünsch am 27.12.04:
http://www.mikrocontroller.net/forum/read-2-138701.html#new

Mann kann ja sbi und cbi auch so schreiben:
sbi (PORTA,6);     --->    PORTA |= (1 << PA6);
cbi (PORTA,6);     --->    PORTA &=~(1 << PA6);

Ob es schöner ist... wahrscheinlich nicht. Aber es ist C...

Gruß Elektrikser

von Ingo B. (Gast)


Angehängte Dateien:

Lesenswert?

Hi,

ich habe mal die alten Makros in eine Datei gepackt.
Kopiere die Datei in das Webserver Verzeichnis und include die Datei in
der main.h.
Hier ein Auszug (main.h):
  #include <avr/eeprom.h>
  #include "old_macros.h"             // <<< hier einfügen !
  #include "mmc.h"

Damit sollte es laufen.

Gruss,
Ingo.

von Jürgen (Gast)


Lesenswert?

Super danke jetzt hats funktioniert. In der Datei von Ingo war noch ein
kleiner Tippfehler in Zeile 34.

Also nochmal allen vielen vielen Dank die geholfen haben besonders Ingo

von Ingo B. (Gast)


Lesenswert?

Was für ein Fehler? (Konnte keine finden)

Gruss,
Ingo

von Linkinpark (Gast)


Lesenswert?

Sry für dei Anschuldigung. Der Fehler schien bei mir gewesen zu sein.
Hab die Datei nochmal runtergeladen jetzt passt alles. Bim letzen mal
war das 5. endif mit einem o versehen also endiof.

von Alex (Gast)


Lesenswert?

Hallo Holger!


Ich möchte gerne so eine Platine kaufen!!!

Wann kannst du sie verkaufen??

MFG
Alex

von bernd (Gast)


Lesenswert?

@Holger
Ist es verwerflich, dass jemand den fertigen Hex-Code hier anbietet?
Ist das illegal ?
Ich frage mal so direkt.

von Matthias (Gast)


Lesenswert?

Hi

ich hab den Webserver soweit aufgebaut, jedoch ohne die SD Karte. Wenn
ich den die Schaltung jetzt laufen lasse meldet sich der Atmel im
Hyperterminal und sagt: "Keine MMC/SD-Karte gefunden!" In der Doku
von Ulrich Radig steht das er "Network 34" oder so sagen sollt, und
dass der Betrieb auch ohne SD Karte möglich ist ?

von Uli (Gast)


Lesenswert?

Hallo,

Es gibt einen neuen Source Code V1.35 der alte lief ja nicht mehr mit
AVRGCC 20050214 ;-)

Mfg Ulrich

von Mark (Gast)


Lesenswert?

Hallo zusammen!

Wenn ich den Webserver einschalte gibt der Controller planmäßig "
Init Network Card: ......... Init Ready!" aus. Allerdings kann ich ihn
dann weder anpingen noch wird im Internet Explorer irgendetwas
angezeigt. Kann es sein dass noch was an der Netzwerkkarte falsch
konfiguriert ist oder kann dies aufgrund der erfolgreichen
Initialisierung ausgeschlossen werden ?

von Holger Buss (Gast)


Lesenswert?

Hallo!

@Alex
Bis Mitte März müssen wir uns noch mit den Leiterplatten gedulden.

@Bernd
Es ist natürlich nicht illegal, die HEX-Files anzubieten.
Ich mache mal eine Sammlung von fertigen HEX-Files mit
unterschiedlichen IPs und mit / ohne SD-Karte.

@Matthias
Du kannst die While-Schleife zu Beginn in der Main.c einfach
abbrechen:
Ulrich könnte an der Stelle vielleicht einen Zähler einbauen, so dass
der Webserver trotzdem gestartet wird, wenn keine SD-Karte eingesteckt
ist.

Gruss,
Holger

von Matthias (Gast)


Lesenswert?

Ok das mit der SD-Karte hab ich geregelt. Mein neues Problem sit die
Konfiguration der Netzerkkarte. In der Dokumentation steht dass das i/O
auf 300 stehen muss. Wenn ich die Karte in meinem PC habe gibt es nur
die Einstellung E/A und da kann ich nur einen Bereich (0300-031F)
wählen. Ist das so richtig ? Was ist mit der MAC Adresse. Muss das die
der karte sein oder kann  ich irgendeine in der main.c angeben ?

von Ingo B. (Gast)


Lesenswert?

Hi,


ich habe das DOS-Tool zu der Karte auf eine Start-Diskette kopiert und
dann gestartet.
Dort kann man dann Adressse und IRQ einstellen, sowie PnP abschalten.

Ist keine schlechte Idee, die echte MAC-Adresse der Karte zu verwenden.
Ist aber auch nicht wirklich schlimm, irgendeine zu nehmen. ( solange
nicht zwei gleiche Adressen im Netz sind )

Gruss,
Ingo.

von Matthias (Gast)


Lesenswert?

Kannst du mir das Dos Tool hier mal posten oder besser gleich die ganze
Diskette.


Danke schon mal
Matthias

von Michael (Gast)


Lesenswert?

Ich bin genau so weit wie Mark. Es ercheint "Init Ready" im HT aber
auf anpingen oder sonstige Kontakt Versuche reagiert die Karte nicht.
Kann es sein dass immer noch an der Karte was falsch eingestellt ist
oder kann man dies durch die erfolgreiche Initialisierung ausschließen.

von Holger B. (Gast)


Lesenswert?

Hallo Michael,

schliesse mal an einen Datenleitungspin (z.B. D7) einen Pullup nach +5V
an. Es kann sein, dass die Karte doch nicht richtig initialisiert wurde.
Ein "init ready" wird ansonsten unter Umständen auch angezeigt, wenn
keine Karte eingesteckt ist.
Das kann man zwar auch per Software lösen, aber ein Pullup tut es an
dieser Stelle auch. Der Grund ist, dass der AVR das Datenwort vom Port
zurückliest, das er selbst geschrieben hat (Kapazitäten).

Hast Du die richtige IP eingestellt?
Dein PC muss eine gleiche IP (bis auf die letzte Zahl) besitzen.
Blinkt die LED auf der Netzwerkkarte?
Man kann auch ohne Weiteres alle IRQ-Ausgänge der Netzwerkkarte
parallel schalten, dann muss man sich schonmal nicht mehr um falsch
eingestellte IRQs kümmern.

Gruss,
Holger

von kami (Gast)


Lesenswert?

Hi ich schiebe das Thema mal wieder nach oben.
Kann mir mal jemand sagen wie ich den Mikrocontroller von dieser
Schaltung am billigsten programmieren kann also was brauche ich für
eine Verbindung vom PC zum Controller?

Und wie betreibt ihr diesen Mikrocontroller mit Strom??
Also was habt ihr für eine Stromversorgung?

Mfg

Kami

von Holger Buss (Gast)


Lesenswert?

Hallo Kami,

die AVR-Controller kann man sehr einfach programmieren.
Die Teile dazu kosten nur ein paar Cents.
Siehe dazu:
http://www.mikrocontroller.com
...unter ISP.
Als Stromversorgung geht ca 7-15V= aus einem Steckernetzteil.

Gruss,
Holger

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

gleich vorweg: Wahnsinn! Uli und Holger: Super Arbeit! Danke!
Vorgestern abend hab ich mir (nach langer Zeit) mal wieder Ulis Website
angesehen und das Projekt näher betrachtet, gestern abend lief das Teil
dann hier (kam unerwartet an so eine NIC und einen ISA-Slot ran). :)

Dank Holgers Anpassungen und defines war das Compilieren und
Installieren kein Thema. Etwas länger hab ich dann damit verbracht, das
PnP-EEPROM einzustellen. Ist ne geborgte Karte, daher fiel das Auslöten
flach. Das DOS-Tool fand die Karte nicht, und die isapnp-Tools von
Linux ändern die Einstellungen nur zur Laufzeit. Die Lösung war
ne2k-diag (aus dem nictools-nopci Debian-Paket). Damit konnte ich
zumindest die IO-Base auf 0x300 stellen. Auf IRQ 4 beharrte er
allerdings.

@Uli:
Bitte evtl. in die Doku aufnehmen:
1.1. daß man bei Bedarf oder Unsicherheit alle möglichen IRQ-Leitungen
parallelschalten kann (zumindest die in Frage kommenden),
1.2. daß die Spannungsversorgung am 16bit-Erweiterungsslot (und damit
der ganze Slot) nicht unbedingt notwendig ist (kommt aber sicher auch
auf das NIC-Layout an),
1.3. Hinweis auf die nictools für Linux-only-Nutzer.

Außerdem:
2.1. ohne aktivierte Pullups am Datenbus kann es durchaus vorkommen,
daß durch die Kapazität der Leitungen eine 34 am Datenbus gelesen wird
(nach dem Init) obwohl gar keine Karte eingesteckt ist. Das hat mich am
Anfang total verwirrt, weil die 34 nur auftauchte, wenn die Karte
draußen war. Sonst wegen falscher IO-Base 254 oder sowas. Mit Pullups
läßt sich das wesentlich besser diagnostizieren (kann man ja nach dem
Init wieder abschalten)

Hoffentlich hat das nicht fordernd geklungen. Mir würde es ja auch nix
bringen, mein Server läuft ja. Sind nur Anmerkungen, wie man es
interessierten Nachbastlern leichter machen könnte.

Mein Anwendungszweck: Z.B. soll ein Server in's Gartenhäuschen, wo er
Füllstände von Fässern überwacht (kapazitive Messung), Ventile und
evtl. Pumpen steuert, und die Solar-/Akkuspannungen überwacht.

Auch wenn es eigentlich Unsinn ist, weil im Keller eh ein Server im
Dauerbetrieb steht, würde ich den Server gern autark alle relevanten
Dienste erledigen lassen. Das wichtigste wäre HTTP, weil primär alles
per Webfrontend bedienbar sein soll. Dann evtl. noch was simples auf
Telnet-Ebene, damit auch Scripte bequem damit umgehen können.

Daher hab ich vor, den httpd des AVR-Webservers entsprechend zu
erweitern. Vorhin hab ich in die tcp.c soweit erweitert, daß ich im
HTML-Source Platzhalter verwenden kann, à la:
%{b0:02x}
Sieht jetzt erstmal kryptisch aus, aber es bedeutet nicht mehr als:
Gib Byte (b) an Adresse 0 (des globalen Datenarrays) aus, und zwar im
Format %02x.
Genauso kann man das auch mit Words (dann halt %{w...}) machen. Alles
zusammen wird in einer Union gespeichert, die noch aufgeteilt werden
soll in einen Readonly- und einen Read/Write-Bereich (oder einfach zwei
Arrays).
Per GET/POST könnte man dann die Daten im Read/Write-Bereich ganz
einfach manipulieren. Die Hauptschleife kann dann die Werte verarbeiten
bzw. die Werte für die Ausgabe entsprechend aufbereiten. Z.B.
(Pixel-/Prozent)breiten für Bargraphen (wie man sie leicht mit Tabellen
zeichnen kann).

Fragen an Uli:
3.1 Wieso geschieht das Parsing der Escapesequenzen (%...) in der
tcp.c? Wäre es in der httpd.c nicht besser aufgehoben? Ich nehme an,
das war erstmal nur als Test gedacht.
3.2 Meinst Du, sowas könnte man ohne viel Codeduplikation auch für
Daten von der SD-Card machen? Hab mir den Code noch nicht angesehn
(also wie man das dann sequenziell durchgeht), mangels vorhandener
SD-Card (kommt aber auch bald).
3.3 Kann man auch Verbindungen nach außen selbst aufbauen (innerhalb
des Subnet), z.B. um an einen SMTP-Server zu connecten? Fände ich sehr
interessant, um Status- oder Störungs-EMails zu senden.
3.4 Verständnisproblem meinerseits: Du schreibst, eine Website kann nur
9 Bilder enthalten (weil nur 10 Verbindungen möglich sind). Starten
HTTP-Clients die Anfragen denn parallel? Das Keepalive raus- (bzw.
eigentlich rein-)zunehmen hat da nix geholfen?

Fragen an alle:
4.1 Welche Anforderungen habt Ihr so an den HTTP-Server? Wäre schön,
wenn wir vielleicht alle zusammen Erweiterungen dafür zusammentragen
könnten, bzw. Ideen. Einen mehr oder weniger mächtigen HTTPD für Mega32
könnte man bestimmt für viele schöne Sachen einsetzen.
4.2 Falls jemand die Ausgabe von Variablen schon implementiert hat:
Welchen Ansatz habt Ihr gewählt? In welchem Teil geschieht das Parsing?
Wie sehen Eure Platzhalter aus? Welcher Speicherbereich wird dafür
referenziert?
4.3 Hat schon jemand Routinen geschrieben für die Auswertung der
CGI-Daten aus Formularen?

Herzlichen Dank im Voraus!
Mark

von A.F. (Gast)


Lesenswert?

Habe noch vom 486er 2 Festplatten mit ca.100MB hier rumliegen. Wäre ein
Hit wenn man die statt den Speicherchip anschließen könnte.
Diesen Mini-Server könnte ich dann 24Stunden laufen lassen, da mein
HomeServer doch 600W verbraucht und nicht der leiseste ist.
Hat da schon jemand an einem Harddiskconverter herum gebastelt? Mir
wäre die Adressierung zu schwer, was man für die Festplatte brauchen
würde. Zudem bin ich eher der AT89C2051/4051 und 8051er-Typ und habe
mit AVR fast nix am Hut.

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

@A.F.:
Also für zwei alte 100MB-Platten, die auch nicht das ewige Leben haben,
würde ich so einen Aufwand nicht treiben. SD-Karten haben denen
gegenüber nur Vorteile, insb. was den Stromverbrauch, Lautstärke und
Zuverlässigkeit angeht.
Ab einigen GB mag sich das rentieren, aber doch nicht für 200MB, was
heutzutage schon nur noch Mittelmaß bei SD-Karten ist.

Aber mal was anderes: 600W?! Hast Du nen Cray zu Hause stehen? :)

Mark

von A.F. (Gast)


Lesenswert?

Nur ein neues Netzteil. Das alte hatte eine so billige Aufbauweise das
es nicht mehr reparabel war. Das 600W-NT hatte ich mal für 20 Euro
gekauft und habs später als Reserve einbaut. Braucht man auch wenn man
Brenner, CD-ROM, Kartenslot (Für die Speicherkarten der Kamera),
schnelle Graphikkarte, einer der ersten PCI-Ethernetkarte und
6Kanalaudioendstufe drin hat.

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

es gibt schöne Energiemeßgeräte, mit denen man sich vergewissern kann,
daß nicht alles, wo 600W Nennleistung draufsteht, auch permanent 600W
verbrät. :)
Außer natürlich, man hat eine "6Kanalaudioendstufe" im Rechner. Dann
wundert mich gar nix mehr. ;)

scnr

Mark, der gern wieder auf's Threadthema zurückkommen würde. :)

von Uli (Gast)


Lesenswert?

Hallo @Mark Hämmerling,

Danke für deine ausführliche Beschreibung, zu deinen Fragen:

>>3.1 Wieso geschieht das Parsing der Escapesequenzen (%...) in der
>>tcp.c? Wäre es in der httpd.c nicht besser aufgehoben? Ich nehme an,
>>das war erstmal nur als Test gedacht.

So ist es, es war nur ein Test. Ich habe das Programm nur mal
geschrieben um ein wenig über TCP/IP zu erfahren. Just for fun :-)
Das es sich so weit Entwickelt habe ich nicht gedacht.

>>3.2 Meinst Du, sowas könnte man ohne viel Codeduplikation auch für
>>Daten von der SD-Card machen? Hab mir den Code noch nicht angesehn
>>(also wie man das dann sequenziell durchgeht), mangels vorhandener
>>SD-Card (kommt aber auch bald).

Der Code brauch nicht für eine SD Karte geändert werden! Eine SD Karte
läuft ohne Probleme am Webserver. Da diese MMC kompatibel ist!
Ich betreibe meinen Webserver ausschließlich mit SD-Karten.

>>3.4 Verständnisproblem meinerseits: Du schreibst, eine Website kann
>>nur 9 Bilder enthalten (weil nur 10 Verbindungen möglich sind).
>>Starten HTTP-Clients die Anfragen denn parallel? Das Keepalive
raus->>(bzw. eigentlich rein-)zunehmen hat da nix geholfen?

Einige Browser starten einen Request parallel! Einige wieder nicht z.B.
mein Pocket PC zum Steuern meiner Lampen ;-)

Mfg Ulrich

von Mark Hämmerling (Gast)


Lesenswert?

Salve,

@Uli:
zu 3.2: Hab ich blöd formuliert... Daß MMC/SD kompatibel sind, ist
soweit klar, ich sag halt immer SD dazu. :) Die Frage war so gemeint,
ob man den Parser auch auf Daten von der SD ansetzen kann. Das hab ich
inzwischen gemacht. Blicke im Source nun schon etwas besser durch.
Tatsächlich glaube ich, es genügt, wenn man sich darauf beschränkt,
nur die text/html-Contents von der SD-Card nach Platzhaltern zu
durchsuchen, weil ja nur dort feste Daten liegen. Alles andere (telnet,
ftp) gibt ja nur Daten aus, die sowieso vom System generiert werden. In
den Flash werde ich nur noch die 404-Seite legen (die auch ohne
Platzhalter auskommt).

Momentan ist es so, daß der Block einer Routine vorgesetzt wird, die
sich dann um die Ersetzung der Platzhalter kümmert. Dabei wird der
Puffer etwas größer oder kleiner. Sonderfall Platzhalter an
Blockgrenzen wird noch nicht beachtet. Ich überleg noch, wie man das
RAM-sparend am besten macht. Um einen Puffer für die Daten des offenen
Platzhalters (je Socket) werd ich wohl nicht rumkommen.

Mark

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

tata! Die Leiterkarten sind da (siehe Photo)
- Doppelseitig
- durchkontaktiert
- Lötstopp
- Bestückungsdruck
- elektrischer Test

Die soll 10,-EUR plus 2,-P&P kosten.
Nach Ostern kommt das Bestellformular auf die Homepage:
http://www.mikrocontroller.com

Gruss,
Holger

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

So sieht er aufgebaut und gestestet aus.

Gruss,
Holger

von Christian (Gast)


Lesenswert?

Hallo,

passt zwar nicht ganz zum Thema, aber ich frag trotzdem mal.

Ich möchte gerne meinen DSL-Router via LAN einschalten. Ließe sich der
Webserver soweit "ausschlachten" bzw. modifizieren, dass ich die
LAN-Karte mit nem M8 betreibe?
Der M8 soll dann einfach nur den Router und meinen Netzwerkdrucker
einschalten mehr nicht.
Ist die Modifikation viel Arbeit?

Vielleicht kann mir ja jemand weiterhelfen.

Gruß,
Christian

von Holger B. (Gast)


Lesenswert?

Hallo Christian,

die Bezeichnung M8 sagt mir gerade nichts, aber mit diesem Webserver
ist es auch möglich, Geräte wie Drucker, Modems, Lampen usw zu
schalten.
Ulrich schaltet damit z.B. Lampen. Ich will meine Heizungssteuerung
anschliessen.

Gruss,
Holger

von Christian (Gast)


Lesenswert?

Hallo Holger,

M8 = ATMEL Mega 8;
Wie gesagt, das ganze Webserver-zeug bräuchte ich gar nicht.
Ist es deiner Meinung nach möglich den Webserver soweit auszuschlachten
bzw modifizieren, dass ich "nur" ein empfangenes Datenpaket auswerte
und dann meine Geräte schalte? (Anfänger in C!)

Gruß,
Christian

von Schlumpf (Gast)


Lesenswert?

Wenn dein Router OFFLINE ist, bzw. aus ist, dann kannst du auch übers
Internet nichts mehr schalten. Du must eine bestehende Verbindung
haben. Also mindestens dein Router muss ON sein. Den Webserver brauchst
du dann sehr wohl in dieser Ausführung, da er ja die Webseite mit dem
Applet zum schalten haben muss, sowie die Portpinne zum schalten.
Als Tip: Es gibt einen selbstbau Router (FLI4L) www.fli4l.de
Da gibt es opt Packete, mit denen du über den Parallelport Geräte etc.
schalten kannst. Und WakeonLAN für deine Rechner etc.
So mach ichs auch.

von Christian (Gast)


Lesenswert?

Hallo Schlumpf,

ok, ich hab mich nicht ganz genau ausgedrückt. Der Router soll nur
über's LAN eingeschaltet werden, I-net brauch ich nicht (wär ja auch
Quatsch, wie du schon gesagt hast).
An WOL hab ich auch schon gedacht, aber das Board vom Router (3/86er)
hat sowas noch nicht.


Gruß,
Christian

von Jochen (Gast)


Lesenswert?

Hallo Christian,

es bringt nix, wenn du das gleiche nochmal postest:o) Du müßtest schon
genau erklären
- was du mit Router meinst (alter PC mit SW-Router oder HW-Router oder
was)
- von wo genau du das Ding anschalten willst (dein PC im LAN oder jeder
PC im LAN oder jeder PC im WWW oder was)
- wie genau alle die PCs von denen aus das Ding geschaltet werden soll
mit dem Router Ding netzwerkmässig verbunden sind (BNC Stichleitung
oder Sternverkabelung oder ...)

Du kannst:
- prinzipiell die Webseite usw weglassen, dennoch brauchst du den IP
Stack, der dein spezielles Datenpacket identifiziert. Ob das in den
Mega8 passt weiss ich nicht. (Ob deine C Kenntnisse ausreichen kann ich
nicht beurteilen.)
- mit diesem Projekt eine Steckdose einschalten, egal was du da
reinsteckst

Du kannst nicht:
- Den Router (egal was du damit meinst) mit einem PC (egal wo)
anschalten, wenn dieser PC netzwerktechnisch nur mit dem Router
verbunden ist, weil der Router natürlich nix tut solange er aus ist.
AUSschalten könntest du den Router auch in diesem Fall.

Oder ganz einfach: Dieses Projekt stellt dir eine RJ45 Buchse bereit.
Diese Verkabelungsart wird normalerweise als Stern mit dem Router im
Zentrum ausgeführt. Das bedeutet dass dein PC an Router-Anschluss A mit
dem yC an Router-Anschluss B nur über den Router kommunizieren kann. Und
das geht nur wenn er an ist.

Ergo: Um deinen Router ANzuschalten, müßte dein PC via zweiter
Netzwerkkarte direkt (oder via zweitem Router) mit dem yC verbunden
werden. Was das für einen Sinn macht übersteigt allerdings grade meine
Phantasie:o)

Hoffe das ist jetzt geklärt:o)

Gruß und frohe Ostern,
Jochen

PS: @Holger: sieht gut aus die Platine

von Christian (Gast)


Lesenswert?

Hallo Jochen,

sorry, dass ich mich so unpräziese ausgedrückt habe!

Ich versuch's nochmal:

- In meinem Büro steht ein alter PC, in dem zwei LAN-Karten stecken. An
einer hängt das DSL-Modem, mit der anderen hängt er am Switch. Dieser PC
dient als DSL-Router, Hardware-Firewall, File-Server und Printserver.

- mein LAN (100MBit --> RJ45) sieht so aus, dass ich einen 8-fach
Switch habe, an dem meine anderen Rechner (Werkstatt-Rechner,
Arbeits-Rechner, Laptop, Test-Computer, etc.) und der "Router"
angeschlossen sind.

- alle PCs im LAN sollen den "Router" einschalten können

- Ausschalten ist kein Problem, da ich das Betriebssystem (Linux) via
SSH herunterfahre und der PC dann selbstständig ausschaltet

- wenn der modifizierte "Webserver" am Switch angeschlossen wird,
kann dieser doch meinen "Router" einschalten, oder täusche ich mich
da?

Ich hoffe, dass es jetzt ein bisschen verständlicher ist was ich
vorhabe :)

Gruß und auch von mir Frohe Ostern!
Christian

von Jochen (Gast)


Lesenswert?

Ja, das sollte m.E. gehen.

Anmerkung: Bei den heutigen HW Preisen würde ich mir an deiner Stelle
einen HW-Router mit eingebautem DSL Modem zulegen (gibts umsonst wenn
du zu einem günstig(eren) DSL Anbieter wechselst). Den Fileserver
kannst du ja trotzdem mit dem uC schalten.

von Christian (Gast)


Lesenswert?

Hallo Jochen,

was könnte ein HW-Router besser machen als meine momentane Lösung?
Bin eigentlich ganz zufrieden damit.

Gruß,
Christian

von Holger B. (Gast)


Lesenswert?

Hallo,

ab sofort ist die Leiterplatte unter:
www.mikrocontroller.com
erhältlich.

Gruss,
Holger

von Uli (Gast)


Lesenswert?

Hallo @Holger!

Danke für die Platine, ist heute bei mir angekommen. Ist ja echt
spitze. Warum kann ich nicht solche schönen Platinen ätzen ;-)
Habe diese gleich bestückt. Werde in den nächsten 1-2 Tagen mal einen
angepassten SourceCode vorstellen.

Mfg Ulrich

von kami (Gast)


Lesenswert?

Hi

Also ich habe jetzt auch mein Web-server fertig und wollte mal hier
fragen, ob mir jemand erklären könnte wie ich den richtig programmieren
kann. Ich habe WinXP und den ISP-Adapter per Parallel-Port von Holger
Buss. Das Problem ist das ich nicht weiß was ich mit dem C-Code von
Ulrich anstellen soll. Oder besser gefragt wie ich ihn kompilieren kann
und mit PonyProg auf den Mikrocontroller zaubern kann.
Wäre klasse wenn mir jemand ein kurzen Howto schicken könnte.

Vielen Dank

Cu Kami

von Holger B. (Gast)


Lesenswert?

Hallo Kami,

unter "Grundlagen" -> "ISP" auf unserer Seite findest Du einen
Schaltplan zum DT006-Parallel-Programmer, oder zu einem sereiellen
Programmer.
(Achtung: mein altes DOS-Tool hatte eine andere Pinbelegung, deshalb
bitte den Schaltplan zum DT006 nehmen)
Dann kannst Du mit Ponyprog das HEX-File einspielen.
Zum Compilieren der C-Codes denötigst Du einen GCC-Compiler für AVR,
z.B. den WINAVR.
Compilieren musst Du den Code, wenn Du die IP-Adresse des Webservers
ändern willst. Das Ergebnis des Compilierens ist ein HEX-File.

Vielleicht könnte Ulrich mal die HEX-Files zum aktuellsten Programm
auch auf der Homepage anbieten. (Vielleicht mit unterschiedlichen
IP-Bereichen)

z.B. die Wichtigsten:
192.168.0.55 ; 16,00MHz ; 19200Bd
192.168.1.55 ; 16,00MHz ; 19200Bd
192.168.0.55 ; 14,xxMHz ; 19200Bd
192.168.1.55 ; 14,xxMHz ; 19200Bd

Ab Besten zunächst ohne SD-Karte und für die Leiterkarte ISA-CTRL
kompiliert.

Gruss,
Holger

von kami (Gast)


Lesenswert?

Hi

Also das Problem ist: Ich habe mit make all die Files kompiliert und da
sind dann 54 datei bei entstanden. Ich habe dann PonyProg geöffnet und
das bei Setup so eingestellt wie es auf deiner HP steht. Ich kann aber
nicht den LPT umstellen der steht bei mir immer auf LPT2.
Ich öffne dann mit PonyProg nur die Datei main.hex.
Wenn ich dann versuche zu übertragen stehen da immer:
Communication port not available (-16)

Was kann ich da gegen den tun?
Außerdem würde ich gerne wissen ob es möglich ist die IP des Webservers
in den 10.108.34.* Bereich zu stellen?

Mfg

Kami

von kami (Gast)


Lesenswert?

HI Holger ich schreib dir nochmal alles was ich jetzt rausgefunden habe
und gemacht habe vielleicht hilft dir das weiter und du hast noch ein
paar tipps für mich. Also: Ich habe das ISP-Kabel so wie hier
beschrieben erstellt: DT-006 (parallel) und PonyProg v 2.06e
installiert. In PonyProg ist DT006-API eingestellt und LPT2 was anderes
kann ich da nicht einstellen. Ich habe alle Lötstellen und Verbindungen
noch mal durch geprüft. Bis auf den Quarz und die 22 pF Kondensatoren
konnte ich alles messen. Für den Rest habe ich leider kein Messgerät.
Ich finde einfach nicht den Fehler. Wenn der Mikrocontroller am
Spannung angeschlossen (7,5 V und 500mA) leuchtet die grüne LED. Bei
der Netzwerk  karte leuchtet nach Anschalten des Controllers kurz die
Connect-LED für ein paar Sekunden auf dann geht sie aus. Was mache ich
falsch warum kann ich das file main.hex nicht auf den Controller
transferrieren?

Mfg

Kami

von Sebastian Schildt (Gast)


Lesenswert?

Holger schrieb:
-----
Hallo,

ab sofort ist die Leiterplatte unter:
www.mikrocontroller.com
erhältlich.
----

Äh, wo denn? Möglicherweise bin ich ja blind, aber ich finde das nicht.

von HansHans (Gast)


Lesenswert?

www.mikrocontroller.com - -> Webserver
--- > Seite ganz unten --- >
Die Leiterkarte kann hier bestellt werden...
und dann auf hier ......

von ISA-SUCHER (Gast)


Lesenswert?

Hallo,

weiter oben wurde erwähnt, dass es den ISA-Slot bei Reichelt gibt. Ich
kann den aber nicht finden. Kann mir da jemand auf die Sprünge
(Bestellnummer) helfen?

Vielen Dank

von sirko (Gast)


Lesenswert?

@isa-sucher

weiter oben findest du ne html-stückliste von mir mit
reichelt-bestellnummern

von ISA-SUCHER (Gast)


Lesenswert?

Hallo

@sirko vielen Dank. Hab ich überelsen. Sorry.
Kann man den STECKER 62-254 auch für den "kleinen" kürzen? Der ist
billiger und man hat nen Rest, paßt das mechanisch?
ausprobiert?

von webber (Gast)


Lesenswert?

Hallo zusammen

kann mir mal jemand erklären welchen RS232 Schnittstellenbaustein man
nimmt?
Im Schaltplan ist ein Max232 braucht der nicht 1uF Ladungspumpen?
Der Max202 nur die angegebenen 0.1 uF. Vom Preis 0,40 zu 1,25€.
Was soll man nu nehmen?
Vielen Dank für ne Klärung.

von Uli (Gast)


Lesenswert?

Hallo,

Ich habe mich auch erst gewundert, aber der MAX232 funktioniert auch
mit 0,1µF Kondensatoren. Aber ich würde besser den MAX202 benutzen der
ist def. für 0,1µF ausgelegt.

Mfg Ulrich

von kami (Gast)


Lesenswert?

Hi könnte sich vielleicht bitte jemand um meine Probleme mit dem
Webserver weiteroben kümmern? nur das das nicht verloren geht. Vielen
Dank

Cu Kami

von Holger B. (Gast)


Lesenswert?

Hallo

@Kami:
so wie ich das sehe, hast Du ein Problem mit der Parallelen
Schnittstelle. Solange Ponyprog beim Test der Schnittstelle nicht Okay
meldet, klappt das Programmieren nicht.
Zur Not solltest Du auf die Serielle Schnittstelle wechseln.

@Webber:
Keine Sorge, der MAX232 rennt ganz hervorragend mit 0,1uF. Vielleicht
kann der dann etwas weniger Strom treiben, das muss er aber auch
nicht.

Gruss,
Holger

von Sebastian Schildt (Gast)


Lesenswert?

----------------
www.mikrocontroller.com - -> Webserver
--- > Seite ganz unten --- >
Die Leiterkarte kann hier bestellt werden...
und dann auf hier ......
-----------

ARGH! Aber man muss erstmal auf "Deutsch" klicken. Vorher sieht die
Seite doch recht anders aus. Da soll erstmal einer drauf kommen :)

Also hier:
http://www.mikrocontroller.com/index_de.html
einsteigen

von kami (Gast)


Lesenswert?

@Holger kann du mir erklären was du damit meinst das PonyProg okay
sagt?
Also wenn ich unter Initialisierung deine Einstellungen nehme und dann
Probe/Test klicken dann sagt er immer Test OK!
Oder meinst du was anderes?
Die Schaltung habe ich aber genau so aufgebaut wie auf deiner Seite
beschrieben muss ich vielleicht noch irgendwelche zusätzlichen Treiber
installieren oder kann ich das irgendwie testen? Schaltung ist ja nicht
so wild eigentlich?

Vielen Dank

Cu Kami

von kami (Gast)


Lesenswert?

Hi
Also das Serielle Datenkabel ist nun fertig und ich habe alles schon
100mal durchgemessen und keinen Fehler gefunden. PonyProg2000 sagt bei
Probe Test OK wenn ich auf den COm-Port gehe wo der Webserver
angeschlossen ist. Aber wenn ich dann versuche Daten zu übertragen
kriege ich immer folgende Meldung:

Bus busy or hardware error (-11)

Kann mir vielleicht bitte jemand helfen ich möchte so gerne den
Webserver endlich programmieren können und ich finde den Fehler nicht.
Ich benutze einen BD139 Transistor für die Schaltung ich hoffe der ist
in Ordnung dafür?
Ich weiß echt nicht mehr wo dran noch der Fehler liegen könnte?
Könnte beim Löten vielleicht irgendein Bauteil durchgebrannt sein? ich
habe nur mit circa 300°C gelötet?

Mfg

Kami

von mischu (Gast)


Lesenswert?

Hallo,
Ich habe nun meine neue AVR Web Server Leiterplatte bekommen.
Muß sagen ... super !!!! vielen DANK .
Ich habe da vieleicht eine ausergewöhnliche Bitte an Euch.
Kann mir jemand freundlicherweise ein hex File der Web Server Software
zukommen lassen die den ATMega32 + SD Karte unterstützt, so das
ich nach dem Hardwareaufbau den Web Server testen kann.
Habe einen Programmer HiLo den ich zum programmieren des Mega32 nehmen
könnte.
Ich habe im Moment das Prblem mich in den C compiler eizuarbeiten, um
 selber den code compilieren zu können ( bin diesbezüglich absoluter
Anfänger ).
Wäre schön wenn ich mit Eurer Hilfe meine Hardware testen könnte.

Vielen Dank im Voraus !!!!!
Gruß aus Bielefeld
Michael

von Holger B. (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Mischu,

schön, dass Dir die Leiterplatte gefällt :-)
Anbei einige getesteten Hex-Files für diesen Webserver.
Jeweils für 192.168.1.66 / 166 und 192.168.0.66 / 166
Die Dateien sind aus den Quellen V1.38 von Ulrich übersetzt.

Wenn Ihr das Programm einspielt (mit SD-Karten-Unterstützung), muss
nach dem Start die rote LED blinken, falls keine SD-Karte eingesteckt
ist. Ausserdem blinkt die LED, wenn der Interrupt der Netzwerkkarte
aufgerufen wird.

Ab besten, Ihr schliesst die Serielle Schnittstelle an den PC an. Dann
könnt Ihr mit 9600Bd auf einem Terninalprogramm beobachten, was der
Webserver macht.

Gruss,
Holger

von Sebastian (Gast)


Lesenswert?

@Kami

was passiert wenn du PonyProg sagst er soll programmieren und das kabel
nicht angesteckt ist? Kommen die gleichen Meldungen oder andere?

Schau mal in der Systemsteuerung/Gerätemanager nach ob irgendwelche
Ausrufezeichen bei den Schnittstellen stehen.

Seb

von kami (Gast)


Lesenswert?

Hi

So Feldstudien sind abgeschlosen nun zum Ergebnis:

Also ich habe auf meinem Rechner, einem WinXP und einem Win98 Rechner
getestet. Bei allen 3 Rechnern war der Fehler der gleiche. Nun zur
Beschreibung des Fehlers:

PonyProg erkennt unter Calibration, wenn man auf Probe klickt immer ob
ein Kabel angeschlossen ist oder nicht also Test OK oder Test failed.
Das klappt sicher.
Aber die Fehlermeldung beim Übertragen des Hex-files bleibt immer die
gleiche EGAL OB DAS KABEL ANGESCHLOSSEN IST ODER NICHT. Sie lautet:

Bus busy or hardware error (-11)

Das war bei allen 3 Rechnern so.

In der Systemsteuerung habe ich auch von allen Rechnern überprüft ob
der COM-Port fehlerfrei drin stand und das war immer der Fall.

Ich weiß echt nicht wodran der Fehler nun liegt.

Ich hoffe ihr könnt mir helfen.

MFG

Kami

von Uli (Gast)


Lesenswert?

Hallo @kami,

Es kann auch daran liegen das dein Mega32 nicht arbeitet also das der
Quarz nicht schwingt. Das würde ich als erstes überprüfen.

Mfg Ulrich

von cdg (Gast)


Lesenswert?

Hallo Holger,

kann ich in den Hex-Files aus der Isa_Ctrl_Hex_1_38.zip
die IP mittels Hex-Editor einfach ändern,
oder ist da eine Prüfsumme drüber ?

MfG cdg

von Ingo B. (Gast)


Lesenswert?

Hi,

wenn du die Datei z.B. mit PonyProg lädst, kannst du die Adresse direkt
ändern (wenn du die Position findest).

Im Hex-File selbst ist eine Prüfsumme pro Zeile.

Gruss,
Ingo.

von smiler (Gast)


Lesenswert?

Hallo,

beüzglich eines Nachbaus des AVR-Webservers stellt sich mir die Frage,
in was für ein Gehäuse man den am Besten steckt!?
Auf Bildern sieht man das gute Stück immer ohne, aber ein Schutz vor
Staub wäre wohl ganz sinnvoll. Evtl. kann man den Webserver zwecks ein
bischen MSR auch in einer etwas "raueren" Umgebung einsetzen.
Jemand 'ne Idee worin man den am besten verpackt?

Gruß,
smiler

von Webber (Gast)


Lesenswert?

Hallo

ich Versuch das als Sandwitch aufzubauen und verbinde die Karten mit
Flachkabel... dann geht in "normale Gehäuse"

von mischu (Gast)


Lesenswert?

Hallo,
Erst mal vielen Dank an Holger B.
Werde nun das ganze ausprobieren !! und danach berichten !

Gruß & schönes Wochenende an alle
Mischu

von Breti (Gast)


Lesenswert?

Hi,

ich bin auch schon ganz heiß, diese Schaltung nachzubauen. Allerdings
brauche ich die SD Karte nicht, sondern hätte lieber möglichst viele IO
Anschlüsse zum Schalten und Walten.
Ich habe mir daher mal die Schaltpläne und die Platine angeschaut, bin
aber leider nicht so ganz schlau daraus geworden, was alles an Pins
herausgeführt wurde:

-Wozu ist der 14polige Stecker neben dem Stromanschluß?
-Sehe ich das richtig, dass sowohl der 6polige als auch 10polige
anschluss neben dem Atmega die Pins für den Programmierport
beinhalten?
-Was liegt auf dem großen Pin Block neben dem Atmega (bei Pin40)? Ich
zähle hier 40+3Pins, die mit GND und 5V beschriftet sind. Gehe ich
recht in der Annahme, dass an den 40 Pins alle Atmega Pins
herausgeführt sind?

Gruß,
       Thomas (der die Platine jetzt bestellen wird :)

von Holger B. (Gast)


Lesenswert?

Hallo Thomas,

auf dem 14-Poligen Stecker sind 9 freie Portpins, Versorungsspannung
und die serielle Schnittstelle herausgeführt. Da kannst Du deine
I/O-Schnittstellen auflegen. Drei Analoge Eingänge sind unter Anderem
dabei.

Sowohl der 10-Polige als auch der 6-polige Stecker dienen als
Programmierschnittstelle. Der 6-Polige ist kompatibel zu der Belegung
der AVR-Ctrl-Platine. Der 10-Polige ist kompatibel zu STK200.

Der Block mit Lötpins dient zur freien Verfügung als Lochraster. Die
drei Analogen Eingänge und Versorgungsspannung liegen dort auch, so
dass man kleine MessSchaltunge dort aufbauen könnte.

Gruss,
Holger

von Breti (Gast)


Lesenswert?

Hi Holger,

danke für die Info. Werds dann mal austesten, wenn die Platine da ist.
Hast Du eigentlich schon erfahrungen, wie schnell der Atmega
einkommende Pakete annehmen kann (also ohne diese weiter zu senden bzw.
auf flash zu speichern)?
Ich würde gern per UDP konstant viele Steuerdaten and den Atmega
senden, der diese dann auf verschiedene weitere Atmegas verteilen soll.
Im maximalfall bekommt ein solcher Atmega 512byte mit 30Hz, was schon
icht gerade wenig ist.
Je nachdem, wie viel er so annehmen kann, würde ich dann gern weitere
Atmegas dran hängen (Anschluß an den Atmega wahrscheinlich parallel).
Ich bin mir über die Machbarkeit allerdings noch gar nicht so sicher.
Kommt alles darauf an, wie schnell der die Daten überhaupt annehmen
kann.

Gruß,
        Thomas

von kami (Gast)


Lesenswert?

Hi Holger

Wäre es vielleicht möglich das du mir deine Source-Codes einmal mit MMC
Karte und einmal ohne MMC Karte zu kommen lassen würdest. Muss selber
mal nachgucken was du da eingestellt hast. Kriege ich leider nicht
richtig hin. Jedes Mal wenn die Sources von Ulrich Radig übertragen
wurden klappt das Net oder irgendwas anderes nicht mehr richtig. Wäre
also echt super wenn ich die mal von dir geschickt kriegen könnte. Muss
auch noch was an der IP ändern.
Geht das eigentlich technisch im 10.108.34.* bereich?
Wie muss eigentlich eine SD-Karte formatiert sein damit man die mit
Webserver benutzen kann? (Fat,Fat32...)?

Mfg

Kami

P.S.: Das mit dem Datenkabel habe ich hingekriegt lag nur an der
Software deine beiden Platinen sind in Betrieb.

von Holger B. (Gast)


Lesenswert?

Hallo Kami,

schön, dass Du die Platinen jetzt wenigstens programmieren kannst :-)
10.108.34.* geht technisch auch.
Die SD-Karten müssen mit FAT16 formatiert sein.
Auf der seriellen Schnittstelle kannst Du sehen, ob der Kontakt zur
SD-Karte klappt.

Auf unserer Webseite sind HEX-Files für 192.168.*.* - Netze. Mit einem
Hex-Editor könnte man die IP-Bereiche patchen.
In Ulrichs Quelle muss das #define für ISA-Ctrl (heisst dort ISP_CTRL)
gesetzt sein. Den Quarz stellest Du auf 16000000 ein.

ACHTUNG:
Das Programmierkabel muss dann abgeklemmt sein, wenn Du die SD-Karten
nutzt, sonst ist die Schnittstelle belegt!
Nach dem Programmieren schaltest Du am Besten kurz alles Spannungsfrei.
Der elektrische Kontakt zur SD-Karte kann auch ein Problem sein.

Gruss,
Holger

von kami (Gast)


Lesenswert?

Hi danke für die Antwort aber ich komme damit noch nicht so ganz zurecht
also hier sind meine Änderungen an dem Source-Code von Ulrich 1.38 :

main.h sieht so aus:

//#define SYSCLK  14318180  //Quarz Frequenz in Hz
#define SYSCLK  16000000  //Quarz Frequenz in Hz

main.c so:

const unsigned char MYIP[] = {10,108,34,66};

rtl8019.h:

//Anschluß des Webservers nach meiner Bauanleitung, oder die von
//Holger Buss (www.mikrocontroller.com) Mega32-Board

#define ISP_CTRL

Das wars aber aus irgendeinen Grund kriege ich dann keine Netzwerk
verbindung und die rote LED leuchtet niemals?
Strom habe ich natürlich auch getrennt und es ist fürs Testen nur die
SD-Karte eingesteckt. Sonst ist aber alles okay mit deinen fertigen
Hex-files klappt es wunderbar. Nur wollte ich mich mal erkundigen ob
man auf dem FTP listen kann? und was man alles mit der Telnet
connection anfangen kann?

Mfg

Kami

von Uli (Gast)


Lesenswert?

Hallo kami,

Vergesse nicht den CPU Type im Makefile anzugeben anstelle des Mega128
den Mega32.

Mfg Ulrich

von kami (Gast)


Lesenswert?

Das hatte ich zwar auch vergessen aber daran lag es wohl noch nicht hat
immer noch nicht geklappt. Außerdem wollte ich mal fragen warum die
MAC-Adresse in dem Prog angegeben wird ist die nicht immer auf der
Netzwerkkarte?

Mfg

Kami

von mischu (Gast)


Lesenswert?

Hallo,
Ich hätte eine Bitte an Euch !
Kann mir jemand 2.. 3 ISA Netzwerkkartemn mit dem RTL 8019,
idealerweise auf IRQ 9 Adr. 300 umgestellt verkaufen ?
Ich habe da 2 Stück die noch Jumper auf der Platine haben, die ich
aber nicht umstellen kann da mir die Jumperbelegungen nicht bekannt
sind.
Bitte meldet Euch per EMail falls jemand für mich 2.. 3 Karten zu
verkaufen hat !

Gruß und danke im voraus.
Michael

von Holger B. (Gast)


Lesenswert?

Hallo Mischu,

der IRQ ist auf meinem Webserver egal, weil alle IRQ-Leitungen parallel
geschaltet sind. Die Adresse muss aber schon stimmen.
Schau mal bei eBay.

Gruss,
Holger

von kami (Gast)


Lesenswert?

Hi hätte vielleicht jemand noch mal einen Tipp wegen dem SourceCode für
den Webserver irgendwie hängt da was bei mir?
Hat noch einer andere Änderungen?

MFg

Kami

von Werner B. (Gast)


Lesenswert?

Ich habe in WriteRTL vor RTL_WR_OFF() noch ein nop() eingefügt um den
daten zeit zu geben auf dem bus einzuschwingen.
Die fortsetztung dazu ist in Write_Ethernet_Frame. In der schleife vor
RTL_WR_OFF(); noch ein nop(); rein.
In ReadRTL() habe ich die zeilen DATA_CTRL_RTL = INPUT; und
ADDR_PORT_RTL = rtl_addr; gegeneinander vertauscht um den
addressleitungen zeit zum einzwschwingen zu lassen.
In Init_Real... die drei CTRL_LINES_DIR |= ... in eine zeile
zusammengefasst.
In Init_Real... nach dem CTRL_LINES_DIR |=  diese drei leitungen auf
high pegel (RTL_REST_ON(); RTL_WR_ON(); und RTL_RD_ON();)
In Interrupt4.c den cli() und sei() aus der SIGNAL raus. Interrupts
sind in einer SIGNAL routine sowiso gesperrt (nur zur klarheit des
codes, das hat mich relativ stark "irritiert").
Die rot LED geht bei mir auch nicht an, ich glaube die wird für eine
MMC - information genutzt - verwende ich (noch?) nicht.

von Holger B. (Gast)


Lesenswert?

Hallo,

nur zur Info:
Die Rote LED wird in dem Programm von Ulrich nicht angesteuert.
Das ist eine Modifikation von mir.

By the Way:
Falls jemand mal eine (sinvolle) Anwendung fertig hat, soll er mir mal
Infos dazu schicken. Könnte man vielleicht auf der HP sammeln.

Gruss,
Holger

von kami (Gast)


Lesenswert?

Hi Holger

Wenn du einen guten Sourcecode hast wo die Modifikation an Ulrichs Code
alle drin sind dann stell den doch mal online das man mal sehen kann was
du so verändert hast.

Mfg

kami

von Sirko (Gast)


Lesenswert?

Hallo,

es ist schon recht spät, aber nachdem ich nun endlich den Webserver und
den Programmer fertig hab, wollt ich kurz was sagen:
Ich hab nen STK200-kompatiblen Programmer gebaut
(http://rumil.de/hardware/avrisp.html), aber PonyProg hat ihn zwar
erkannt, aber nicht beschrieben. Erst yaap hat ihn richtig erkannt
(auch den atmega32) und beschrieben. Leider stimmen hier nicht alle
bezeichnungen der Fusebits zu ponyprog (siehe holgers webseite unter
downloads->webserer) überein und ich hab hier im wiki die
fusebit-einstellungen für nen atmega 8 gefunden und daran die häkchen
für den mega32 abgeleitet.
Fazit: yaap scheint mit winxp am besten klar zu kommen!
Frage: Kann mir bitte jemand zu yaap für den mega32 die fusebits mal
nennen, die abgehakt sein sollen, damit ich das mal überprüfen kann?

Ansonsten: Tolle Sache von Holger und Ulrich!!! Bin begeistert!

Bye
sirko

von Markus Maussner (Gast)


Lesenswert?

Hallo

Funktioniert das ganze ohne anpassungen auch mit bnc ?
Ich habe hier ein bereits fertig verlegtes ead-netz (rg58) in meiner
Eohnung das ich ja prima dafür benutzen könnte.

von Maximilian Lange (Gast)


Lesenswert?

hallo,

kann mir jemand erklären, wie ich noch eine zweite LED mit dem
webserver ansteuern kann? vielleicht ein codebeispiel...
freue mich auf eine hilfreiche antwort

max

von mischu (Gast)


Lesenswert?

Hallo,
Hura mein WebServer funktioniert endlich !!... supper.

Die RS232 Komunikation zum PC läuft noch nicht .. kann es sein das
die 0,1 mF als Ladungspumpen für den MAX 232 zu klein sind ?
Gut.. Ich weis noch nicht an was das liegen könnte .. werde
weitersuchen.
Hat jemand von Euch dafür schon fertige Applicationen oder Beispiele ?
zB. Temperaturmessung, Steuern über´s Web etc.
Wie muß die HP auf der SD Karte aussehen ? Hat vielecht jemand ein
Beispiel füe mich ?... würde mir sicherlich weiterhelfen.

Gruß & Danke im Voraus.
Michael

von Maximilian (Gast)


Lesenswert?

das mit der LED hat sich bei mir schon erledigt...

von Sirko (Gast)


Lesenswert?

Hallo Holger,

eigentlich läuft alles hardwaretechnisch mit den vorkompilierten
HEX-Files, nur die SD-Card will nicht.
Also wenn ich das HEX-File mit SD-Card-Unterstützung (IP:192.168.1.66)
flashe und die SD-Card nicht eingesteckt ist, blinkt die rote LED 3
Mal, wobei an und aus jeweils ca. eine Sekunde dauert.
Wenn ich die SD-Card einstecke, blinkt die LED auch drei Mal, jedoch
wesentlich schneller (alles zusammen ne Sekunde).
Auf dem Terminal kommt immer die Meldung, dass die Karte nicht erkannt
wird.
Weißt Du, woher das mit den LEDs kommt? Ich kann ja leider nicht in
deinen Code gucken und würd es ganz gern zuerst mal mit den fertigen
HEX-Files hinbekommen, damit die Hardware 100%ig läuft.

Gruß
Sirko

von ejd (Gast)


Lesenswert?

@Sirko: Es wäre ja naheliegend zu denken, dass die SD-Karte nicht
mitspielt. Dann habe ich sowohl eine Extremememory als auch eine Lexar
ausprobiert, und das Ergebnis war dasselbe.

Bei mir wird die SD-Karte auch öfters nicht erkannt, aber wenn doch,
dann kommt beim Aufruf die eingebaute Seite, also nicht die von der
Karte.

Die .hex-Datei habe ich aus den Quellen von Ulrich Radig erstellt (BTW.
@Ulrich & @Holger: klasse Arbeit!), daher schätze ich, dass der Fehler
irgenwo dort zu finden ist, ich tippe mal auf mmc.c/mmc.h, vielleicht
auch (aber weniger wahrscheinlich) in fat.c/fat.h .

mfG,
ejd

von smiler (Gast)


Lesenswert?

Blöde Frage, aber wie hoch sollte eigentlich die Versorgungsspannung
sein?(Da ist ja noch 'ne NIC angeschlossen...)

mfg,
smiler

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

Nachdem meine Netzwerkkarte (SK-16G+) von der Orginalsoftware nicht
erkannt wurde (255), habe ich einige Änderungen vorgenommen, und nun
läuft's (eigentlich schon länger).
Wer auch Probleme hat kann ja die geänderten Sourcefiles einmal
ausprobieren.

Good luck

Werner

von Breti (Gast)


Lesenswert?

Hi,

hier noch ein Tip für alle, die noch eine Netzwerk Karte mit RTL8019AS
suchen:

Ich habe gerade in einem meiner alten Rechner eine ISA Karte mit so nem
Aufkleber auf dem Hauptchip gefunden. Drunter sitzt ebenfalls ein
RTL8019AS. Diesen Aufkleber sieht man häufig bei ebay. Es steht ganz
groß "YES" drauf und darunter irgendwas von "Netware".
Die Karte hat sogar Jumper :)
Ich kann Euch zwar nicht garantieren, dass unter jedem Aufkleber nen
8019 werkelt, aber vielleicht hilfts Euch ja, da ich ziemlich oft bei
den Realtek Karten überboten wurde.

Gruß,
        Thomas

von Markus Maussner (Gast)


Lesenswert?

Weis jemand ob die 3com Karten (etherlink) nun unterstützt werden?
Wenn ja da hätte ich noch ca 200 Stück hier rumliegen...

gruss

markus

von Uli (Gast)


Lesenswert?

Hallo,

3com karten werden nicht unterstützt!! Aber ich habe die Doku von 3Com
509 ISA Netzwerkkarten.

Mfg Ulrich

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

Anhand der Doku für die 3c509B von Ulrich:

Erst einmal ein kleiner DOS-Testcode für die 3c509B...
(Unter Domes... äää MSDOS kann man leichter Testen ;)

Mit heißer Nadel gestrickt  .. zu nix zu gebrauchen, tut aber als
Einstiegspunkt für den AVR.

Eines ist jetzt schon sicher, man braucht eine zusätzlich
Adressleitung!

Viel Spaß

Werner

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

Mist, das war die falsche ZIP, (hab mich schon gewundert warum das so
lange dauert) die Richtige jetzt!

von Werner B. (Gast)


Lesenswert?

Fehler in Kommentar zu set_rx_filter

Richtig
// 0x01 = Individual address
// 0x02 = Multicast address
// 0x04 = broadcast address
// 0x08 = promiscuous mode

von Sirko (Gast)


Lesenswert?

nochmal was zu den SD/MMC-Karten:

Ich hab jetzt eine SD-Card von Kingston und eine von Sanyo (war bei der
Digicam dabei) ausprobiert und diese gehen nicht. Es kam immer
Fehlercode 2 (weiß jetzt aber nicht mehr, was das genau war).
Eine kurz geborgte MMC-Karte wurde auf Anhieb erkannt.
Ich werd den Webserver jetzt erstmal ohne Karte betreiben. Es sei denn,
jemand kann ne kleine MMC-Karte preiswert abgeben!

Bye
Sirko

von Werner B. (Gast)


Angehängte Dateien:

Lesenswert?

So, es ist soweit,

Version 0.01 von 3c5x9.c zum Test!

Im ZIP-File sind die Quelldateien zu finden. Es sind nur neue Files und
die Dateien die sich gegenüber Ulrich Radig's
"SourceCodeCPP_V1.38MMC.zip"
verändert haben.
Die einzelnen Änderungen sind in der 3c5x9_Changes.log dokumentiert.
Die Änderungen die am AtMega32 Board von H.Buss vorzunehmen sind, sind
in 3c5x9.c beschrieben.

Viel Spass beim Testen

Werner

von Markus Maussner (Gast)


Lesenswert?

Hallo

danke! werde hoffentlich die nächsten Tage etwas Zeit freischaufeln
können um das zu Testen.

gruss

markus

von mischu (Gast)


Lesenswert?

Hallo,
Suche nach Applikationen für den WebServer.
Hat jemand schon zB. Temperatur , oder den WebServer als Fernschalter
über das Internet im Einsatz ?
Wie erstellt man eine eigene Hompage auf der SD Karte ?
Hat vieleicht freundlicherweise jemand ein Beispiel für mich ?

Erst mal Vielen Dank im Voraus !!
Gruß
Michael

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.