mikrocontroller.net

Forum: Projekte & Code Webserver ATmega32/644DIP ENC28J60


Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hier mal noch ein Webserver auf der Basis von dem ENC28J60 Chip und 
einem ATmega32 oder ATmega644 als Prozessor. Software zum Testen des 
Webservers ist auch schon dabei, sowie Bilder wie er fertig aussieht. 
Warum das ganze? Der Webserver hat eine einseitige Platine und kommt 
ohne SMD aus.

Gruss
Ulrich

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prima! Ich habe jetzt zwar schon einen funktionstüchtigen Webserver nach 
der ISA-CTRL-Platine und RTL8019AS als Ethernetcontroller, aber das hier 
ist mechanisch kleiner aufzubauen und auch von den Bauelementen her 
besser
zu löten.
Frage: Hast Du dort eine SD-Karten-Unterstützung mit drin?

MfG Paul

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Noch ist keine MMC/SD Unterstützung enthalten.

Gruß
Ulrich

Autor: Paul Baumann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Aha!
Danke für die Antwort.

MfG Paul

Autor: Avr Nix (avrnix) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist das noch geplant mit MMC unterstützung?

Autor: Marko Hörner (vitis01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
warum habt Ihr die Restringe bei den Terminals
so klein? etwas größere Restringe machen das Bohren
und anschließende Löten etwas einfacher find ich.

Autor: E. M a t t h i a s (hias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Gibt es irgendwie eine "einfache" Möglichkeit, wie bei USB-Hosts, einen 
virtuellen COM-Port zu erzeugen, der dann die serielle Schnittstelle 
deines Webservers ansteuert?
So was ähnliches wie die CDC oder HID-Treiber bei USB wäre super. Ich 
hab aber noch nichts dergleichen gefunden.

MfG
Matthias

Autor: Stefan (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke danke danke danke danke danke danke Ulrich!!!

Auf genau so einen Webserver habe ich von dir schon gewartet :-)
ENC, AVR, einseitige Platine, kein SMD, funktionierende Software zum 
dran weiterprogrammieren.

Einfach Perfekt!

Stefan

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das mit dem RS232 Port ist ein Ziel von mir dazu benutze ich einen 
fertigen Treiber von Lantronix.

http://www.lantronix.com/device-networking/utiliti...

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Kann das Beispiel schon irgendwie Ein/Ausgänge des 644 steuern?

Bin kein "C"-Mensch und habe im Quellcode auf den ersten Blick nix
gefunden, wie das funktionieren sollte.

Danke,
Micha

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Im Beispiel macht er bisher nur http. Wenn ich halbwegs damit weiter 
komme stelle ich es Online.

Gruß
Ulrich

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich nehme an, dass bewusst keine Quelldokumente für den Schaltplan und 
das Layout herausgegeben wurden. Ist beabsichtigt, dies noch zu tun?

Ich könnte mir vorstellen, dass auf der Basis deiner Arbeit noch sehr 
einfach Änderungen vollzogen werden könnten. Beispielsweise könnten die 
bereits angesprochenen Restringe größer gemacht werden (oder durch 
"lange" Kupferflächen ersetzt werden) oder gleich Bauelemente statt der 
Lochraster eingesetzt werden (z. B. Motortreiber, HC595 um die Anzahl 
der Ports zu erhöhen, Stecker für Sensoren oder sonst was, Relaistreiber 
für die (12V-)Lampensteuerung per WLAN :-).

Begeisterter Gruß von einem
Gast.

Autor: Löhlein_Erwin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sehr gute Arbeit respekt !

Ich werde ihn demnächst aufbauen.

Aber darf ich mal fragen, was ich überhaupt mit so einem Webserver 
machen kann? Ist nicht böse gemeint, würde nur gerne einen 
Verwendungszweck wissen.


Danke!

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Die Quelldateien gibt es auf meiner HP. Anwendungszweck: Der aktuelle 
Source Code schaltet über den Webserver den Port A. Dieses erfolgt sogar 
bei mir übers Internet. Also kann ich bei mir zu Hause das Licht an- und 
ausschalten :-)

Gruss
Ulrich

PS: Den aktuellen Source Code werde ich immer nur auf meiner HP 
vorstellen. Ich will diesen Server nicht unnötig mit Dateien belasten.

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
da hätte ich ja gleich mal auf die Idee kommen können, auf deiner Site 
zu schauen :-(

Schaut super aus.

Gast.

Autor: Maik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ansich nicht schlecht...Hab mir die Sourcedateien nicht angekuckt aber 
wo werden die Webseiten abgespeichert? Wird der ENC gepollt oder läuft 
das über Interrupt?

Gruß
Maik

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Ich würde die Schaltung gerne nachbauen.

Wo bekommt man denn die speziellen Teile wie den
Übertrager oder den ENC?

Danke und Gruss,
Micha

Autor: Thorsten Fritzke (thorsten)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ENC zumindest bei csd-electronics.de

Autor: TOM (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie sieht es mit dem Übertrager aus? Wo bekomme ich diesen Typ? Oder 
sind die auf den Netzwerkkarten alle ähnlich, do dass ich jeden 
verwenden kann (bis auf die Pinbelegung natürlich). Kann mir das jemand 
kurz erläutern?

Danke

Gruß

Thomas

Autor: Kai Riek (kairiek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Frage am Rande: Ich habe gerade den Quellcode überflogen und mir 
ist aufgefallen, dass die httpd nirgends aufgerufen wird. Hat das einen 
Grund oder hab ich beim überfliegen nur was übersehen?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Doch httpd wird aufgerufen nur etwas anders als sonst.

in Stack.c wird die Funktion in eine Tabelle eingetragen:

PORT_ITEM PORT_TABLE[] = // Port-Tabelle
{
  {80,httpd},      //erst der Port dann die aufzurufende Funktion
  {23,telnetd},
  {0,0}
};

So habe ich es auch mit den Kommandos gehalten.

Gruß
Ulrich

Autor: Kai Riek (kairiek)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja ok Danke, dann lag's echt nur am überfliegen. Zum Glück gibt es keine 
dummen Fragen ;-)

Autor: Elektrikser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>>Wie sieht es mit dem Übertrager aus? Wo bekomme ich diesen Typ?

Den kannst du auch von csd-electronics bekommen. Ich habe schon mehrere 
PC-Karten ausgeschlachtet und die Übertrager hatten eigentlich immer 
funktioniert.

Autor: MicroMann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Also kann ich bei mir zu Hause das Licht an- und
> ausschalten :-)

Link bitte veröffentlichen, das will ich auch mal ausprobieren ;-)))

an, aus, an, aus, an, aus, an, aus ... (Welcher Blödmann fummelt da 
ständig an meinem Licht herum ...)

Autor: Marvin M. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ein dickes "Danke" an Ulrich. Das baue ich demnächst nach, habe ich 
schon länger vorgehabt und muss nun nicht bei "null" anfangen. Super!

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Im CSD-Shop findet man den Übertrager, wenn man unter Suche
FB2022 eingibt.

http://www.csd-electronics.de/de/index.htm

Gruss,
Micha

Autor: Frank Bußmann (frank13)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So was hatte ich schon lange vor. Jetzt muß ich nicht ganz von null 
anfangen und kann gleich richtig einsteigen.

Danke dafür!!!

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

So, Teile sind bestellt :)

Allerdings habe ich den Ferrit nicht gefunden, ist der
unbedingt notwendig?

Ich werde den 644 erst mal auf dem STK500 aufbauen und eine
kleine Platine mit dem Netzwerkkram basteln.

Mal sehn, ob das klappt...

Gruss,
Micha

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier die Bestellnummern:

reichelt als Excel, CSD:
Anzahl Artikel E.- Preis G.- Preis
1 ATMEGA644-20PU Nummer: 30174  6.95 EUR 6.95 EUR
1 ENC28J60/SP Nummer: 30362  5.95 EUR 5.95 EUR
1 FB2022 Nummer: 17350  1.95 EUR 1.95 EUR


Gruss,
Micha

Autor: Richard Brose (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael vielen Dank für die Liste!

Autor: Festus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank für die Liste, aber irgendwie fehlt die RJ-45 Buchse (oder 
hab ich die übersehen ?)

Viele Grüße,

Festus

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Stimmt, die habe ich auch nicht gefunden.
Hat jemand einen Tipp?

Ausserdem seht ihr, dass ich von den Kleinteilen wie C und R
jeweils 10 bestellt habe...

Gruss,
Micha

Autor: Sirko (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Passt nicht diese von CSD?
"Modular Buchse 8 polig print"

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sieht gut aus, habe ich leider nicht gesehn...

Autor: Nik Bamert (nikbamert)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Allerdings habe ich den Ferrit nicht gefunden, ist der
>unbedingt notwendig?

Wird zwar vorgeschlagen, ich hab nun aber schon etwa 10 ENCs verlötet 
und einfach eine Drahtbrücke verwendet und es hat immer einwandfrei 
geklappt...ausprobieren :-)

Autor: Kornelius Doe (kornelius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Allerdings habe ich den Ferrit nicht gefunden, ist der
>unbedingt notwendig?

Der Ferrite Bead oder auch Ferritperle zwischen dem Übertrager und der
Versorgungsspannung dient zum Filtern von hochfrequenten Signalen auf 
der
Versorgungsspannung und sollte eine 60 Ohm Impedanz bei 100 MHz 
besitzen. Zu Testzwcken kann man diesen weglassen. Es ist allerdings 
sehr zu empfehlen diesen mit zu verlöten...gibts bei Segor. Da gibt es 
auch RJ45 Buchsen mit integrierten Übertrager von HALO electronics also 
nochmal platzsparend!

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Sirko wrote:
> Passt nicht diese von CSD?
> "Modular Buchse 8 polig print"

Alternativ gibts bei CSD auch den "Magjack" direkt mit Übertrager 
eingebaut.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

RJ45 Buchsen mit integrierten Übertrager wollte ich nicht benutzen. Auch 
wenn diese ein Platzvorteil haben. So kann fast jede alte Netzwerkkarte 
vom Schrott wieder verwertet werden. Auf diesen findet man fast immer 
einen passenden Übertrager, Netzwerkbuchse und LEDs. Und wenn nicht 
bekomme ich die Teile zumindest auch bei Reichelt.

Gruß
Ulrich

Autor: Rudi Rüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
An Stelle der Ferrite Bead kann man auch "Festinduktivität 1 µH 0,7 A" 
von CSD nehmen.
Ist ja in erster Linie dazu, um Störungen aus der Versorgung zu filtern 
und nicht noch verstärkt ans Netz abzugeben.
Sind auch gut zum filtern der Analog-Referenspannung am AtMega u.ä.

Autor: Rudi Rüssel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Hmm, Reichelt ist diesem Zusamenhang wohl (noch)nicht die Quelle erster 
Wahl.
Die muss man wohl noch überzeugen bezüglich des ENC28J60 und des 
Übertragers.
Haben sie beides nicht.

Und alte Hardware zu fleddern, geht so lange bis das die Sollbruchstelle 
wird.
Ich weiss das aus leidvoller Erfahrung, stundenlanges Messen hätte ich 
mir sparen können, wenn "weniger Geiz, noch geiler" gewesen wäre.
Ich denke schon, dass der MagJack zum genannten Preis(CSD) nicht 
schlechter als eine Einzellösung ist.

Ich hoffe, Du hast hier ne Lawine losgetreten und man kann bald div. 
Webserverlösungen und deren Software bewundern.

Autor: Rene Zimmermann (renezimmermann)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,

wieder mal ein super Projekt von Ulrich. Mir kam die Idee das FTP 
Protokoll zu Implementieren um dann Daten von einer SD-Karte über Nacht 
auf den FTP Server zu übertragen. Somit müsste nicht immer ein PC bei 
mir laufen.

Gruß Rene

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hi,

wie groß ist das Interesse am Thema "Internetradio"?

ich denke das wär wirklich mal ein nützliches projekt, für mich nur 
leider in sehr großer ferne :-).

https://helixcommunity.org/projects/datatype/


m.

Autor: Torsten E. (samson2)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo maddin,

ich hätte da mit Sicherheit auch Interesse dran. Wenn's da mal was 
gäbe....

samson2

Autor: maddin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hmm, tja so ist das...

verweisen wollte ich eigentlich hier her:

Beitrag "Internet-Stream Radio"

aber ich denke dann wird man wohl einfacher bedient sein, es zu kaufen.

klar - wie so oft, die herausforderung treibt einen ja dazu, dinge 
selber zu machen, anstatt sie zu kaufen, doch das ziel ist mir allein zu 
fern und zeitintensiv....

-schnittstelle
-protokolle
-datenstromdecodierung
-senderauswahl
-und was weiß ich noch alles....

m.

Autor: Voy Ager (voyager)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
maddin
@Torsten Enkelmann

"Internet-Stream Radio"

Hi

Falls das Interesse am Thema "Internetradio" immer noch vorhanden sein 
sollte, kann ich folgende Informationen über ein Projekt (A low cost 
portable wireless Internet radio receiver) zur Verfügung stellen. Dieses 
WLAN Radio arbeitet mit dem Shoutcast Stream Protokoll und besteht aus 
folgenden Komponenten:

AVR Microcontroller
Hardware MP3 Decoder
PCMCIA WLAN Card (Prism 2.5 chipset)
128 x 64 SED LCD-Display

Lithium Battary ----
PWM Drive for battery recharging
Battery Voltage & Current Sensor
Supply Voltage Regulator

C Code for the IAR AVR Compiler


Voy

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Klingt sehr interessant. Also mindestens ansehen würde ich mir es :-)

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>http://www.gurulib.com/_project/wmp3/index.htm

wow - und das alles mit nem kleinen Atmel :-)

Mir würde es schon mal reichen, wenn ich den kleinen Server von Ulrich 
noch um den Anschluß eines Displays erweitern kann. Vielleicht dann noch 
per Weboberfläche irgendwelche Texte eingeben...

Autor: Mike R. (thesealion)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da noch ein Display dran zu hängen ist nicht weiter schwer.
Ich hab eine ähnliche Platine (allerdings mit einem Mega128 und nahezu 
nur SMD) mit einem DOGLCD bei mir zu hause liegen.

Leider nicht die Software noch nicht so weit wie die von Ulrich und 
irgnedwie komme ich nicht mehr so richitg zum weiterentwickeln.

Autor: Voy Ager (voyager)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Könnte man nicht die Hardware und Source von Guido Socher (A LCD display 
with ethernet interface / Tuxgraphics.org) für obiges Board anpassen?

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uli, Respekt zu deinem Projekt!

Wie gross wäre deiner Meinung nach der Aufwand um deinen Server als 
"Ethernet-RS232 Gateway" laufen zu lassen?
Es braucht eine "Benutzer-Oberfläche" auf die man per Ethernet und 
Browser in einem Netzwerk auf deinen Server zugreifen kann und dann kann 
man Ports am uC schalten...

Leider habe ich im Moment noch wenig Ahnung von Ethernet, ich kann 
deinen aktuellen Stand noch nicht nachvollziehen.

Gruss, erik

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

also das mit dem Display sehe ich rein Hardwaretechnisch nicht als 
großes Problem. Stand alone habe ich so ein KS1080(?) Display mit 128x64 
Pixeln schon mit der Bib von Ape (glaube ich) zum laufen bekommen. Ich 
sehe eher das Problem die Bib mit der Software von Ulrich zu 
verstricken, und dann vielleicht noch auf http-Anfragen eine Textmeldung 
zu erzeugen.

Leider habe ich privat kaum Zeit für sowas, und auf Arbeit kann ich das 
meinem Chef auch nur schwierig als dienstlich sinnvoll verkaufen.

Gast.

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mensch Ulli, ich bin ja mal froh, dass ich sehe, dass auch andere 
Menschen "Zeiger auf Funktionen" auf diese Art und Weise verwenden ;-)

Bestens,

Thomas

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tolle Sache, wenn das Layout jetzt noch als Postscript zur Verfuegung 
stuende  koennte man sich das sogar mal nachbauen ;)

Michael

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @Michael G.

Wie ich in einem anderen Thread lesen konnte ist dir das Bild zu 
pixelig, 600dpi reichen bei mir. Aber wer will kann sich ja selber ein 
File aus den Eagledateien erstellen. Aber nur für den privaten gebrauch! 
Zum vekaufen von Platinen aus meinem Layout das ist nicht so gedacht.

Gruß
Ulrich

Autor: Michael G. (linuxgeek) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich,

und wo finde ich diese files? In dem angehaengten Archiv ist ja nichts 
bei und auf Deiner Homepage habe ich grad auch nichts gefunden. Mir 
wuerde im Prinzip ein Postscript schon ausreichen wenn Du das Layout 
nicht rausgeben willst.

Gruss,
Michael

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uli

Magst du zu meiner Frage etwas oberhalb Stellung nehmen? Ich würde mich 
jedenfalls freuen :)

Gruss, erik

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @Erik,

Der Webserver hat schon eine Webschittstelle zum schalten von Ports. Das 
mit der RS232 Schnittstelle und einem Display ist schon in arbeit.

@Michael G. das Layout ist auf meiner HP, dieses haben schon viele Leute 
gefunden. Ich werde hier nicht jedes Layout Format veröffentlichen wie 
es jeder will.

Gruss
Ulrich

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Uli!

Das tönt alles ausgezeichnet... Schreibst du es irgendwo hin, wenn es 
implementiert ist? Dann werde ich Anfangen, mich mit deinem Code 
internsiv zu beschäftigen, resp. versuchen es zu nachvollziehen.

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Servus Ulli,

was ich nicht ganz nachvollziehen kann, ist die HTTPD.

Mir ist klar, wie Du die entsprechende Funktion im HTTPD Thread auslöst; 
jedoch ist mir nicht klar wieso Du das so machst.
Wie kann ich nur meine Fraqe in Worte fassen?

Warum springst Du bei "app_status == 1" ausgerechnet in die Funktion, 
warum "app_status == 2" ausgerechnet in eine andere? Prinzipiell kann 
man doch stets Daten senden, z.B. den html-File-Inhalt sobald ein PSH 
und ACK Flag vom Clienten kommt, oder nicht?

Vielleicht kannst Du das noch ein wenig verdeutlichen.

Danke

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

Nach einer eingabe im Browser wird zuerst der Port in Server geöffnet.

Client: SYN
Server: SYN,ACK
Client: ACK

Hierbei wird die App. nicht gestartet. Erst jetzt erfolgt vom Client 
Browser ein GET HTTP also PSH Flag gesetzt app_counter = 1.

Das Packet wird nun Stückchenweise zum Client gesendet. Bei jedem 
Stückchen empfange ich ein ACK. app_counter++ damit ich weiss welches 
Stückchen ich gesendet habe und als nächstes drann kommt. Wenn ich kein 
Ack vom Client empfange erfolgt irgendwann ein Timeout und Packet wird 
nochmal gesendet.
Ist das Packet komplett gesendet wird der Port geschlossen.

Gruß
Ulrich

Autor: JUERGEN_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich,

wiedermal ein sehr schönes projekt.

nun habe ich leider schon 2 deiner vorherigen webserver...;-)

aber nicht das die platine ein problem darstellen würde.
aber da ginge mir eher eine doppelseitige platine durch den kopf.
die mann sich auch über
http://www.haka-lp.de/html/zwillingsangebot.html
fertigen lassen könnte.
und da währe ökonomisch die grösse von 100mm x max 79mm
das würde dann dort 4-stück ergeben.

schick  ;-)  und würde dann in 1/2 eurogehäuse-1 reinpasen.

ich gehe nicht davon aus,
das du selber platinen in umlauf bringen willst ?

;-) ich allerdings auch nicht!
(höchstens die eagle.brd, falls ich die habe)

Jürgen

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke; das  hab ich dann soweit.

Also wäre es auch möglich, das Paket in eine Variable zu packen und in 
der create_tcp_paket Funktion aufzuteilen und somit ACK-Abhängig die 
Teil-Pakete auf den Weg zu schicken.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

in der Create_tcp_packet Funktion wird nichts aufgeteilt das geschieht 
vorher !

Gruß
Ulrich

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

schon klar; war nur so ein Gedanke von mir.

Hast Du eigentlich noch Literaturverweise? Ich arbeite an meinem Stack 
meistens nur mit Wikipedia und Wireshark; aber so ein paar 
"Protokoll-Ablauf für Dummies" Referenzen täten manchmal schon gut.

Thomas

Autor: Erik (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, zu ein paar nützlichen Links würde ich als Ethernet-Dummy auch nicht 
nein sagen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo alle zusammen,

ich habe die cmd.c /cmd.h mal erweitert damit man sich über 3 neue 
Befehle jederzeit die eigene IP, MAC und ENC Version ausgeben lassen 
kann.

Befehle:
IP = zeigt eigene IP-Adresse
MAC = zeigt eigene MAC-Adresse
VER = zeigt Version des ENC28J60 an

@Ulrich
Wäre es möglich die beiden cmd.c / cmd.h in deine Version zu übernehmen?

Ich  hatte dir auch vor ein paar Tagen eine Mail geschrieben weil ich 
gerne deinen Haftungsauschluss-Text nutzen würde, habe aber leider nie 
eine Antwort erhalten :(

Wäre es nicht besser in der main.c die Anzeige der eigenen IP-Adresse
so zu realisieren damit die IP auch optisch korrekt angezeigt wird?

usart_write("My IP: 
%1i.%1i.%1i.%1i\r\n\r\n",myip[0],myip[1],myip[2],myip[3]);

Übrigens lerne ich an deinem Code eine Menge hatte nur Bascom benutzt 
bisher aber jetzt arbeite ich mich in C ein und da hilft dein Code 
ungemein!

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Deine drei Befehle habe ich mit aufgenommen. Das die IP angezeigt wird 
habe ich schon lange realisiert. Ich würde mal dem aktuellen Source Code 
herunterladen!

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Als Grundlage  hatte ich die cmd.c aus der 0.93 genutzt, die sollte 
aktuell gewesen sein. Die Anzeige der IP-Adresse war nur beim Start 
drin, oder?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Mit der neuen Version 0.95 von mir kann auch ohne Probleme über das 
Kommandointerface die IP geändert werden.

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Super Sache, besteht die Möglichkeit das die IP im internen EEPROM 
gespeichert werden kann und somit nach einem Stromausfall bedingten 
Neustart automatisch wieder die zuletzt eingestellte ist?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo @Thomas Heldt,

jetzt wird die IP auch im EEPROM gespeichert!

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Langsam!!! :)

Ich komme nicht mehr mit...
3-4 Versionen pro Tag - Respekt :)

Weiter so,
Michael

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich
Super !!!

Ich lerne echt viel dadurch das ich das alles parallel auch probiere.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Ich arbeite hier auf meinem Board mit dem Takt des ENC28J60 und habe in 
der aktuellen Version die Taktfrequenz in der config.h angepasst aber 
dann stimmt die Ausgabe auf der seriellen Schnittstelle nicht.

Erst wenn ich auch in der usart.h den Takt ändere klappt es, aber sollte
nicht die erste Definition in der config.h ausreichen?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

include mal config.h in usart.h

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Danke, klappt ;)

Wirst du doch sicher in der nächsten Version auch so machen und das
define in der usart.h sparen, oder?

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mal eine Frage: wenn ich den ENC28J60, der Laut Datenblatt nur einen 
"10BASE-T port" besitzt, ohne Switch an ein 100BASE-T-Netzwerk 
anschließe, wird das ganze Netzwerk bis zum nächsten Switch auf 10MBit 
ausgebremst, ja?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

so ist es, aber wer benutzt noch einen Hub??

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Habe mal eine Verständnisfrage, es ist ja nirgendwo ein Gateway 
eintragbar, ist es korrekt da ja nur Anfragen von extern an den Server 
kommen und er deshalb keinen Gateway im Netz braucht um die Anfragen zu 
beantworten?

Ich möchte vom Internet aus über eine Portweiterleitung auf einer 
Fritz!Box auf den Server zugreifen, das sollte doch gehen, oder?

Autor: jemand (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich möchte vom Internet aus über eine Portweiterleitung auf einer
>Fritz!Box auf den Server zugreifen, das sollte doch gehen, oder?

Ob eine Portweiterleitung ausreichend ist, ist fraglich.
Ich hatte mal einen Server auf einem PC aufgesetzt, dabei musste der 
Router(war keine Fritzbox gewesen) so eingestellt werden, dass er dem 
Serverpc die externe IP zuweist, da die Anfragen ja auch an diese 
gestellt werden. Es gab zwar die Möglichkeit unter den 
Portweiterleitungen eine für Http-Server (Port 80) einzurichten, dies 
hat jedoch nicht funktioniert. Kann natürlich auch ein Problem dieses 
speziellen Routers gewesen sein.

>ist es korrekt da ja nur Anfragen von extern an den Server
>kommen und er deshalb keinen Gateway im Netz braucht um die Anfragen zu
>beantworten?

Was du hier beschreibst ist die NAT:
http://de.wikipedia.org/wiki/Network_Address_Translation

Wenn die Portweiterleitung so funktionier, leitet der Router die 
externen Anfragen auf Port 80 an den Webserver weiter, der bekommt die 
so, als wären die vom Router gestellt, gibt seine Antwort dann an den 
Router, der trägt die  IP des Anfragestellers ein und schickt das 
Päckchen auf seine Reise.

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas Heldt:
Ja mit der Fritz!Box ist das möglich - die NAT ist praktisch integriert. 
Einfach bei Internet->Portfreigaben eine neue Portfreigabe erstellen. 
Dort muss bei "von Port" 80, an Port die IP des Servers im LAN und "an 
Port" wieder eine 80 stehen. Die Pakete werden dann automatisch 
umgeleitet.

Einen AVR-Webserver hab ich so zwar noch nicht betrieben, aber mit dem 
PC als Webserver hat es einwandfrei geklappt. Und der AVR-Webserver ist 
bereits in Arbeit :-).

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jemand und Randy N.

Das die Portweiterleitung funktioniert ist mir klar, sorry da ist meine 
Frage wohl falsch verstanden worden, es geht mir darum zu verstehen wie 
der AVR-Webserver die Seite ohne einen Gateway zu kennen an den 
anfragenden Client ausliefern kann.

Ich betreibe mehrere Server (Dienste) hinter der Fritz!Box und das NAT 
funktioniert super, aber alle Server haben halt auch die Fritz!Box als 
Gateway eingetragen, das ist in der Software für den AVR-Webserver aber 
nicht vorhanden, daher meine Frage.

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ups hab garnicht die Frage, sondern nur die Antwort meines Vorgängers 
gelesen, um dann zu sagen, es geht doch :-)

Also ohne es jetzt genau zu wissen, würde ich sagen, dass dem Webserver 
der Gateway, um Anfragen von Clients aus dem Internet beantworten zu 
können, nicht bekannt sein muss. Wenn der Webserver allerdings selbst 
von anderen Servern im Internet Daten abrufen muss, muss er dies über 
den Gateway erledigen - und DANN braucht der dessen IP. Aber da das ja 
bis jetzt noch nicht in der Firmware implementiert ist, muss diese auch 
den Gateway nicht kennen - somit kann man den auch nirgends angeben.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Randy N.

Danke, genau so habe ich es mir auch gedacht ;)

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

und genau so ist es.

Gruß
Ulrich

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

So der aktuelle SourceCode baut via Telnet eine Verbindung zur RS232 
Schnittstelle des AVRs auf. Eingehende Zeichen werden zur Tellnetapp. 
geschickt und umgekehrt. Somit kann ein virtueller Comport angelegt 
werden. Dazu benutze ich com0com und com2tcp.

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Super wäre jetzt noch die Möglichkeit, die aktuelle html-Seite
bei Abruf mit aktuellen Infos, wie zB dem Zustand von Input-Ports,
zu versehen.

Aber das hast Du wahrscheinlich in Version 0.992 eh schon drin ;)

gruss,
Michael

PS: Bin leider noch nicht zum testen gekommen, Controller
ist noch nicht da :(

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Wo werden den Diensten die Ports zugeordnet?
Finde das irgendwie nicht :(

Gruß
Thomas Heldt

Autor: Sven (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
add_tcp_app(PORT, ....);

Bitte mal genau lesen ! Sind auch Kommentare im Code !


Gruß Sven

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Sven

Ja aber genau das verstehe ich nicht wie HTTP an Port 80 gebunden wird, 
ich sehe keine 80 oder so:
//Trägt Anwendung in Anwendungsliste ein
void add_tcp_app (unsigned int port, void(*fp1)(unsigned char))
{
  unsigned char port_index = 0;
  //Freien Eintrag in der Anwendungliste suchen
  while (PORT_TABLE[port_index].port && PORT_TABLE[port_index].port!=0)
  { 
    port_index++;
  }
  if (port_index >= MAX_APP_ENTRY)
  {
    DEBUG("Zuviele Anwendungen wurden gestartet\r\n");
    return;
  }
  DEBUG("Anwendung wird in Liste eingetragen: Eintrag %i\r\n",port_index);
  PORT_TABLE[port_index].port = port;
  PORT_TABLE[port_index].fp = *fp1;
  return;
}

Auch sehe ich nur die leere Tabelle:
PORT_ITEM PORT_TABLE[MAX_APP_ENTRY] = // Port-Tabelle
{
  {0,0},
  {0,0},
  {0,0},
  {0,0},
  {0,0} 
};

Ich würde es gerne verstehen denn ich steige von Bascom aus um und
deshalb frage ich wenn ich etwas nicht verstehe/finde.

Autor: Andreas Watterott (andreasw) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
httpd.c:
void httpd_init (void)
{
...
  //Serverport und Anwendung eintragen
  add_tcp_app (80, (void(*)(unsigned char))httpd);
...
}

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andreas Watterott

Vielen Dank ;)

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Die While-Schleife sollte so aussehen der Rest ist unsinn!!!!


//Trägt Anwendung in Anwendungsliste ein
void add_tcp_app (unsigned int port, void(*fp1)(unsigned char))
{
  unsigned char port_index = 0;
  //Freien Eintrag in der Anwendungliste suchen
  while (PORT_TABLE[port_index].port)
  { 
    port_index++;
  }


Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich,

habe das Wochenende genutzt und den Webserver mit Hilfe deiner 
Eagle-Dateien nachgebaut. Funktioniert prima!

Allerdings bin ich mir nicht sicher, ob du nicht den falschen 
Spannungsregler kühlst, wenn ich mir deine Bilder ansehe ;-). Der 
ENC28j60 ist ja ein kleiner Stromfresser (Imax = 250mA lt. Datenblatt) 
und damit wird der LM317 ganz schön heiß. Bei mir nimmt die komplette 
Schaltung max. 220mA bei 8VDC auf.

Vielen Dank für die Bereitstellung der Sourcen, Layouts und Pläne. Habe 
auch bei deinem Programm dazu gelernt.
Grüße Gerd G.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Gerd G.

Es stimmt der ENC28J60 nimmt recht viel Strom auf. Ich habe deshalb auch 
selbst den LM317 gekühlt, und nicht den LM78S05.

Gruß
Ulrich

Autor: Sucher (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

@Ulli kannst du sagen, wieviel "Reserve"der "Stack" übrig läßt, um zum 
beispiel so 1-Wire Sensoren  (DS18S20)anzuschließen? Oder via die 1-Wire 
Master DS2482-100 bzw. DS2482-800 mit I2C....ist das möglich? Kann man 
von dir so Platinen bekommen oder gibtst du sie in einen 
(Fertiguns)-Pool...dann müßten natürlich für dich kostenlose Platinen 
rausspringen.. bei so einer SUPER Arbeit.

Danke
Achim

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Ich habe jetzt die Möglichkeit integriert einen SHT11 Sensor abzufragen, 
wie kann ich die Werte Temperatur und Luftfeuchte jetzt aus der Webseite 
anzeigen lassen?

Die cmd.c habe ich schon erweitert so das ich die Werte über die 
serielle angezeigt bekomme.

Ich möchte aber die beiden Werte halt auf der Webseite sehen, die 
Möglichkeit die Ports zu schalten ist für meine Anwendung nicht so 
interessant ;)

Bin für jedem Tipp dankbar.

Gruß
Thomas

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Der Prozessor hat noch genügend Reserven für sowas!! I2C uvm. will ich 
auch noch anbinden. Über eine Sammelbestellung bzw. der Verkauf der 
Platine bin ich noch am überlegen.

Der aktuelle SourceCode 1.0.2 funktioniert nun auch mit dem RTL8019 AVR 
Webserver von Holger Buss.

Das Anzeigen von Werten über das Webinterface ist schon in arbeit! Bis 
zum WE ist es dann fertig.

Gruss
Ulrich

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich,

>Es stimmt der ENC28J60 nimmt recht viel Strom auf. Ich habe deshalb auch
>selbst den LM317 gekühlt, und nicht den LM78S05.

Mache ich auch. Aber auf dem Foto ist es anders herum. Da war der 
Kühlkörper am 7805, oder sehe ich das falsch?

Ansonsten ist der Aufbau sehr einfach. Ich habe mir allerdings die Pads 
und teilweise die Leiterbahnen vergrößert, damit ich es einfacher habe.

>Der aktuelle SourceCode 1.0.2 funktioniert nun auch mit dem RTL8019 AVR
>Webserver von Holger Buss.

Mal sehen, ob ich das am Wochenende mit dem M128-Server zum Laufen 
bringe.Ich habe da noch einen, der nicht im Dauereinsatz ist...

Momentan bastle ich an der Anzeige der geschalteten Ausgänge. Aber ich 
bin mit meiner Version schon wieder veraltet. Mann, bist du schnell!

Gruß Gerd

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Ich habe den Webserver fliegend aufgebaut und nachdem mein
Router richtig konfiguriert war, klappte alles auf Anhieb!

Super, jetzt kann ich mich ans probieren machen...

Gruss,
Micha

Autor: Michael (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Leds springen hin und her :)

Autor: Omega G. (omega) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich glaube fast jeder der darauf zugreift schaltet mal ein bisschen. 
(Ich auch)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So solls sein :)

Funktioniert super!

Bin gespannt, was von Uli noch an Funktionen kommt!

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So, nehme ihn jetzt vom Netz. Morgen wird ein zweites Netzwerkkabel
gelegt und dann kann man wieder testen.

N8,
Micha

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Er läuft ;)

Nach vielen Stunden in denen ich nach Verbindungsunterbrechungen gesucht 
habe ist es geschafft, mein Board läuft mit Ulrichs Software einwandfrei 
;)

Ihr könnt hier allerdings nur eine LED schalten, URL

http://heldt-intern.dyndns.org:81

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt habe ich die tuxgraphics.org Software drauf und man sieht die 
Daten des SHT11 Sensors ;)

Autor: Lars K. (larsk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hatte das Projekt von Nik Bamert ja schonma aufgebaut, so brauchte 
ich nur die Software auszutauschen. So schnell wurde aus Device mit UDP 
Support ein Webserver :-)
Ich hab ein Kleinigkeit festgestellt, kommt jemand auf den Webserver 
wenn die Subnetzmaske nicht 255.255.255.0 sondern 255.255.0.0 ist ?
Ansonsten sehr nette implementation.

Gruß

Lars

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So jetzt habe ich mal die Temperaturanzeige und eine Möglichkeit hier 
die
LED ein/auszuschalten auf einer Seite.

Neue URL: http://heldt-intern.dyndns.org:81/secret

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lars Kessner wrote:
> Ich hab ein Kleinigkeit festgestellt, kommt jemand auf den Webserver
> wenn die Subnetzmaske nicht 255.255.255.0 sondern 255.255.0.0 ist ?
> Ansonsten sehr nette implementation.

Das hängt von der IP/Subnetzkombination deines PCs ab. Ich empfehle eine 
Netzwerklektüre.

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas Heldt:
Blink :-)

Ich bin erstaunt, dass die Seite so schnell geladen wird. Wie schnell 
ist deine Internetverbindung? Kannst du vielleicht mal ein Bild 
draufmachen? Das würde mich mal interessieren.

Hach ich freu mich schon auf meinen ENC28J60, der hoffentlich bald 
kommt...

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Randy N.

Ich habe hier leider nur DSL2000, ich habe gerade die tuxgraphis.org 
Software drauf um den SHT11 zu nutzen, ich muss mal schauen wie ich da 
ein Bild einbinden kann, ich lerne gerade erst C und brauche deshalb 
noch etwas um da durch zu steigen teilweise ;)

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, ich finde auch, dass es eine sehr schnelle Reaktion ist. Hast du 
spezielle Optimierungen auf Geschwindigkeit vorgenommen? Mega läuft mit 
16MHz??

Wie viele Prozente nimmt eigentlich der Text für die Website für sich in 
Anspruch?

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gast

Ich betreibe alles mit dem Takt vom ENC28J60, bei mir 12,5MHz, also wäre 
da sogar noch etwas Luft nach oben. Ich arbeite hier bei mir aber mit 
sehr guten Switches, aber dafür hängt der "Kleine" jetzt hinter ca. 50m 
Kabel und  2 Switches.

Die Seite hat nur wenig Text, allerdings werden ja die Daten des SHT11 
noch on time eingefügt.

@Alle

Wer hat schon einmal ein Bild in die Software von tuxgraphics.org 
eingefügt, ich finde da keinen Anfang :(

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Folgt denn eigentlich noch eine SD Karten Anbindung im FAT16 Format??? 
Das wäre dann mal ein interessanter Fortschritt...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Ich denke dass 1wire, SD-Card etc. noch kommen wird.
Bedenkt bitte, dass Uli das in seiner Freizeit macht und
wir alle wissen, dass man eigentlich immer zuwenig Freizeit hat :D

Danke an Uli und weiter so!

Gruss,
Micha

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Jaja so ist es ich mache was ich kann!! Mit der Version 1.0.3 können nun 
Variablen und Balken eingebunden werden.

Wer den Code durchblickt zum einfügen von Variablen kann ja mal eine 
kurze Doku schreiben. Ich arbeite noch am Webserver!!

Gruß
Ulrich

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hier mal Ulrichs Webserver 1.0.3 mit FAT12/16/32 und MMC/SD.
Statt raket.gif wird image1.jpg von MMC/SD geladen wenn
eine Karte erkannt wird. Ist noch starr reinprogrammiert.

Achtung: Ich hab da massiv an httpd.c, stack.c, main.c
und enc28j60.c/.h rumgebastelt ! Also bitte nicht Ulrich fragen
wenn was schief geht ;)

Was ist bei mir anders ?
Mein Board benutzt INT0 statt INT2. Und der Reset Pin vom
ENC28J60 wird auch vom uC gesteuert. CS der MMC/SD wird
vom SS Pin angesteuert.

Das mit dem Resetpin in enc28j60.c klappt leider
nicht immer (nach ISP prommen). Da ist noch was faul.
RESET im Terminal eingeben reicht dann oft. Sonst
ausschalten und wieder einschalten.

Ob das alles so richtig ist ? Bis jetzt geht es.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So mit der aktuellen Version von Ulrich habe ich mal etwas gespielt und 
eigene Variablen eingebunden ;)

URL: http://heldt-intern.dyndns.org:81

@Ulrich

Wie kann ich die Daten für ein Bild selber erzeugen?

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

schau dir mal WinBin vom Ulrich an. Findest du unter Projekte. Sollte 
das sein, was du suchst.

Gruß Gerd

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

In der Version 1.0.4 kann über den Befehl SV auf die Variablen 
zugegriffen werden.

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gerd G.

Danke, genau das habe ich gesucht, klappt super ;)

@Ulrich

Interessant wäre jetzt die Uhrzeit von einem NTP-Server zu holen und auf 
der Webseite an zu zeigen. Am besten über den Timer der den Uhrenquarz 
nutzt.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Bei NTP bin ich auch am überlegen! Ob nun Client oder Server mit DCF77.
Was sagt ihr?

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Also Client fände ich besser so braucht man keine weitere Hardware ;)

Für das lokale Netzwerk könnte dann ja der AVR Server als NTP-Server 
arbeiten.

Autor: Dirk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hey Holger!

Was erreichst du insgesamt für eine Übertragungsgeschwindigkeit mit 
deiner SD Kartenanbindung?

Gruß
Dirk

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Zum Thema AVR Webserver und Geschwindigkeit habe ich eine gute 
Studienarbeit gefunden (Seite 63 - 64).

http://www.uni-koblenz.de/~physik/informatik/studi...

Gruß
Ulrich

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Was erreichst du insgesamt für eine Übertragungsgeschwindigkeit mit
>deiner SD Kartenanbindung?

Das hängt extrem von der Karte ab.
Inklusive FAT Dateisystem geht das bei mir
so von 27kB/s bis 400kB/s bei 8MHz SPI Speed.
Mittelwerte versteht sich. Ohne die Daten wirklich zu
verarbeiten. Also RAW Read/Write ohne Webserver.

Der Webserver bremst das natürlich gewaltig aus.
Ein 67kB JPG Bild braucht so ca. 18 Sekunden.
Unter Windows 98/XP. Linux ist doppelt so schnell ;)

Autor: Jonas G. (jonny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist der Grund warum ich mir eine Dataflash von Atmel auf mein 
Webserver-Board gemacht habe.
Da merkt mein den Unterschied. Ein Bild ist schnell geladen. Eigentlich 
merkt man keinen unterschied zum "richtigen" Server.

Die sind auch nicht teuer und für eine Webseite werden meistens nicht >2 
MB benötigt.

Ich habe jetzt einen 4 Mbit Flash und komme damit mehr als aus.

Autor: Tom G. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Ulrich!

Ich hab gesehen das du über Telnet einen virtuellen Comport eingebunden 
hast.
Warum muss PC-seitig ein virtueller Com-Port erzeugt werden und dieser 
mit dem TCP-verlinkten verknüpft werden? Ist das nicht irgendwie doppelt 
gemoppelt, oder wie hab ich das zu verstehen?
MfG
Tom

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Natürlich ist das doppelt gemoppelt, kannst ja einen besseren Treiber 
schreiben ich nehme diesen gerne. Problem ist halt einen Treiber zu 
finden der unter der GPL steht.

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Wie kann man es machen das man die Webseite des Server über eine längere 
URL, z.B. http://10.0.0.10/password/ statt http://10.0.0.10/ erreichen 
kann?

Irgendwie sollte man einen kleinen Schutz einbauen können damit später 
nicht jeder Ports umschalten kann ;)

Es wäre auch gut den Zustand der Ports im EEPROM zu speichern, nach 
einem Reset wäre dann der Zustand wieder herstellbar der vor dem Reset 
da war.

Autor: Jonas G. (jonny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
http-auth implementieren

wie beim avr-eth1 projekt?!?

Autor: Thomas P. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Mr pcexperte!

Bitte nicht nur auf den Wissen anderer aufbauen. Es ist super, dass Du 
hier was dazu lernen willst; aber die Art und Weise ist etwas daneben! 
Bitte, zerfetzt mich jetzt für diesen Beitrag! Ich warte.

Autor: Randy N. (huskynet)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas P.
Soll heißen, im Internet gibt es sooo viele Quellen, wie man eine 
Webseite schützen kann - erstmal dort suchen und selber versuchen, es 
hinzubekommen. Beispielsweise hier: 
http://de.wikipedia.org/wiki/Hypertext_Transfer_Pr...

Aber jaja ich kenn das - irgendwie ist es einfacher was ins Forum zu 
schreiben, als selbst nachzudenken. Hab ich auch schon paarmal gemacht 
und...danke dass ihr mir trotzdem geholfen habt :-D :-D :-D

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas P.

Jeder lernt durch das Wissen anderer, das fängt schon in der Schule an! 
;)

Es geht hier nicht darum Insellösungen zu basteln, sondern nachher eine 
Lösung aus einem "Guss" zu haben. Ich schick viele meiner Ideen auch an 
Ulrich etc. und ich lerne durch lesen, beobachten und probieren!

Autor: Gera (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!
Ich sag gleich das ich von Programmierung kein großen Plan habe, aber 
mich interessiert eine Sache. Und zwar nachbau einer IP 
Camera/Videoserver...
Es soll so aussehen:
(CCD Modul 420Linien = Analog)>(A/D 
Wandler=?)>(Mikrocontroller=?)>(Ethernet Interface=ENC28J60)
Dieses teil sollte über eine IP ansprechbar sein?!
Ähnlich wie das hier:
http://avr.auctionant.de/avr-ip-webcam/avr-webserv...

Autor: Gera (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oder auch statt CCD Modul ein 2-5Mpix CMOS Kamera module???!!!

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Http_auth werde ich heute noch einbinden.

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Moin!

Zum spielen:
http://mikrocontroller.homedns.org

(Version 1.04 mit kleinen Änderungen, zB Zustandsanzeige der
3 Lampen und Befehl ? zur Ausgabe der eingebauten Befehle)

Gruss,
Micha

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael

Ich probiere gerade mir auch die vorhandenen Befehle auflisten zu 
lassen, aber ich bekomme nur leere Zeilen :(

Was mache ich falsch?

Hier der Code:
  
unsigned char cmd_index = 0; // Befehlsindex

while (CMD_TABLE[cmd_index].cmd)
{
  usart_write("%s\r\n", CMD_TABLE[cmd_index].cmd);
  cmd_index++;
}

Gruß
Thomas

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
ich habe es so gemacht:
void command_help (void)
{
  unsigned char index = 0;
  for (index = 0;index<8;index++)
  {
    usart_write_str(CMD_TABLE[index].cmd);
    usart_write(" - ");    
    usart_write_str(CMD_TABLE[index].help);
    usart_write("\r\n");
  }
}

Ich habe die Kommando-Tabelle auch noch mit einem Hilfetext versehen.

Mein 4-zeiliges LCD lässt sich fernsteuern :)
http://mikrocontroller.homedns.org

inkl. Webcam zur Kontrolle (allerdings nicht über den Controller)

Gruss,
Micha

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas
>Was mache ich falsch?

usart_write() ist eigentlich ein usart_write_P().
Das heisst es schreibt nur Strings aus dem Flash.
Für Strings aus dem RAM musst du wie Michael
usart_write_str() nehmen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke,

da suche ich schon seit Stunden im Tutorial etc. und finde nichts was 
hilft und jetzt klappt es ;)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich such mir auch die Finger wund, steige gerade
erst ein in C. Sonst nur ASM :)

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich hab den Webserver mal aufm Steckbrett getestet.
Sieht echt gut aus.
Was mir aufgefallen ist: Die drei Ausgangsports toggeln wenn man im 
Browser auf aktualisieren drückt.
Es scheint als würde das passieren, wenn man mal einen Haken gesetzt 
hatte.
Kann man das irgentwie machen, dass die Haken gesetzt bleiben, wenn der 
Port an ist?
Oder ist da noch ein Bug?

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Die Led´s toggeln, da der letzt Schaltbefehl in der URL
noch enthalten ist. Bei aktualisieren wird er erneut verarbeitet.

Gruss,
Micha

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mir fällt gerade auf, dass bei den Servern die online sind, dass 
Impressum fehlt :-) Zum Glück sollten sich hierher nur 
Techniker/Ings/u.ä. verirren. Anwälte verstehen hier wahrscheinlich 
(hoffentlich) nur Bahnhof.

Aber ansonsten ist das eine super Ding. Einfach, preiswert und viel zu 
sehen.

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>inkl. Webcam zur Kontrolle (allerdings nicht über den Controller)
>
>Gruss,
>Micha

Hallo,

hatte ich zuerst überlesen und mich dann gewundert, dass die Bilder so 
schnell laden. Aber eine schöne Idee mit der Cam und dem LCD. Ich suche 
gerade einen Schaltregler für die 3,3V in SMD um den LM317 zu ersetzen. 
Ich habe noch ein paar ENCs in SMD und überlege eine SMD-Version zu 
machen. Viel kleiner soll es eigentlich nicht werden. Mal sehen.

Zur Zeit streite ich immer noch mit den DS18S20. Sie bremsen einfach 
meine Anwendung aus. Oder ich lass es einen Tiny machen und verwende den 
als Slave.

Gruß Gerd

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gast

Du solltest dich mal informieren, vielleicht bei einem Fachanwalt, wann 
eine Impressumspflicht besteht!

Man stelle sich vor jedes Gerät welches man über das Web administrieren 
kann bräuchte ein Impressum (Router, Sensoren etc. ) ;)

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Gerd G.

Nimm doch einen SHT11 von Sensirion (evtl. als Sample) und du hast auch 
die Luftfeuchtigkeit, Code dafür habe ich schon eingebunden und läuft 
stabil.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hier die Webseite mit HTTP AUTH ich bin aber noch an dem Klartextstring 
dran, ich hoffe aber das ich heute noch fertig werde. Könnt ja mal 
testen.

USER = admin
PASSWORT = uli

Gruß
Ulrich

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin kein auch Fachanwalt, und wollte das eigentlich nur ein wenig 
witzig meinen - mir ist klar, dass hier keiner ein Impressum 
implementiert/implementieren muss.

Soweit ich weiß, ist das bei rein privaten Seiten (was hier wohl 
unterstellt werden kann) wirklich nicht notwendig. Die kleinen Server 
sind ja auch über eine veränderliche Adresse ansprechbar, von 
dauerhafter Anwendung (so wird es wohl gefordert für die 
Impressumspflicht) kann also auch keine Rede sein.

Wäre aber witzig, falls es doch jemand implementiert, natürlich mit 
einem breiten ":-)" an unsere Justiz.

Gast.

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Heldt wrote:
> @Gerd G.
>
> Nimm doch einen SHT11 von Sensirion (evtl. als Sample) und du hast auch
> die Luftfeuchtigkeit, Code dafür habe ich schon eingebunden und läuft
> stabil.

Ist schon richtig. Das Teil ist nicht schlecht. Leider habe ich noch 
keinen. Die Dallas verwende ich, weil ich vier Meßstellen habe und nur 
die Temparatur brauche.

Aber eine Wetterstation mit Innen- und Außenmeßwerten wird auf meiner 
Liste sein. Funkübertragung natürlich über RFM12, die bieten sich zur 
Zeit an. Die Werte sollen auf einer Website dargestellt werden und alle 
halbe Stunde auf SD-Karte gespeichert werden. Wäre natürlich toll, wenn 
ich die Werte dann als Diagramm anzeigen könnte (Tageswerte).

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Uli

Hatte heute den ganzen Tag den Webserver laufen, mit 8 LED´s und
Display - wassn Spass die Leute da hatten :)
Zur Überwachung gabs ne externe Webcam. So konnte man sehn, was man
geschaltet hat ...

http://mikrocontroller.homedns.org




weiter so...

Gruss,
Micha

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Funktioniert super, vielleicht kannst Du die base64.c und base64.h von 
dieser Seite http://www.episec.com/people/edelkind/c.html oder dieser 
Seite http://www.adp-gmbh.ch/cpp/common/base64.html gebrauchen um den 
base64 kodierten String aus Name/Passwort in der http.c zu erzeugen. 
Dann könnte man in der config.h die beiden Werte im Klartext ablegen.

Gruß
Thomas

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Michael

funktionieren bei deinem Display keine Sonderzeichen, wie "!!!??" ?

Gruß Gerd

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

alle Sonderzeichen werden vom Browser codiert in %nnn
dieses müsste der AVR-Server erst wieder zurückwandeln damit die 
entsprechenden Zeichen rauskommen.

Kannst dir ja mal die Adresszeile anschauen, was da rauskommt beim 
senden.

@Michael:
Die Seite wird bei mir jetzt nicht mehr richtig geladen, hats da was 
zerbröselt, oder wird grad optimiert ?!

mfG

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Bei mir spielt alles !?

Immer noch Probleme?

@Gerd:
genau, ich habe mir noch nicht die Mühe gemacht, die
Sonderzeichen zu decodieren ;)

Gruss,
Micha

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also bei mir geht die Webcam nicht :(

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
einmal hats geklappt, doch dann kommt nur wieder die Hälfte, und wird 
mit dem Laden nicht fertig !

so schauts jetzt aus:
http://roboter.net-con.net/mc/AVR_Webserver_Fehler.jpg

egal ob IE oder FF !

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
schade :(

Könnte am Browser oder den Script-Einstellungen liegen!?

Zur Entschädigung gibts hier im Minutentakt ein Bild:
http://www.vw-bus-t4.de/webcam.jpg

Gruss,
Micha

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@tiny80

Ist mir bisher nicht aufgefallen. Vielleicht zuviele Zugriffe
im Moment? Ist ja einiges los :)

Gruss,
Micha

Autor: John Small (linux_80)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael
ich gehe per Proxy ins Inet, kann den aber auch deaktivieren, zum Test, 
dann gehts. Heute Nachmittag, vom Büro aus, hats auch geklappt, da gehts 
nur per Proxy ins Inet.

Evtl. kannst Du mal probeweise diese Zeile in den Header der Seite 
einbauen :
<META HTTP-EQUIV="Pragma" CONTENT="no-cache">
dann sollte die Seite nicht in 'nem Cache landen.



Mir würde nur der richtige Quarz für den ENC abgehen, dann könnte ich 
auch so einen Server zusammenbauen.

Autor: Jonas G. (jonny)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
So sieht es bei mir jetzt aus

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Version 1.0.5 gibts nun auf meiner Homepage. Passwort und Benutzer für 
HTTP können in der config.h eingerichtet werden.

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Funktioniert super, danke ;)

@Alle

Mein Testserver ist weiterhin unter http://heldt-intern.dyndns.org:81/ 
zu erreichen, Zugangsdaten sind admin + demo .

Angezeigt werden die Temperatur und Luftfeuchte im Webservergehäuse ;)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Guten Abend,

die aktuelle Version mit "strcasestr" in httpd.c läuft nur mit der 
aktuellsten Version von WINAVR??

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Ulrich gibt auf seiner Homepage die Version vom 25.05.2007 als geeignet 
an, diese dürfte die aktuellste sein und die nutze ich auch. Mit dieser 
Version funktioniert es auf jeden Fall.

Gruß
Thomas

Autor: Jonas G. (jonny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß nicht warum aber im Firefox 2.0.06.6 unter Suse Linux 10.3 geht 
die Authentifizierung nicht unter anderen Browsern schon.

Weiß nicht warum... wollte es nur mitteilen!

Autor: Hermann (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie siehts denn mit Servo ansteuerungne aus, um eine Webcam zu lenken?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@jonny g.

Welcher prozessor M32 oder M644, wenn du einen M32 hast erhöhe mal MTU 
Size auf 650 in Stack.h Zeile 48

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Jonas G. und Ulrich

Beim m644 musste ich die MTU Size auf 1500 setzen damit es mit SuSE 10.3 
und dem aktuellen Firefox funktioniert, aber wenn man es auf 1500 erhöht 
geht es perfekt.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Was wurde denn in der V1.06 geändert, bzw. welche Dateien wurden 
geändert?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Da war ein Fehler im Stack mit der RTL8019 Karte!

Gruß
Ulrich

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hatte bisher alles mit einem älteren WinAVR gemacht. Bis v4 ging es 
auch. Jetzt hab ich halt die neue WinAVR drauf :-)

Ich habe nun schon ne Weile auf den Code geschaut, mir ist aber noch 
nicht ganz klar, wie die httpd.c genau funktioniert. Es gibt ja die zwei 
großen if-Abfragen: Einmal mit tcp_entry[...].app_status == 1 und einmal 
mit .app_status > 1 und < 0xfffe.

In der oberen (app_status==1) wird ja (nach der authentifizierung) 
entweder eines der bilder gesendet, die Ausgänge gesetzt oder die 
index-Seite gesendet.

In der unteren if-Abfrage (app_status > 1) ist dann allerdings noch eine 
schleife von 0 bis 290. In dieser werden auch die Variablen gesetzt. Mir 
ist jetzt der Zusammenhang nohc nicht ganz klar. Wo werden die Variablen 
beim ersten Senden der "page1" gesetzt? Die Kommentare haben mir leider 
noch nicht ganz geholfen.

Danke und Gruß
Steffen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

So wie ich das verstehe wird in der ersten Schleife auf eine GET 
Anforderung reagiert, also entweder Anforderung der Authentifizierung, 
Anforderung eines Bildes oder der Seite selber. In der zweiten Schleife 
werden dann die Daten  gesendet, jeweils in Paketen a 290 Byte.

@Ulrich

Hab ich das korrekt verstanden?

Gruß
Thomas

Autor: Lars K. (larsk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Simon K. wrote:
> Lars Kessner wrote:
>> Ich hab ein Kleinigkeit festgestellt, kommt jemand auf den Webserver
>> wenn die Subnetzmaske nicht 255.255.255.0 sondern 255.255.0.0 ist ?
>> Ansonsten sehr nette implementation.
>
> Das hängt von der IP/Subnetzkombination deines PCs ab. Ich empfehle eine
> Netzwerklektüre.

Hallo Simon,

ich glaube nicht das ich eine Netzwerklektüre benötige, dass ist mein 
tägliches Geschäft und ich habe halt ein Netzwerk laufen was nicht 
255.255.255.0 als Subnetzmaske besitzt. Und das Netzwerk funktioniert.

Gruß

Lars

Autor: Der wirkliche Netzwerker (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>ich glaube nicht das ich eine Netzwerklektüre benötige

Deine Frage lässt aber das Gegenteil vermuten.......

Hier mal was als Einstieg

http://netzmafia.de/skripten/netze/netz8.html

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Thomas,

ja, nachdem ich dann mit meinem Notebook abends im Bett den Quelltext 
noch mal durchgeschaut habe (man wie krank hört sich das jetzt an ;-) 
denke ich genauso wie du.

In der ersten Abfrage wird für die Indexseite bspw. nur der Header 
gesendet und der Zeiger auf die zu sendenden Werte gesetzt. Erst wenn 
dann die Bestätigung vom Client kommt, wird dann die ganze Seite 
gesendet.

Eine Frage noch: Warum wird die Schleife 290 mal durchlaufen? Ist das 
ein maximaler Wert für irgendetwas, oder korrespondiert der mit der 
Anzahl der Zeichen in der Indexseite? oder... oder... oder...???

Könnte der Wert auch über ein strlen o.ä. aus Page1 ermittelt werden?

Gruß
Steffen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Warum es genau diese 290 Zeichen sind kann ich auch nicht sagen, bin ich 
noch nicht hinter gestiegen da müsste Ulrich was zu sagen.


@Ulrich

Ich habe ein komisches Verhalten bzgl. Browser und Authentifizierung 
festgestellt:

MTU-Wert: 1100-1500 versucht

Zugriff per IP-Adresse im Browser oder per Domainnamen (Dyndns)

Klappt mit Firefox unter Linux SuSE 10.3, mit dem IE 6 unter Win2000 
aber nicht korrekt mit dem Firefox unter Win2000.

Zugriff per Domainnamen über Dyndns klappt immer mit allen Browsern.

Beim Zugriff über die IP-Adresse kann man sich beim ersten mal anmelden 
und auch einen Schaltvorgang durchführen (Firefox) wenn man dann noch 
mal direkt schalten will kommt wieder die Authentifizierung und nichts 
geht mehr. Refreshed man die Seite aber nach dem ersten Schaltvorgang 
(Also Datenübergabe in der Url) und schaltet dann wieder geht es auch.

Dieses Verhalten tritt bei mir mit verschiedenen MTU-Werten auf und 
immer mit dem Firefox.

Steckt da eine Logik hinter?

Autor: Steffen (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

nochmal eine Frage zum Verständnis des Codes: Ich habe im Anhang eine 
einfache, schnell erzeugte Grafik zum Programmfluss:

Habe ich das richtig verstanden, dass, nachdem der eine neue Anfrage 
gestartet wurde (z.B. Aufruf der Seite oder Anfrage des Clients nach 
einem Bild) eine neue TCP-Session aufgemacht wird mit 
tcp_entry[index].app_status==1 (sonst =0)?

Wenn diese Nachricht empfangen wurde, wird noch kontrolliert, ob es eine 
Anfrage nach einem Bild oder der Html-Seite war. Je nachdem, ob die 
Anfrage ein Bild oder Html war, wird der entsprechende Header sofort! 
gesendet und der Pointer für die nächsten Daten auf die entsprechende 
Quelle gelegt (die Html-Seite ist Page1 und die Bilder Page2 bzw. 
Page3). Das Unterprogramm wird dann beendet.

Beim Senden des Headers wird der Statuszähler um eins erhöht (in der 
Routine tcp_socket_process in der Datei stack.c).

Wenn der Client nun die Bestätigung für den Empfang des Headers sendet, 
wird erneut der Httpd aufgerufen. Nun ist der app_status aber höher 
(min. 2) und es wird in die zweite if-Abfrage gesprungen. In dieser wird 
nun auf Basis des gesetzten Pointers die entsprechende Page gesendet. 
Egal welche Page ausgewählt wird, wird der Inhalt nach den Variablen 
durchsucht und durch entsprechende Werte ersetzt. Diese werden nun 
gesendet.

Kann es vorkommen, dass die Variablenzeichenkette (VA@xx) auch in 
Bildern vorhanden ist und dann durch Werte erstetzt wird???

wenn keine Daten mehr vorhanden sind, wird die Session beendet.

Bitte um Bestätigung ;-) (oder Korrektur)

Gruß
Steffen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Meinem Verständnis nach ist es genauso wie du es beschrieben hast, ob 
die Variablenplatzhalter so in Bilddaten vorkommen kann ich aber nicht 
sagen, theoretisch dürfte es aber möglich sein was dann wohl zu 
"Pixelfehlern" führen würde. Aber ich glaube das es passiert ist sehr 
unwahrscheinlich.

Man könnte je nach Headerart die Variablen evtl. nur bei nicht Bilddaten 
ersetzen lassen, mal sehen was Ulrich sagt.

Autor: Lars K. (larsk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der wirkliche Netzwerker wrote:
>>ich glaube nicht das ich eine Netzwerklektüre benötige
>
> Deine Frage lässt aber das Gegenteil vermuten.......
>
> Hier mal was als Einstieg
>
> http://netzmafia.de/skripten/netze/netz8.html

Hallo,

mal andersrum gefragt, hast du den Webserver mal aufgebaut und die 
Software eingespielt ?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Der Wert 290 ist relativ klein gewählt. Um eine hohe Packetanzahl zu 
erzeugen (TESTZWECKE). Normalerweise müsste die Zahl (MTU_SIZE - 
TCP_DATA_START) sein. Dann würde ein Frame voll ausgenutzt. Allerdings 
sollte man berücksichtigen das noch Variablen eingefügt werden können, 
also MTU_SIZE - TCP_DATA_START - 100.

Gruß
Ulrich

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Das Problem mit Firefox und Linux Suse10.3 könnte nun beseitigt sein 
:-).
Ursachenforschung: Das Headerpacket get / vom Client wurde in mehrere 
Packete aufgeteilt. Firefox hat einen großen Header über 1500Bytes. 
Problem die Software wird immer komplexer :-)

Download der Version 1.0.7 auf meiner HP.

Gruß
Ulrich

Autor: Adler (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

Zur Info.
Ich benutze die letzte Version von Ulrich Radig (Danke für den 
Sourcecode) newStack_1_0_4 und habe bis auf den RJ45 Stecker die 
gleichen Komponenten. Also ENC28J60 und einen Atmega32.

Habe ein Problem mit der MAC Adresse. Wenn ich diese in den ENC schreibe 
gibt es keinen Fehler. Schaue ich die Einträge im Register an mit

usart_write("MAC 0: 0x%1x\r\n", enc28j60Read(MAADR1));
usart_write("MAC 1: 0x%1x\r\n", enc28j60Read(MAADR2));
usart_write("MAC 2: 0x%1x\r\n", enc28j60Read(MAADR3));
usart_write("MAC 3: 0x%1x\r\n", enc28j60Read(MAADR4));
usart_write("MAC 4: 0x%1x\r\n", enc28j60Read(MAADR5));
usart_write("MAC 5: 0x%1x\r\n", enc28j60Read(MAADR6));

ergibt dies als Ausgabe:

MAC 0: 0x0
MAC 1: 0x0
MAC 2: 0x0
MAC 3: 0x0
MAC 4: 0x5f
MAC 5: 0x0

Dass heisst: Nur der letzte Eintrag wurde im Speicher abgelegt und zwar 
an der ersten Stelle. Alle anderen Einträge sind 0x00. Es sieht so aus, 
als würde sich die Adresse nicht ändern und dauernd der neue Eintrag den 
vorhergehenden löscht. Mache ich einen Überlegungsfehler, stimmt etwas 
im Quellcode nicht oder könnte es sein, dass mein ENC den Geist 
aufgegeben hat(Wahrscheinlich nicht, da ich den letzten Wert auslesen 
kann).

Ein anderes Problem ist mit der ARP Tabelle. Diese ist immer 0. Die 
sollte doch automatisch gefüllt werden oder liege ich da falsch???

Vielen Dank für die Hilfe

Gruss

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Jetzt klappt es auch mit Opera und MDA II. Evt. schließe ich das an mein 
Garagentor an ;-)

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Entweder habe ich nicht alle Änderungen aus der 1.07 in die 1.06 
übernommen oder es tritt ein neues Problem mit dem Firefox auf:

Wenn ich per IP-Adresse zugreife lädt der Browser unter Win2000 endlos 
obwohl die Seite komplett ist. Mit IE und wenn ich auf den Dyndns 
Domainnamen zugreife funktioniert es. Unter Linux ist die Seite total 
kaputt :(

Kann da mit den Variablen zu tun haben, ich nutze andere als du, z.B. 
%LED1 und ersetze diese mit folgendem Code:
      if (strncasecmp_P("%LED1",http_entry[index].new_page_pointer,5)==0)
      {
        if((PORTB & (1<<PB1))!=0)
        {
          memmove(&eth_buffer[TCP_DATA_START+a],"<b><font color=\"#FF0000\">AUS</font></b>",39);
          a = a + 38;
          http_entry[index].new_page_pointer=http_entry[index].new_page_pointer+5;
        }
        else
        {
          memmove(&eth_buffer[TCP_DATA_START+a],"<b><font color=\"#00C000\">AN</font></b>",38);
          a = a + 37;
          http_entry[index].new_page_pointer=http_entry[index].new_page_pointer+5;
        }
      }

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Alles klar habe es gelöst ;) ARP Cache geleert und MTU-Wert angepasst.

Jetzt klappt es mit allen Browsern unter Linux und Windows.

Noch eine Frage, ich habe FTP soweit das ich mich mit WS-FTP am Server 
anmelden kann, alle Anfragen vom Client werden beantwortet.

Aber jetzt will der Client ja einen Port <>21 haben für die 
Datenkommunikation, wie kann ich jetzt einen neuen Port für die aktuelle 
Sitzung öffnen und z.B. ein Dummy Directory Listing an den FTP-Client 
senden?

Im RFC ist die Antwort auf LIST nicht deklariert und wie ich das mit den 
beiden Ports mache verstehe ich leider noch nicht.

Ich war schon froh das ich es hinbekommen habe das der Server auf die 
FTP Anfragen antwortet und die Verbindung auf- und abbauen kann.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Bei der 1.07 (Original von dir) und auch bei meiner geänderten geht 
HTTP-AUTH nicht mehr, in der config.h ist eine 1 eingetragen aber die 
Seite kann ohne Abfrage aufgerufen werden :(

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Lese dir mal die neue Config duch, und du wirst feststellen eine 1 
schaltet Auth ab. Welche Werte wurden geändert?

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Alles klar hatte meine alte config.h genommen :(

Jetzt teste ich verschiedene MTU Werte etc. weil es je nach länge der 
URL mal funktioniert und mal nicht. Aber ich bekomme das schon hin nur 
mit dem FTP stehe ich auf dem Schlauch.

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas Heldt

suche mal nach "passive ftp". Ist einfacher zu verstehen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Werner B.

Danke, habe ich schon gelesen, werden aber auch zwei Ports genutzt. Aber 
ich muß hier erstmal die aktuelle Version stabil zum laufen bekommen 
bevor ich weiter um FTP kümmern kann.

@Ulrich

Kann es sein das die V1.07 extrem abhängig von der URL, Länge der 
Webseite etc. ist. Mal lädt die Seite mit einem MTU-Wert, dann wertet 
sie aber die Parameter der GET Anweisung nicht korrekt aus, dann wieder 
klappt alles mit der Auswertung dafür lädt die Seite im Browser endlos.

Egal ob mit deiner Originalversion als auch mit meiner bisher eigentlich 
stabilen Version.

Hast Du da noch einen Tipp?

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Die 1.0.8 jetzt nicht mehr :-) (hoffe ich)
Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Läuft wie geölt auf Win2000 mit IE6 und Firefox und auf SuSE 10.3 mit 
Firefox auch ;)

Kannst Du mir vielleicht noch einen Tipp geben wie ich aus meiner ftpd.c 
heraus einen zweiten Port (z.B. 999) gebunden an die gleiche MAC/IP 
öffnen kann als Datenport für FTP?

Müsste das dann eine eigene Anwendung mit eigenem Port darstellen, 
glaube doch schon das ich beim Start den Port als Anwenung eintragen und 
nach der Verbindung wieder aus der Anwendungsliste löschen muss, korrekt 
gedacht?

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ulrich

Mach aus den
const char http_header1[]={"HTTP/1.0 .....

doch mal ein

PROGMEM char http_header1[]={"HTTP/1.0 .....

Dann ersetzt du

memmove(start_data,http_header...

durch

memcpy_P(start_data,http_header....

Schon hat man fast 300 Byte RAM mehr zur Verfügung.

Und schmeiß Page2 aus httpd.c raus in eine Headerdatei.
Ist ja lästig da dauernd über ein 1000 Zeilen Hex Listing
scrollen zu müssen wenn man mal zwei Zeilen ändern möchte.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hier die neuste Version!

Gruß
Ulrich

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

So die letzte Version für heute! Mit richtiger Html Header End 
Auswertung!

Guss
Ulrich

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>So die letzte Version für heute!

Puhh..Dann hat man vielleicht mal genug Zeit um seine eigenen 
Erweiterungen auf die aktuelle Version anzupassen...ich arbeite noch mit 
einem mix aus v4, v8 und eigenen Anpassungen.

@Ulrich
Da ich noch mit einem m32 arbeite und momentan keinen Wert auf die 
Authentifizierung lege, habe ich alles was dazu gehört raus gelöscht 
(und es hat noch funktioniert :-). Könntest du die Authentifizierung in
#ifdef ENABLE_AUTH 
oder so ähnlich kapseln? Dann kann man das sehr schnell und einfach ein 
und ausschalten und spart noch ein wenig Programmspeicher.

Wenn nicht. Geht die Welt auch nicht unter.
:-)
Steffen.

Autor: E. M a t t h i a s (hias)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

@Steffen:
Du hast bestimmt eine alte Version der config.h
in der aktuellen steht:
#define HTTP_AUTH_DEFAULT  0

MfG Hias

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

In der letzten Version treten wieder Fehler auf je nachdem ob ich per IP 
oder Domainnamen zugreife, bei der IP lädt der Firefox wieder endlos. 
Bin da jetzt schon endlos dran an den Werten MTU_SIZE und 
MTU_SIZE-(TCP_DATA_START)-100 rum zu testen.

Gibt es eine Einstellung die auch mit IP z.B. 192.168.178.99 und 
Domainnamen wie z.B. heldt-intern.dyndns.org funktioniert?

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Ich werde nochmal meine Änderungen in die 1.10 komplett neu einbauen, an 
irgendwas muss es ja liegen. Dein Server läuft von hier aus gut.

Wenn Du den Firefox und IE hast kannst Du ja mal auf meinen zugreifen ob 
der Firefox das laden der Seite beendet:

http://heldt-intern.dyndns.org:81/

User: admin
PW: demo

Ich habe jetzt die original 1.10 drauf und über Domainnamen geht es über 
IP lädt die Seite endlos :(

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier zum spielen!!

http://ulrichradig.dyndns.org

User:     admin
Passwort: uli1

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Jetzt scheint es zu gehen MTU_SIZE=1500, drunter gab es bei mir immer 
Probleme. Jetzt teste ich mal wie stabil er läuft ;)

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Ulrich

erstmal danke für die letzten Änderungen :)

Nun mal was komisches: Wenn ich die Debugausgaben abschalte,
bleibt der Webserver öfter mal hängen. Per Netzwerk geht
bis zum Reset dann gar nichts mehr.
Schalte ich DEBUG wieder an funktioniert alles reibungslos.

PS: Die Umlenkung von DEGUB auf usart_write_nop
legt sämtliche Debugtexte wieder ins RAM !

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Alsogut doch noch eine neue Version habe V1.0.12 Online gestellt. 
Debugmeldungen habe ich erstmal aktiviert!

Gruß
Ulrich

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Du hast bestimmt eine alte Version der config.h
>in der aktuellen steht:
>#define HTTP_AUTH_DEFAULT  0

>MfG Hias

Hallo,

doch, das hatte ich gesehen. Aber es wird ja nur per Variable aus 
geschaltet. Der Code ist ja trotzdem drin. Allein der Header3 hat 129 
Byte, die dann ja nicht benötigt werden. Deswegen die Frage nach der 
Precompileranweisung. Oder schafft der Optimierer es, diesen Teil 
wegzuoptimieren?

Macht aber nichts, bei mir reicht der m32 gerade so (ich brauche telnet 
und cmd nicht, da ich zur Zeit keinen max232 o.ä. hier habe.), auch wenn 
die authentifizierung drinnen bleibt.

:-)

Schönes WE,
Steffen.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

So jetzt sollte alles klappen Version 1_0_13!!!!

http://ulrichradig.dyndns.org

User:     admin
Passwort: uli1

und immer schön testen :-)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!

Also ich bekomme mit der neusten Version keinen stabilen Betrieb
mehr hin. Di letzte mit der alles klappte, war die 1_0_4

Ich nutze das mitgelieferte 644-HEX und nach dem ersten
Aufruf wird die Seite zerstückelt.

http://mikrocontroller.homedns.org/

Jemand ne Idee??

Gruss,
Micha

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Die Hexfiles sind alte Versionen und entsprechen nicht den neusen Stand 
und sind nur zum testen. Ping usw. ob das Board überhaupt läuft.

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Danke für die schnelle Antwort!
Leider klappts mit dem selbstcompilierten auch nicht besser.
Sehe ich richtig, dass nur im makefile MCU = atmega644
für den 644 eingegeben werden muss? Oder sind
sonst noch Änderungen per Hand zu machen?

Könnte es sein, dass sich ein Bit im ENC verstellt hat, dass
auch bei Netzreset beibehalten wird? Dieser Fehler trat plötlich auf,
nachdem es mehrere Tage eigentlich gespielt hat.

Ich habe im Moment das Problam, das die Seite beim ersten Aufruf
richtig dargestellt wird und danach fehlen immer die ersten Zeichen.
Dadurch werden die Zeilen die unter Head definiert sind, im klartext 
ausgegeben.

Gruss,
Micha

PS:Weiter so...

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Habe gerade die Hexfiles aktualisiert wir sprechen hier auch von der 
version 1.0.13?

Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, genau.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe die Version schon den ganzen Abend am laufen. Mit mehreren 
Browsern und Rechner getestet.

http://ulrichradig.dyndns.org
User:     admin
Passwort: uli1


Gruß
Ulrich

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi!
Da habe ich auch schon wild dran rumgeschaltet, keine Probleme.
Könnte es etwa an meinem fliegenden Aufbau liegen !?

Gruss,
Micha

Autor: Michael Fluhr (fury)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich hab einen Teil des Codes (stack und httpd) auf einen 8051 portiert 
und hab ein Problem. Die Debugausgabe ist

NIC Init R
My IP: 192.168.1.88

Anwendung wird in Liste eingetragen: Eintrag 0
UInt
Length 60
IP-Type 608
ARP
Int
Length 74
IP-Type 8
PING
Pinged
Int
Length ,000000000000000000000000000000000000000,000000000
IP-Type ,000000000000000000000000000000000000000,000000000
Error
Int
Length ,000000000000000000000000000000000000000,000000000
IP-Type ,000000000000000000000000000000000000000,000000000
Error
Int
Length ,000000000000000000000000000000000000000,000000000
IP-Type ,000000000000000000000000000000000000000,000000000
Error
Int
Length ,000000000000000000000000000000000000000,000000000
IP-Type ,000000000000000000000000000000000000000,000000000
Error

Manchmal wird nachdem erkennen des Pings ein Reset ausgeführt. Ist das 
evtl. ein bekannter Fehler ? ich arbeite noch auf Basis von 1.0.2

dürfte kein Problem mit der Kommunikation mit dem ENC28J60 liegen.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also ih bin mir sicher, dass der Code funktioniert. Ich werde
mal den fliegenden Aufbau gegen eine Platine tauschen, ich
denke, daran liegt es.

Gruss,
Micha

Autor: Gerd G. (elektrikser)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe die neue Version auch schon zwei Stunden am Laufen und bisher keine 
Probleme.

Gute Arbeit!

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Also keine Version nach 1.07 läuft bei mir stabil, die neuen ab 1.0.10 
stürzen ab (ATMEGA644), man bekommt keine Verbindung mehr zu Server bis 
zum Reset. Egal ob ich per IP oder Domainnamen aufrufe.

Habe heute mal nichts neues eingebaut und die Abstürze watren teilweise 
nach dem Start direkt, teilweise nach 2 Stunden.

Die aktuelle 1.0.13 stürzt sofort ab beim laden des Bildes der Rakete.

Ich habe jetzt die 1.0.7 drauf und die rennt.

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Genau diese Probleme habe ich auch! Er läd die Rakete nicht und stürzt
ab. Läd er die Rakete, läuft er einen weiteren Durchgang durch.

Bei denen, wo es spielt, nutzt ihr auch den 644?

Gruss,
Micha

Autor: Lötlackl (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Prima Spielzeug (jetzt wo's läuft). Dank an Ulrich!
Dennoch hat das mit der Led-Schalterei nicht so recht hingehauen, habe 
mir daher erlaubt, folgende Änderung in der "httpd.c", Funktion 
"httpd()" vorzunehmen:
...
 if (strcasestr(start_data,"LED1=1\0"))
 {
  PORTD |= (1<<PD5);
  http_entry[index].first_switch = 1;
 }
 else
 {
  PORTD &= ~(1<<PD5);
  http_entry[index].first_switch = 1;
 }

 if (strcasestr(start_data,"LED2=2\0"))
 {
  PORTD |= (1<<PD6);
  http_entry[index].first_switch = 1;
 }
 else
 {
  PORTD &= ~(1<<PD6);
  http_entry[index].first_switch = 1;
 }
 if (strcasestr(start_data,"LED3=3\0"))
 {
  PORTD |= (1<<PD7);
  http_entry[index].first_switch = 1;
 }
 else
 {
  PORTD &= ~(1<<PD7);
  http_entry[index].first_switch = 1;
 }
...

Jetzt komme sogar ich damit klar.
Bei mir hängt das zu schaltende Zeug an PD5...7 (Pollin-Board)

mfg Ringo

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael

Ja ich nutze den 644er, aber ich werde es gleich mit einem 32er 
probieren und berichten.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael und Ulrich

Also die 1.0.13 mit einem ATMEGA32 scheint "out of the box" zu 
funktionieren, habe keine Abstürze wie beim 644er.

Jetzt teste ich mit verschiedenen Taktfrequenzen.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Es liegt an der MTU SIZE stellt die MTU SIZE auf 500 und es geht auch 
mit einen 644er. Ich arbeite drann!!

Mfg
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Danke, jetzt läuft der 644er super ;)

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ja, das wars. Klappt jetzt einwandfrei. Auch die
von mir geänderte 1_0_4 (Display und 8 LEDs) spielt jetzt
super.

Danke Uli!

Micha

PS:
Macht nicht mehr so lange :)

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Macht nicht mehr so lange :)

Warum? So eine Nachtschicht ist doch was feines :-)

Jedenfalls hab ich gestern Abend (oder besser heute morgen) es endlich 
hinbekommen, dass ich mehrere Seiten darstellen kann (home.html, 
form.html, info.html,...). Diese Seiten sind oben durch eine 
Navigationsleiste ähnlich wie bei heise.de zu erreichen.

Zeit hat mich dabei vor allem das Ziel gekostet, es so hinzubekommen, 
dass ich die Seiten nur in eine Tabelle eintragen muss und dann die 
Seitenerkennung und die Navileiste automatisch erstellt werden.

Leider hat das ganze ne Menge Performance, Speicher und die 
Authentifizierung gekostet. Naja, und Bilder werden im Explorer auch 
nicht mehr angezeigt (?).

Problem ist: Ich verstehe meinen Code gerade selbst kaum noch. Also 
falls Interesse besteht, werde ich demnächst mal eine überarbeitete 
Version posten. Falls nicht wieder 5 Releases von Ulrich dazwischen 
kommen :-)

schönes WE euch
Steffen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Steffen

Na die Nachschicht habe ich auch hinter mir ;) Aber das Ziel mehrere 
Seiten, stabil!, zum laufen zu kriegen auf einem ATMEGA644 hat nicht 
geklappt.

Ich wollte da wo die Standardseite angezeigt wird einfach je nach Header 
GET eine andere Seite wählen nur anscheinend passt der Header nicht 
immer komplett in die start_data rein und dann klappt es nicht.

Authentifizierung und Bilder sollten natürlich erhalten bleiben ;)

Aber vielleicht kann Ulrich ja da den rechten Weg weisen.

Hast Du einen 32er oder 644er benutzt?

Schönes WE allen zusammen.

Gruß
Thomas

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mega32 - ich musste aber telnet und cmd total raus schmeissen...

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Uli!
Danke für die neue Version.

Irgendwie klappt das decodieren der Schalt-Parameter nicht mehr.
Es bleibt der vorherige Schaltbefehl irgendwo gespeichert und
toggeld die LED nochmals.

Gruss,
Micha

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
zu sehen hier:
http://mikrocontroller.homedns.org

für den 644 compilierte 1_0_14

Zur Kontrolle die Webcam:
http://www.vw-bus-t4.de/html/webcam.php

Gruss,
Micha

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

So die letzte für heute habe noch was am ENC Treiber optimiert stürtzte 
zeitweise bei mir noch ab!

Also nochmal Version 1.0.14

und immer testen ;-)

http://ulrichradig.dyndns.org
User:     admin
Passwort: uli1

Gruß
Uli

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Noch einen kleinen Nachtrag, Änderung der Zeile 296 in der enc28j60.c 
auf

delay_us(10000);

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Einfach tolle Sache, jetzt klappt es auch mit mehreren Seiten etc. auf 
dem 644er ;)

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich habe mal ein Layout mit Magjack geroutet. Leider funktioniert es 
nicht. Programmieren des Avr's hat geklappt und ich komme per 
Hyperterminal auch drauf. Die Avr<->Enc Kommunikation müsste eigentlich 
auch klappen, da ich mir per Terminal die ENC-Versionsnummer auslesen 
lassen kann. Bin langsam am verzwiefeln. Auf einen Ping reagiert er auch 
nicht. Hat irgendwer eine Idee, woran es liegen könnte?? ggf. MAgjack 
falsch angeschlossen?

anbei der Schaltplan, Layout und Magjack Datenblatt

wäre euch sehr sehr dankbar, wenn ihr mir helfen könntet

Grüße Henning

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich hatte einen Fehler bei der Verkabelung der Spulen, den hab ich jetzt 
bei dir nicht gesehen.

ich hab mal meinen Schaltplan angehängt. Der hat vor ein paar Tagen noch 
funktioniert.
Kannst ja mal vergleichen.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Hier eine Software Version die es erlaubt schnell neue Seiten 
hinzuzufügen.
Schaut euch die Tabelle am Ende von webpage.h an!

Gruß
Ulrich

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Ulrich

Leider bekomme ich meine Version mit den letzten BETA-Änderungen nicht 
korrekt zum laufen, aber dann lasse ich die weg weil der Server 
ansonsten  sehr sehr sehr gut läuft ;)

Jetzt eine Frage, ich habe auf dem Board einen Uhrenquarz am ATMEGA 
angeschlossen und der kann ja für den Timer1 (m32) bzw. Timer2 (m644) 
genutzt werden um genauer zu werden. Was muss an der timer.c geändert 
werden das dieser externe Taktgeber genutzt wird?

Kann man das evtl. in der config.h auswählbar machen, also Zeittakt 
intern/extern auswählbar?

Wünsche dir aber erst einmal einen schönen Sonntag und vielen Dank für 
die tolle Arbeit und Hilfe.

Gruß
Thomas

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Jetzt eine Frage, ich habe auf dem Board einen Uhrenquarz am ATMEGA
>angeschlossen und der kann ja für den Timer1 genutzt werden um genauer
>zu werden. Was muss an der timer.c geändert werden das dieser externe
>Taktgeber genutzt wird?

Eine ganze Menge :( Solange der komplette Ethernet Verkehr
im INT2 Interrupt stattfindet kann man Timer die mit
Interrupts laufen quasi vergessen wenn sie GENAU sein sollen.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Holger

Soweit ich den Code verstehe wird in der ENC28J60 gepollt und nutzt den 
Interrupt nicht.

Beim Atmega644 könnte man doch weiterhin Timer1 nutzen wie bisher und 
Timer2 mit externem Quarz für eine Uhr, oder sehe ich das falsch?

Ich möchte quasi die Zeit erfassen die der Server läuft, und das so 
genau wie irgend möglich.

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann mir niemand helfen?? :-(

Gruß Henning

Autor: T. P. (dadomas)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dann hänge doch mal den Schaltplan als PNG-File an, dann würde ich auch 
mal drüber schauen ;-)

Autor: holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Thomas Heldt

>Soweit ich den Code verstehe wird in der ENC28J60 gepollt und nutzt den
>Interrupt nicht.

Dann frag ich mich wozu die ISR in stack.c gut ist ;)

>Beim Atmega644 könnte man doch weiterhin Timer1 nutzen wie bisher und
>Timer2 mit externem Quarz für eine Uhr, oder sehe ich das falsch?
>Ich möchte quasi die Zeit erfassen die der Server läuft, und das so
>genau wie irgend möglich.

Was verstehst du unter GENAU ?

Das mit dem Timer1 Overflow Int. ist allerdings etwas
ungenau. Der Timer1 muss nachgeladen werden. Dabei verliert
man immer etwas. Dazu komt noch die Zeit zum Sprung in die ISR.
Unglücklicherweise lädt Uli den Timer erst am Ende der ISR neu.
Das sollte man immer als erstes machen.

Besser ist aber der CTC Modus von Timer1.
Da wird der Timer1 automatisch neu gesetzt.
Ich hab da mal was angehängt.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Holger

Danke ich habe das mit dem Uhrenquarz heute N8 schon hinbekommen, es 
läuft super.

Ich nutze jetzt den Uhrenquarz und zeige auf der Webseite an wie lange 
der Server läuft.

@Ulrich

Ich habe dir mal eine Mail geschickt mit der Möglichkeit den Uhrenquarz 
alternativ als Taktgeber für den genutzten (m32 Timer1 / m644 Timer 2) 
zu verwenden.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Holger

Kannst Du dir mal bitte meine timer.c ansehen, so läuft es bei mir,
bitte sage mir ob es für den ATMEGA32 so korrekt ist. Ich teste hier mit
dem 644er.

Eigentlich sollte es lt. Datenblatt so gehen.

Nachtrag:
Habe den Code mal aufgeräumt und aktualisiert ;)

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Holger

Sorry falsche Datei, hier die korrekte ;)

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@dadomas
Hier ist der Schaltplan als PNG. Ich weiß echt nicht, woran es liegen 
könnte, die Magjackbelegung (SI-60024) hab ich auch schon 1000mal 
geprüft. Kann dir gerne auch noch das Layout schicken, aer hier kann man 
ja immer nur eine Datei anhängen

Gruß

Henning

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning Schaper

So wie ich das sehe und verstehe hast Du am MagJack die Leitungen 1+3 
sowie 4+6 vertauscht, probiere es mal wenn du sie genau anders herum 
anschliesst.

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Thomas Heldt wrote:
> @Henning Schaper
>
> So wie ich das sehe und verstehe hast Du am MagJack die Leitungen 1+3
> sowie 4+6 vertauscht, probiere es mal wenn du sie genau anders herum
> anschliesst.

wie meinst du das genau??

1 3 4 6 ->>3 1 6 4
oder
1 3 4 6 ->>4 6 1 3

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
1 3 4 6 ->>3 1 6 4

So ;)

Frage:
Wo hast du den MagJack gekauft, ich suche auch so einen.

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Frage:
> Wo hast du den MagJack gekauft, ich suche auch so einen.

den hab ich von www.csd-electronics.de


Ach und danke für deinen Tip, jetzt hab ich den Fehler auch gesehen. 
werde gleich mal meinen Lötkolben aufheizen und und das korrigieren, mal 
gucken ob es dann läuft

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schade, hat leider nicht geklappt. Außerdem hab ich gesehen, dass in 
anderen Magjackschaltungen die Pins auch vertauscht sind, wo es aber 
trotzdem läuft

Grüße Henning

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning Schaper

Passiert gar nichts oder wird erkannt das ein Kabel eingesteckt wird, 
also leuchtet dann eine LED?

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Es ist folgendermaßen, wenn ich das Ding an mein Notebook anschließe 
(normales Patchkabel), dann kommt "Netzwerkkabel verbunden", die eine 
Led am Magjack leuchtet durchgänging, die zweite blinkt so ab und zu 
mal. Das Notebook zeigt mir unter Netzerkaktivität z.b. 200 pakete 
gesendet, aber 0 empfangen. Und beim anpingen halt immer 
Zeitüberschreitung und 100% Verlust.
Schließe ich den Webserver am Router, Switch oder Desktoprechner an(auch 
normales Patchkabel), dann passiert gar nix.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning Schaper

Bist du sicher das der MagJack zum Datenblatt passt?

Wenn JA, hast du mal nachgemessen ob zwischen den ENC28J60 Pins und dem 
jeweiligen Pin am MagJack ein Kontakt vorhanden ist?

Wenn auch JA, hast Du einen HUB oder Switch?

-> Switch, bin ich ratlos
-> HUB, wenn da 100MBit Geräte dran hängen würde es mit den 10MBit des 
ENC nicht funktionieren.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@henning

Hat der Webserver auch sicher eine IP-Adresse aus deinem Netzwerk?

Autor: Kornelius Doe (kornelius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Soweit ich weiß benötigt man ein gekreuztes Kabel wenn du den Webserver 
an dein Notebook anschliessen willst...

Autor: Robin Tönniges (rotoe) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kornelius Tetzner wrote:
> Soweit ich weiß benötigt man ein gekreuztes Kabel wenn du den Webserver
> an dein Notebook anschliessen willst...

Vollkommen richtig. Nennt sich "Cross Over LAN-Kabel"

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Datenblatt passt, Kontakt ist vorhanden, IP ist die Richtige, und ich 
habs an meinem Router Desktoprechner und Laptop probiert.

Wie lang dürfen die Leitungen zwischen enc und Magjack sein?? da geht ja 
immerhin HF durch, Wie tolerant dürfen die 50ohm widerstände sein?? Wo 
sollten sie sitzen (HF)??

Das wären noch meine Therorien für Fehlerquellen

anbei nochmal das Laout als PNG, vielleicht hab ich da ja n groben 
Schnitzer drin

Gruß Henning

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kornelius Tetzner wrote:
> Soweit ich weiß benötigt man ein gekreuztes Kabel wenn du den Webserver
> an dein Notebook anschliessen willst...

Aber wieseo geht es dann am Router der ja in diesem Falle als Switch 
fungiert auch nicht? Soweit ich weiß kann mein Notebook, so wie viele 
andere moderene Notebooks, das umschalten, sodaß kein Crossover benötigt 
wird


Grüße

Autor: Kornelius Doe (kornelius)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henning Schaper wrote:
> Kornelius Tetzner wrote:
>> Soweit ich weiß benötigt man ein gekreuztes Kabel wenn du den Webserver
>> an dein Notebook anschliessen willst...
>
> Aber wieseo geht es dann am Router der ja in diesem Falle als Switch
> fungiert auch nicht? Soweit ich weiß kann mein Notebook, so wie viele
> andere moderene Notebooks, das umschalten, sodaß kein Crossover benötigt
> wird
>
>
> Grüße

Wäre mir ehrlich gesagt neu...bei meinem alten Webserver musste ich ein 
gekreutztes Kabel nehmen und das wurde auch stets im Microchip Forum 
gepredigt...hast du deiner Netzwerkkarte eine feste IP zugewiesen?

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Leider kann ich die neue Version trotz WinAVR vom 16.05.2007 nicht 
komplilieren:

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
httpd.c: In function `httpd_header_check':
httpd.c:161: warning: implicit declaration of function `strcasestr'


Muss ich irgend eine Datei zusätzlich includen? Ich habe bisher nichts 
verän dert.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Florian

Also mit der Version vom 25.05.2007 klappt es, installiere dir dich mal 
die aktuelle WINAVR ;)

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henning Schaper wrote:
> Schade, hat leider nicht geklappt. Außerdem hab ich gesehen, dass in
> anderen Magjackschaltungen die Pins auch vertauscht sind, wo es aber
> trotzdem läuft
>
> Grüße Henning

Hast du dir mal den Schaltplan von mir angesehen den ich weiter oben 
gepostet habe?
Ich habe da den CSD Magjack benutzt. Und so funktioniert es bei mir 
auch.
Getestet mit Crossoverkabel direkt an einem PC und mit 1:1 Kabel über 
ein Router/Switch.

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo  Willivonbienemaya

könntest die mir die eagle libary, die du dort verwendet hast zukommen 
lassen?? hast du evntl auch ein eigenes layout gemacht??

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe nur eine Adapterplatine gemacht. Allerdings hatte diese noch 
einen Fehler beim Magjack. Ich habe mal die korrigierte Version 
angehängt. Das Layout ist jetzt halt noch nicht fertig geroutet, das hab 
ich nicht mehr geändert.

Die Lib brauchst du nicht, du kannst dir einfach den Magjack aus dem 
Schaltplan rauskopieren.

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
hier das Board

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, genauso hab ich es ja auch...naja hab zusätzlich noch die 
mittelanzapfung, aber das hab ich ja auch schon versucht, die mal 
wegzulassen. ich glaub langsam, mein magjack hat nen defekt. Oder 
glaubst du das könnte daran liegen, dass die zuleitungen zum magjack zu 
lang sind (hochfrequenz), bei mir sind die ca. 5cm. oder dass ich statt 
50ohm 51ohm genommen hab?

grüße hennning

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Holger

Ich habe noch einmal den Code überarbeitet für den Timer könntest Du mal 
schauen und sagen ob der Teil für den Atemga32 korrekt ist, der Teil für 
den Atmega644 läuft.

Danke für eine Antwort.

Gruß
Thomas

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henning Schaper wrote:
> Danke, genauso hab ich es ja auch...naja hab zusätzlich noch die
> mittelanzapfung, aber das hab ich ja auch schon versucht, die mal
> wegzulassen. ich glaub langsam, mein magjack hat nen defekt. Oder
> glaubst du das könnte daran liegen, dass die zuleitungen zum magjack zu
> lang sind (hochfrequenz), bei mir sind die ca. 5cm. oder dass ich statt
> 50ohm 51ohm genommen hab?
>
> grüße hennning

Was hast du denn für ein Widerstand als Rbias drin? Welche Version hat 
dein ENC?
Du kannst mal versuchen die Zuleitung abzuschirmen um das 
auszuschliessen.

Blöde Frage: Der Top Layer ist nur Darhtbrücke oder? Die Leiterbahnen 
machen nämlich gut kurzschlüsse.

Was bei mir andres ist, ist die Mittelanzapfung und GND an Pin8 hab ich 
nicht.
Ich hab am Magjack nur 4 Pins belegt.

Autor: Florian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vielen Dank Thomas.

Ich habe die neue Version vom 25.05.2007 ins alte WinAvr Verzeichnis 
installiert, wo er so weit ich gesehen habe alles überschrieben hat. In 
der string.h Datei gibt es auch einen Prototyp für die strcasestr 
Funktion. Muss ich das alte WinAVR vorher löschen bevor ich das neue 
installiere?

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Florian

Sorry, kann ich nichts sagen ist meine erste WINAVR Installation 
gewesen, aber schaden kann es sicher nichts die alte zu entfernen ;)

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Was hast du denn für ein Widerstand als Rbias drin?
2,32ohm bei 2%

> Welche Version hat dein ENC?
Version 5, das hat mir das Terminal jedenfalls ausgespuckt

> Du kannst mal versuchen die Zuleitung abzuschirmen um das
> auszuschliessen.
Habe die Zuleitungne zum Magjack direkt an die Pins mit 2cm langer Litze 
gemacht, also der Magjack baumelt jetzt so unter der Platine. War jetzt 
keine abschirmung, sondern ne verkürzung

> Blöde Frage: Der Top Layer ist nur Darhtbrücke oder? Die Leiterbahnen
> machen nämlich gut kurzschlüsse.

Na klar sind das nur Drahtbrücken
----

Habe jetzt nochmal mit nem Scope gemessen, direkt an Tpin und TPout vom 
Enc..
Wenn ich das Ding jetzt anpinge, dann hab ich ein Flackern bei TPin aufm 
Scope, sprich da kommt was an.

Dann hab ich nochmal an TPout gemessen, während ich den Webserver 
angepingt hab, da müsste dann ja eigentlich ebenfalls ein Flackern 
kommen, was dann die Antwort wäre.. ist aber leider die ganze Zeit auf 
High

Spontan würd ich sagen, die Pegel zwischen Avr&Enc passen doch nicht so, 
und der Enc bekommt gar nix mit, was der Avr ihm sagt, bzw, umgekehrt. 
Sodaß der Enc dann einfach gar nix macht

Aber das widerspricht sich wieder mit der Tatsache, dass ich die 
Versionsnummer auslesen konnte.

Ich verwende die Hardware (bis auf die Magjack manipulation) und die 
Software von Ulrich Radig. Das müsste dann ja eigentlich auch passen


Hat einer noch ne Idee??

Grüße Henning

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Henning Schaper wrote:
>> Was hast du denn für ein Widerstand als Rbias drin?
> 2,32ohm bei 2%
2,32 KOhm bei 2% sorry, Tippfehler

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning Schaper

Da Du ja die Version auslesen kannst, ich habe die selbe Version, ist 
die Verbindung AVR <-> ENC korrekt. Ich nutze einen RBIAS mit einem Wert 
von 2K mit 1%. Je nach Länge des RJ45 Kabels habe ich da schon von 
Problemen gehört.

Autor: Jonas G. (jonny)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe RBIAS 2,7 KOhm und habe auch gelesen, dass dies in den neuen 
Revisionen des ENCs erforderlich ist.
Ich habe mit 2,7k keinerlei Probleme...

Jonas

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
@Alle

So endlich habe ich es geschafft und habe die timer.c so geändert, danke 
auch an Holger für den Tip, das er im CTC Mode mit ATMEGA32 und 
ATMEGA644 arbeitet. Hat man einen externen Uhrenquarz angeschlossen kann 
man in der config.h durch folgende Zeile beeinflussen welcher Takt für 
den Timer genutzt wird.

Zeile in config.h einfügen:

[c]
//Timertakt intern oder extern
#define EXTCLOCK 0 //0=Intern 1=Externer Uhrenquarz
[/]

Und die hier angefügte timer.c nutzen.

Gruß
Thomas

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Jonas G.

Mein ENC Rev. 5 funktionierte mit 2,7K und langem Kabel nicht korrekt, 
Paketverluste, gleiches Kabel 2K funktioniert wunderbar. Olimex z.B. 
setzt bei allen Versionen 2K ein soweit ich gehört habe.

[Nachtrag]

Lt. Microchip soll bei Rev.5 ein 2,32K mit 1% genutzt werden also sollte 
es bei Henning klappen.

Autor: Ulrich Radig (radiguli) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe einen ENC mit der Rev. 5 daran funktionieren die Bias 
Widerstände 2k, 2.3k und 2.7k

Gruß
Ulrich

Autor: Nicht Bekannt (florian01)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Thomas:

Hab es jetzt zuerst gelöscht und schon ging es.
Vielen Danke Dir und Grüße
Florian

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,
ich glaub ich hab meinen Fehler gefunden...Das muss ich aber noch 
testen.
Habe vermutlich für den ENC kein Grundtonquarz, sondern es hat die 25Mhz 
im 3. Oberton


Grüße Henning

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich haben den Webserver mit einem Mega644 in Betrieb jedoch hängt er 
sich städig auf und der Output der Konsole sieht auch etwas 
verwurschtelt aus :(

Die Einstellung im Terminalprog ist normal auf 9600 8n1

Hab ihr vll eine Ahnung an was das liegen kann?




**** NEUE )TUTHPÊêJEU%UåuRRRRjRjR:Q    ŠEõŠrŠjR
•ÁÑ遥µ…•½¥™±¥µ…•½áµá‰¥Ñµ…Á±¥µ…•½©Á•±¥µ…•½Á©Á•±…ÁÁ±¥…Ñ¥½¹½ 
áµÍ¡½­Ý…Ù•µ™±…Í¡±©½©5)•Áѵ1…¹Õ…•é‘•5)Uµ
UéááÙ5)•Áѵ¹½‘¥¹éé¥Á±‘•™±…Ñ•5)U͕ɵ•¹Ñé5½é¥±±…½Ñ¹Á¡½µÁ…Ñ¥ 
‰±•í5M%Ý¹Áí]¥¹‘½Ý́9QÕ¹Å큹9Q
1IÉ¹Á¹ÕÁÝÉÝí5¥5)!½ÍÑéÅåɹÅÙá¹É¹ÉÁÁ5)
½¹¹•Ñ¥½¹é-••Áµ±¥Ù•5)5)ñµµµ!I9II%
!Q…µµµù5)ÿ
**** NEUE HTTp ANFORDERUNG ****

GET / ÈEõŠrŠjR
¬¬—Jµ…•½¥™±¥µ…•½áµá‰¥Ñµ…Á±¥µ…•½©Á•±¥[XVÖ 
©Á•±…ÁÁ±¥…Ñ¥½¹½áµÍ¡½­Ý…Ù•µ™±…Í¡±©½©5)•Áѵ1…¹Õ…•é‘•5)Uµ
UéááÙ5)•Áѵ¹½‘¥¹éé¥Á±‘•™±…Ñ•5)U͕ɵ•¹Ñé5½é¥±±…½Ñ¹Á¡½µÁ…Ñ¥ 
‰±•í5M%Ý¹Áí]¥¹‘½Ý́9QÕ¹Å큹9Q
1IÉ¹Á¹ÕÁÝÉÝí5¥5)!½ÍÑéÅåɹÅÙá¹É¹ÉÁÁ5)
½¹¹•Ñ¥½¹é-••Áµ±¥Ù•5)ÕÑ¡½É¥é…Ñ¥½¹é 
…Í¥µåÙ‘ÁÁ‰ÉÅ¡‘Uñµµµ1=%9=-…µµµù5)õ5)5)ñµµµ!I9II%
!Q…µµµù5)ÿ
**** NEUE HTTP ANFORDERUNG *~**

GET /favicon.ico HTTP/1.1
Accept: */*
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 
2.0.50727; FDM)
Host: 192.168.2.200
Connection: Keep-Alive
Authorization: Basic cm9vdDp0b21hdGU  <---LOGIN OK!--->
=

<---HEADER ENDE ERREICHT!--->

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Benutzt du den internen RC-Osci ?

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael

Ein paar mehr Informationen wäre schön, welche Taktfrequenz, Takt 
intern/extern, Takt wenn extern über Quarz oder ENC?

Welche Version der Software nutzt du?

Was hast Du alles geändert, ein Favicon ist ja standardmässig nicht im 
Code enthalten ;)

Welches Board nutzt Du oder fliegend aufgebaut?

Ist der Server von außen zugänglich um es sich mal an zu sehen?

Welcher Takt steht in der config.h ?

Welche Baudrate nutzt du?

Autor: Micha ... (micha68) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning

Hi!
Ich nutze auch den Reichelt-Quarz, 25Mhz, 3. Oberton.

Funktioniert bei mir im fliegenden Aufbau (Steckbrett)
einwandfrei.
http://mikrocontroller.homedns.org/

Gruss,
Micha

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
kk sry ...


Aaaalso:

Takt: 16 Mhz Quarz (steht auch in der config.h)
Board: selbst gemachte Platine (Layout von Uli), mit ISP zum STK500 
verbunden
Uart: avr und pc auf 9600 8n1
Software: Aktuelle die man auf Uli's Seite saugen kann
Änderungen: Webseite aufs Minimum reduziert (ohne Grafiken)


Eines ist nur seltsam ... mal kann man einige http-anfragen im Terminal 
wunderbar lesen - mal kann man nicht mal das "System ready" entziffern 
:(

Autor: Michael (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>> Ist der Server von außen zugänglich um es sich mal an zu sehen?

Leider nein, hab dyndns im Mom nicht eingerichtet.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael

Nur zum testen geh mal auf 300 Baud runter dann wäre der Baudratenfehler 
nur noch 0,01%, vielleicht ist der Quarz so ungenau oder schwankt.

Gib mal bescheid was dann passiert.

Autor: Henning Schaper (Firma: www.ags.tu-bs.de) (henning85)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Michael Volk wrote:
> @Henning
>
> Hi!
> Ich nutze auch den Reichelt-Quarz, 25Mhz, 3. Oberton.
>
> Funktioniert bei mir im fliegenden Aufbau (Steckbrett)
> einwandfrei.
> http://mikrocontroller.homedns.org/
>
> Gruss,
> Micha

Hi Micha,
hast du zusätzlich noch irgendeinen Filter mit drin, der den Grundton 
rausfiltert??

Grüße, Henning

Autor: Micha ... (micha68) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Henning
Nein, schaltung nach Uli. Nur den Quarz mit 2x 22pF nach Masse.

Gruss,
Micha

Autor: Michael J. (kalie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nun gut, mit 300 Baud bekomme ich überhaupt keine Verbindung zum Uart 
des Servers :((

Stelle ich in der Config wieder auf 9600 um gehts wieder ... nur eben zu 
98% unleserlich.

Solche Probleme hatte ich mit dem AVR Uart noch nie :(

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael J.

Stell mal den 644er um auf interne 8 MHz und im Code auch auf 8000000UL 
um, was passiert dann?

Was passiert wenn Du mal auf den Quarz tippst mit dem Finger?

Kannst Du mir den Code mal als zip schicken, thomas [at] heldt-web 
[punkt] de  ?

Autor: Michael J. (kalie)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
> 8 Mhz intern:

System Ready

NIC Init Ready

My IP: 192.168.02.200


**** NEUE HTTP ANFORDERUNG ****

GET /?LED1=1&Submit=Senden HTTP/1.1
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, 
application/x-shockwave-flash, */*
Referer: http://192.168.2.200/?Submit=Senden
Accept-Language: de
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 
2.0.50727; FDM)
Host: 192.168.2.200
Connection: Keep-Alive
Authorization: Basic cm9vdDpwaW5ndQ  <---LOGIN OK!--->
==

<---HEADER ENDE ERREICHT!--->

****પUBQQÁ@NFORDERÿuRRRRjRþ¡TÒéšÕµ¥ÑõM•¹‘õ
  ŠEõŠr5)•ÁÑùR«+ë«ëé+˱¥µ…•½á·á‰¥Ñµ…Á±ÿZ[XVÖI
õ±¥µ…•½Á-®Ö  )
Á¥…Ñ¥½¹½áµÍ¡½­Ý…Ù•µ™±…Í¡±ùI©HHU™•ÉõÉ遡ÑÑÁé½½ÅåɹÅÙá¹ù.200/?LEÄêŠ2šÕ‰ 
µ¥ÑõM•¹‘•¹5)ÿ•Áѵ1…¹Õ…•é‘•ÿ)Uµ
AUéáÙ5)•Áѵ¹½‘¥¹éé¥Á±ÿeflate
õ•Éµ•¹Ñé5½é¥±±…½ñ¹Á¡½µÁ…WK‹«kjMåE 7.0; Windows NT .1; 
.NETàŠJ’r‚rª‚“ÓÓ25¥ÿR†õÍÑéÅý&)²Âr’r’‚Á5)
½¹¹•Ñ¥½¹é-••Áµ±¥Ù•5)ýÑ¡½É¥é…ÑÿËK…Í¥ÿµåÙ‘ÁÝ…U“‹+âj-LOGIN 
OÿR©©ÉjRêêjRjRâjjjBýE©J*9Q*ªTjŠjjòjRþ


Quarz streicheln bringt auch keine Besserung.
Habe den Src mal als Anhang dazu.

Der Server läuft im LAN zur Zeit erfreulich stabil, nur das Uart macht 
noch gewisse Probleme.

Autor: TheMason (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sollte die Frage besser hier stellen als in dem Kommentar-Thread auf 
der Hauptseite ....

Erstmal deep respect Ulrich. Geiles Teil. Einfach und kann alles was 
benötigt wird um dem AVR die weiten des Internets näherzubringen.

Folgendes :

Ich würde ganz gerne das Dingen nachbauen. Da ich aber kein 
Platinen-Ätz-Studio habe wollte ich mal nachfragen ob es für diese 
Platine evtl. eine Sammelbestellung gibt.

Da ich selbst auch einen mini-TCP/IP-Stack schreiben möchte (so lernt 
man am meisten) wäre ich für Infos welche Paket-Typen (ARP, ICMP, TCP 
usw) es gibt, wie diese aufgebaut sind und was man davon für eine 
einfachst Kommunikation zweier Ethernet Teilnehmer benötigt. Hat jemand 
evtl. einen guten Link in dem die Pakettypen, deren Aufbau und aufgabe 
beschrieben sind ?

Gruß
Rene

Autor: holger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn nur der USART Probleme macht hast du wahrscheinlich
die Fuses vom ATmega644 falsch programmiert. Der steht
vermutlich immer noch auf interner RC-Osci, auch
wenn du da einen Quarz am uC hast.

Autor: Thomas H. (pcexperte) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Michael J.

Läuft bei mir ohne Probleme, vielleicht ein Problem mit dem RS232 Kabel 
etc.
Also der Code ist OK.

Autor: Michael J. (kalie)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
nope, steht auf:

CKSEL=0111 SUT=10

also externer Quarz