www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AVR Ethernet-Modul mit implementiertem HTTP-Protokoll


Autor: Ethernet-Modul mit HTTP Protokoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich bin gerade auf der Suche nach einem AVR Ethernet-Modul.

Es gab viele Suchergebnisse bei Google, von allen fand ich das 
Webserver-Modul von tuxgraphics.com 
(http://shop.tuxgraphics.org/electronic/detail_avrw...) 
und das Ethernut-Modul (http://www.ethernut.de/en/hardware/index.html) 
am besten.

Warum ich hier poste? Ich moechte sicher gehen, dass diese Module auch 
wirklich zwei meiner wichtigsten "Anforderungen" erfuellen (soweit ich 
der Websites entnehmen konnte, tun sie das, aber bevor ich eines der 
Module bestelle, moechte ich es gerne noch mal von euch bestaetigen 
lassen):
1. Aufgrund von Zeitgruenden haette ich gerne ein Ready-to-Go-Modul. Das 
heisst, ich kann mit wenigen initialisierenden Handgriffen direkt mit 
dem Endziel fuer mein Projekt starten, naemlich diverse HTTP-Anfragen zu 
machen: Deswegen ist es fuer mich wichtig, dass auf den gelieferten 
Modulen schon HTTP und alles was dafuer benoetigt wird schon 
implementiert ist. Soweit ich es verstanden habe erfuellen die beiden 
Module diese Anforderung. Ist das korrekt?
2. Guter Support: Wie gaengig sind die beiden Module? Wenn ich ne Frage 
haben werde, werden sich mehr Leute mit tuxgraphics oder mit Ethernut 
auskennen und mir netterweise dazu Tipps geben? Ich glaube eher 
Ethernut, oder?

Vielen Dank und einen frohen 2. Weihnachtsfeiertag!

J!M!

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was sind für Dich genau die diversen HTTP-Anfragen?
Sollen nur statische Webseiten geliefert werden oder auch SSI?
Was ist mit der Formularauswertung?

Was ist genau Dein Endziel?

Sorry, meine Kristallkugel ist über Weihnachten beim Polieren.

Autor: Ethernet-Modul mit HTTP Protokoll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Naja, ich meine vor allem damit GET-Anfragen an einen Web-Server im 
Internet.

SSI nicht, aber PHP durchaus... Macht das einen Unterschied zu rein 
statischen HTML-Seiten?

Beste Gruesse, J!M!

Autor: anonymous (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
PHP auf nem Microcontroller? Das kannst Du vergessen. PHP ist Speicher- 
und Ressourcenmäßig ein ziemlich dicker Brocken. Ich glaube noch nicht 
mal auf den OpenWRTs (und das ist immerhin nen MIPS mit 16 bis 32 MB RAM 
unter Linux) ist PHP mit dabei.

Wenn Du PHP wirklich brauchst, schau Dich am besten nach nem Atom-PC um.

Im AVR-Bereich wirst Du es nicht einfach haben eine Skriptsprache zu 
finden. Die Logik hinter der Webseite (also das, was Deine GET-Anfragen 
nach nach dynamischen Seiten entgegennimmt) sollte am besten in C 
gemacht sein. Evtl. kannst Du das mit Client-Seitiger Logik in 
Javascript kombinieren.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
anonymous schrieb:
> PHP auf nem Microcontroller? Das kannst Du vergessen. PHP ist Speicher-
> und Ressourcenmäßig ein ziemlich dicker Brocken. Ich glaube noch nicht
> mal auf den OpenWRTs (und das ist immerhin nen MIPS mit 16 bis 32 MB RAM
> unter Linux) ist PHP mit dabei.

So wie ich das verstehe, will er HTML Anfragen abschicken. Von daher 
macht es kein Unterschied ob der Server ein PHP Script ausführt oder 
nicht.

Aber wo willst du die angefragte HTML Seite denn darstellen? Display? 
Oder willst du einfach nur Daten per HTTP PUT schicken?

Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>Ich glaube noch nicht
>mal auf den OpenWRTs (und das ist immerhin nen MIPS mit 16 bis 32 MB RAM
>unter Linux) ist PHP mit dabei.

>Wenn Du PHP wirklich brauchst, schau Dich am besten nach nem Atom-PC um.
Nee, das läuft unter anderen auch ohne Probleme auf dem NGW100, auch auf 
WRTs, hier z.b. http://www.macsat.com/OpenWRT/lighttpd.php

Autor: J!M! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ja, es ist wie Simon sagt, dass ich nur HTTP-Seiten aufrufen möchte, und 
evtl. auch ein paar Daten an einen Web-Server schicken werde, aber nicht 
etwa einen Webserver auf dem Ethernet-Modul mit PHP und pipapo laufen 
lassen möchte.

Die Darstellung erfolgt auf einem LC-Display, ja.

Ich hoffe, dass ich mehr oder minder nachvollziehbar dargestellt habe, 
was ich gerne machen möchte. Erfüllt das Ethernut-Modul (Ethernut 1.3) 
diese Anforderung, ohne dass ich noch Vieles an Vorarbeit leisten muss?

J!M!

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
anonymous schrieb:
> PHP auf nem Microcontroller? Das kannst Du vergessen. PHP ist Speicher-
> und Ressourcenmäßig ein ziemlich dicker Brocken. Ich glaube noch nicht
> mal auf den OpenWRTs (und das ist immerhin nen MIPS mit 16 bis 32 MB RAM
> unter Linux) ist PHP mit dabei.

Doch, ist dabei und funktioniert auch einwandfrei.

Diese Info ist aber hinfällig, da nur ein HTTP-Client benötigt wird,
also lediglich eine TCP-Verbindung öffnen und Daten hin- und 
herschicken.
Leider kenne ich o.g. Implementationen nicht, kann mir aber gut 
vorstellen, dass das geht. Es könnte aber sein, dass GET und RESPONSE 
jeweils in ein TCP-Packet passen müssen. Ich erinnere mich an einen 
Stack, der keine größeren Datenmengen übertragen konnte.

Autor: J!M! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay, aber dieses Problem lässt sich umgehen ...

Also, ich tendiere jetzt zu Ethernut statt tuxgraphics. Da ich mir auch 
ziemlich sicher bin mittlerweile, dass eben HTTP schon implementiert 
ist, bin ich auch kurz davor es mir zu bestellen. Nur eine Sache noch 
bezüglich evtl. Fragen in der Zukunft: Besitzt jemand schon ein 
Ethernut-Modul und hat Erfahrungen damit gemacht/kennt sich damit aus?

J!M!

Autor: Christian H. (netzwanze) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dumme Frage: Wie drückt sich das Ethernut-Nodul (welches hast Du dir 
ausgewählt) in Euro aus?

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was willst du denn machen? Sollen die HTTP Daten auch geparst werden? So 
wie eine Art Browser? Das wirst du nämlich in keinem Projekt finden.

Autor: J!M! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ethernut 1.3.

In Euro, so an die 140 €.

Nö, parsen mach ich schon. Aber dass die gelieferte API mir schon 
Funktionen bietet wie Verbindung zum Server aufbauen, Anfrage senden, 
Antwort entgegennehmen etc.

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ach so. Ja das können eigentlich so gut wie alle. Zumindest eine 
Verbindung aufbauen. HTTP Unterstützung braucht man dafür ja eigentlich 
nicht. Einfach TCP Verbindung öffnen und die Headerdaten raushauen. Beim 
Empfangen dann auf die zwei \r\n warten, danach kommen die Nutzdaten.

Ein großes Problem ist aber immer, dass (mangels Puffer) man keinen 
"Stream" an HTTP Daten hat, sondern die Daten immer paketweise 
verarbeitet werden müssen. Und da muss man beim parsen halt drauf 
achten, dass ein Tag auch über zwei Pakete sich erstrecken kann.

Autor: J!M! (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Okay danke!

Autor: Dirk Broßwick (sharandac)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Simon K.

Nee, das ist nicht bei allen Projekten so das man keinen Stream hat. Ich 
selber habe bei meinem Projekt [1] alles komplett entkoppelt, so das man 
einen Byteweisen Stream bekommt. Das was auf der Netzwerkschicht 
passiert bekommt man nicht zu sehen, darum kümmert sich der Stack. Und 
nebenbei zerlegt er einem noch den GET-Request in seine Bestandteile und 
hat ein definiertes CGI-BIN Interface wo man alles vorgekaut bekommt und 
sich nur noch das raussuchen muss was man braucht.

CA Dirk

[1] http://wiki.neo-guerillaz.de

Autor: Simon K. (simon) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mag schon sein. Gut, war arg verallgemeinert. Aber die gleiche 
Voraussetzung wie auf dem Rechner hat man einfach nicht, mangels 
Speicher.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.