Go Down

Topic: Einfacher Webserver - was macht Sinn? (Read 706 times) previous topic - next topic

elektron_

Hallo,

ich möchte gerne so eine Art Steuerung mit Webbrowser bauen. Also einige wenige digitale Ein und Ausgänge, ein paar alaloge Eingänge (z.B. Temperatur und andere Sensoren).

Als Bedienoberfläche soll eine halbwegs ansehnliche HTML Seite hinterlegt sein. Kein großartiges Webdesign mit Animationen oder so, aber schon sauber formatiert und mit ein paar einfachen grafischen Elementen wie z.B. Bilder als virtuelle Schalter und einer simplen Visualisierung analoger Werte (Balkenanzeige?)

Hat hier jemand Erfahrung was man dazu verwenden soll?
Geht so etwas mit einem Mega, die Webseiten (HTML,...) auf einer SD Card und einem Ethernet Shield vernünftig? Welche Softwarebibliotheken sind gut? Reicht eventuell auch ein "kleiner" Arduino mit ATMEGA328 ?

Ein Modul mit einem ENC28J60 hätte ich noch im Fundus, das ist aber wohl nicht so ganz das Wahre, oder?

Schönen Dank im Voraus,
Christian
Elektronik funktioniert intern mit Rauch.
Beweis: Wenn der Rauch herauskommt ist es kaputt...

mkl0815

Wenn Du den HTML-Code sehr kompakt schreibst und brav im Flash-RAM ablegst, könnte ein Atmega328 knapp reichen. Spannender ist das ENC28J60. Hier gibt es zwar Bibliotheken die bereits einen fertigen Webserver umsetzen. ABER. Alle Libs für diesen Ethernet Chip die ich bisher gesehen habe implementieren TCP (und damit die Basis für HTTP) unvollständig. Es kann bei einem Verbindungsaufbau immer nur ein einziges Antwortpaket geschickt werden. TCP-Streams habe ich bisher nirgendwo gefunden, da das Protokoll recht komplex ist (TCP-Sequenznummern, retransmitt,  . Solange also die Webseite oder das "Bild" oder was auch immer Du an den Client lieferst, in ein TCP-Paket passt, dann ist alles schick. (bei default MTU bleiben bei TCP in der Regel 1460 bytes an Nutzdaten).
Kurzes Beispiel: http://commons.wikimedia.org/wiki/File:Tcp_transfer.png
Mario.

skorpi08

Webduino und TinyWebServer, einfach mal bei Google eintippen. Ich bevorzuge TinyWebServer, wo die Daten auf der SD Karte abgelegt sind. Allerdings ist es mir zu langsam, ich würds gern auf einem Webserver ablegen, der auf den Arduino zugreift.
Nicht Mensch, nicht Tier: Programmierer halt...

Udo Klein

Meiner Meinung nach ist der Arduino für Webanwendungen einfach eine Nummer zu klein. D.h. ich würde für sowas eher einen Raspi oder was ähnliches nehmen. Wenn es sein muß kann man den Arduino auch als IO Erweiterung an den Raspi hängen. Man muß nicht alles tun nur weil es technisch geht.
Check out my experiments http://blog.blinkenlight.net

mkl0815

Zumal ein Raspi weniger kostet als ein Arduino Ethernet oder ein Uno mit Ethernetshield. Beispiele um I/Os zu setzen und zu lesen gibt es im Netz genug. Zum Schalten reichen die 3.3V und  maximal 16 mA für einen ULN2003 oder ULN2803. Zum Lesen kann ein Spannungsteiler verwendet werden, um auf die max. 3.3V Input zu kommen.

Go Up