Hallo @all, zunächst mal guten Tag. Ich bin neu hier und sehr begeistert was sich mit den Prozessoren der Atmega-Serie so alles anstellen lässt. Natürlich habe ich auch eine Idee und dazu gleich mal eine Frage. Ausgangssituation: Ich habe eine funktionierende Schaltung mit einem Atmega8 der über SPI mit dem ENC28J60 zusammenspielt. Das ganze hängt über Magjack am Ethernet und funktioniert soweit ganz gut. Natürlich habe ich auch die Toolchain und diese ganzen Sachen am Laufen. Mein Ziel ist es auf diesem Chip eine Art Mini-Webclient zu installieren, welcher mir eine fixe Adresse in regelmäßigen Abständen abruft und den Inhalt (Text maximal 40 Zeichen) auf einem LCD ausgibt. Mit LCD meine ich 2x20 Zeichen, nicht Dotmatrix oder sowas. Solche Ideen wurden in 2-3 Beiträgen bereits angesprochen aber soweit ich weiß nie wirklich gelöst. Ich kann mir vorstellen dass es mit der vielzitierten uIP Lösung von Adam Dunkels funktionieren müsste, habe aber auch gelesen dass diese für den Atmega abgeändert werden sollte. Den Port selbst habe ich nicht gefunden. Mich interessiert eure Meinung dazu, bevor ich mich hier weiter reinkniehe. Vielen Dank schon mal. Volker
Hallo Volker, sollte eigentlich nichts dagegen sprechen. Du startest per TCP eine verbindung zum server mit einem SYN Request. Dann kommt vom Server ein ACK zurück und dann forderst Du mit "GET /dieSeitedieduhabenwillst" die seite an. Jetzt musst du nur noch die Textinformation aus dem Paket rausfiltern und an dein Display schicken. Evtl. muss Du noch abschliessend auf ein FIN Paket antworten, oder selber ein FIN Paket losschicken. Wenn Du bereits den ENC am laufen hast mit TCP, dann brauchst Du deine software nur noch ein bisschen zu erweitern. Einen anderen TCP/IP Stack brauchst Du dafür dann nicht. Wenn Du das testen willst dann logge mal den Datenverkehr mit Wireshark mit, wenn Du die Seite vom PC aus abrufst. Gruß Frank
Vielen Dank für die Schnelle Antwort. DHCP hätte ich dann aber noch nicht, oder? Grüße vom Bodensee Volker
Volker Biberger wrote: > DHCP hätte ich dann aber noch nicht, oder? Wenn der ENC28J60 schon läuft, dann müßte er doch auch eine IP haben. Und wenn er die hat, läuft entweder ein DHCP-Client oder sie ist fest vergeben.
Hallo Volker, entschuldige, aber die frage verstehe ich jetzt nicht. Normalerweise wird der DHCP request vom Webserver beim Starten der Applikation einmal ausgeführt und dann bekommt deine Schaltung eine IP und diverse andere nützliche Informationen mitgeteilt. Im übrigen läuft DHCP über das UDP Protokoll, d.h. da musst du eigentlich gar nicht dran um webseiten abzurufen. Da TCP Protokoll. Gruß Frank
Ah. Mist. Erst denken dann posten (werde ich in zukunft machen). Ich hätte gerne einen DHCP-Client drauf und möchte gerne wissen ob ich das uip einfach nehmen kann, ober ob ich für DHCP uip gar nicht brauche. Tschuldigung, hatte das mit dem DHCP vergessen zu schreiben. Derzeit nutze ich eine feste IP-Adresse und werde damit weiter herumprobieren. Danke für die Antworten Volker
Hallo Volker, so genau kenne ich den UIP Stack nicht, aber mir hat aus diesen Thread Beitrag "ENC28J60 Basics[Beispielprogramm in AVRGCC für atmega8]" der code von Dirk Broßwick weitergeholfen. Die Informationen in der Wikipedia sind diesbezüglich etwas dürftig. Ich würde aber unbedingt empfehlen einen DHCP Server auf einen PC zu installieren und mir dann mit Wireshark den Datenverkehr zwichen ENC und PC anschauen. Sonst sucht man sich nämlich einen Wolf, weil man nur das erste ausgehende Paket vom ENC sieht und nicht die Antwort vom DHCP Server. Als DHCP Server Software habe ich dhcpd32 von dieser Seite benutzt: http://tftpd32.jounin.net/ Diese Software scheint es aber anscheinend nicht mehr zu geben, aber tftpd32 soll ebenfalls einen DHCP Server enthalten. (Habe ich aber noch nicht getestet) Also DHCP sollte auch in deinem bereits vorhandenen Programm zu implementieren sein, ist aber etwas aufwändiger als das blosse abfragen einer webseite. Gruß Frank
Hallo, nach verschiedenen Versuchen komme ich nicht weiter: 1) Einen ARP-Aufruf habe ich abgesetzt und die MAC-Adresse kommt auch zurück 2) Den Code für SYN-ACK und ACK habe ich, ich schaffe es jedoch nicht einen SYN-Aufruf abzusetzen, da ich den ja erst mal komplett bauen müsste. Jetzt ist die Frage wie ich am besten weiterkomme. Alleine wohl eher nicht. Gibt es jemanden im Bereich ALDI Süd der mal Zeit hätte mit mir diesen rudimentären IP-Stack zu bauen oder einen anderen abzuspecken und zu integrieren. Ich glaube nicht, dass ich alleine weiterkomme. Vermutlich müsste ein Tag reichen. Falls Ihr alternativ-Vorschläge habt, wie ich in diesem Problem weiterkomme, dann bin ich dafür auch dankbar. Meine Anforderung ich habe ist oben ja beschrieben, ich hoffe, das reicht zu einer Einschätzung der Lage. Hier zur Sicherheit nochmal in kurz - Vergesst DHCP - brauche ich doch nicht - Ich möchte einen Ziel URL und eine statische IP Adresse angeben (hardcoded) - Der Return der Seite soll ausgewertet und zum Beispiel auf dem Display angezeigt werden. - Hardware ist Atmega8 & ENC28J60 sowie ein 2 x 20 Zeichen Display und das funktioniert auch schon. - Als Server funktioniert das ganze (also Aufruf durch Browser und Darstellung von Inhalten auf dem LCD) - Als Client welcher sich die Daten automatisch selbst holt nicht. Vielen Dank für eure Antworten. Gruß Volker
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.