AVR Ethernet-Modul mit implementiertem HTTP-Protokoll

Gast #1531794
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_avrwebserver_smd4.html) 
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!
Gast #1531827
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!
Gast #1531834
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.
Persönliche Seite #1531836
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?
Gast #1532284
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!
Persönliche Seite #1532578
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.
Gast #1532599
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!
Gast #1532627
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.
Persönliche Seite #1532632
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.
#1532692
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

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren