Ethernetshield: Webserver aufsetzen

Hi,

ich möchte gerne meinen Arduino übers Internet steuern bzw. Daten einsehen.
Mein aktuelles Setup sieht wie folgt aus:
Ein Arduino Mega2560 mit EthernetShield und XBEE kommuniziert über das Ethernetshield und der Z_OSC library mit meinem iPhone (Touch OSC App). Die Befehle, die über OSC eintreffen, werden über das XBEE shield an insgesamt drei weitere Arduino Nanos weitergeleitet: dadurch kann ich u.a. eine LED Lampe steuern und gleichzeitig die Temperatur der Kühlkörper auf dem iPhone ablesen.

Alternativ zur iPhone Steuerung und Datenanzeige möchte ich das ganze gerne auch von unterwegs einsehen und ggfs. zB ein Funksteckdose ein/ausschalten. Da ich mich erst langsam in das Thema Webserver einlese, wollte ich mal nachfragen, ob es hier schon gute Projekte gibt, wo man sich was abschauen kann. Vielleicht habt ihr auch Links zu hilfreichen Tutorials (DE oder EN ist egal). Mein bisheriges Verständnis ist, dass ich ein HTML Projekt auf einer SD Karte speichere und die Seite dann von außen über
dyndns (oder alternativen) lade. Tiefer bin ich leider noch nicht drin, komm ich aber rein :wink:
Wäre super, wenn ihr mir helft 8)

VG
Thorsten

Hallo Thorsten,

ich hab es damals wie folgt einen Webserver aufgesetzt. Einfache Webseiten gehen damit sehr gut.

hi,

meine lichtsteuerung zuhause:

http://forum.arduino.cc/index.php?topic=156252.msg1170775#msg1170775

gruß stefan

Hi,

@ sschultewolter:
So wie ich das verstehe funktioniert der Zugriff aber nur über das heimische Netzwerk und nicht übers INternet oder?

@ Stefan:
Sieht gut aus, hoffe ich steig da durch. Werd mir das mal in Ruhe anschauen und zu verstehen versuchen.

VG

currymuetze:
Hi,

@ sschultewolter:
So wie ich das verstehe funktioniert der Zugriff aber nur über das heimische Netzwerk und nicht übers INternet oder?

Heimische Netzwerk ohne Probleme. Wenn du das von Aussen erreichbar haben möchtest würde das auch gehen. Die Frage ist, was dahinter hängt. Unwichtige Sachen kann man auch ohne Passwort laufen lassen. Um es Internetfähig zu machen besorg dir eine DynDns oder lese jedesmal deine WAN IP aus. Dann noch im Router den Port 80 mit Portforwarding auf die IP des Arduino.

Wenn du die Website ein bisschen aufwendiger haben willst, zb. mit Grafiken (png , jpg) ist das Laden von der SD extrem langsam.
War zumindest bei mir so.
Da wir ja eh im WWW sind nutze ich einen entfernten FTP wo die Ressorcen liegen.
Der Zugriff ist dann z.b. so:

 client.println("<img src=\"http://www.xxxxxx/xxxxx/state.png\" width=\"100\" height=\"50\">
");

Ich denke das könnte man auf die Spitze treiben - Die Website an sich läuft auf einem entferntem Server.
Der Ardruino schickt oder holt nur noch die Daten ab.

Weiß jemand ob es WordPress Plugins gibt um eine Arduino Kommunikation einzubinden?

Ansonsten ist mir im ersten Schritt das Design egal. Text und einfach Buttons reichen mir völlig aus. In erster LInie geht es mir hier nur um die Fernüberwachung im Urlaub

Ein fertiges Plugin kenn ich nicht, müsstest vermutlich was eigenes machen. Eine Seite vom Arduino entsprechenden parsen. Sprich, die Werte herausfiltern und wiedergeben. Hab aber noch kein Tut gesehen, wo dieses mit Arduino realisiert wird. Theoretisch wäre es möglich, frage ist, wie es sich verhält von der Geschwindigkeit.

currymuetze:
Weiß jemand ob es WordPress Plugins gibt um eine Arduino Kommunikation einzubinden?

Wenn es eh eine Webseite gibt, dann würde ich dem Arduino kein HTTP aufzwingen, da hier viel zu viel Overhead entsteht. Lieber mittels PHP vom Webserver direkt per TCP auf den Arduino zugreifen über ein eigenes, passendes Protokoll und dann die Werte weiterverwenden.
Sowas hatten wir doch mal als Ventilsteuerung für eine Gartenbewässerung. Such mal "Arduino Ausgang per web schalten mit php" oder so ähnlich in der Suche. Falls ich den Beitrag wiederfinde, schreib ich ihn hier noch dazu.
Das war am Ende schon recht weit was die Kommunikation zwischen PHP und dem Arduino anging. Das am Ende in ein WP Plugin zu giessen sollte überschaubar sein. Über ein WordPress short_code könnte man dann Werte vom Arduino direkt in den Post/Page Text einbauen.
Mario.

Edit: Hier ist der entsprechende Thread: Ausgang per Web schalten mit PHP - Deutsch - Arduino Forum

Meinst du sowas hier?

Ich hab hier noch einige Ethernetshields und Module liegen. Nutze die meist garnicht, da wie du schon beschrieben hast, die html Struktur für den Arduino schon keine leichte Sache ist. Als All-In-One Lösung würde mir da höchstens noch der Yun einfallen. Dort gehts auf jedenfall besser mit der Linino Unterstützung, aber portable ist dass defentiv nicht mehr. Der brauchst sein Netzteil, oder eine Auto/LKW Batterie :wink:

Dass was mkl0815 gepostet hat, ist wie ich finde die beste Methode. Hab es genau so gemacht, besser gesagt nachgemacht :smiley:
Ist nicht so lahm wie von SD Karte lesen und man hält den Arduino frei von HTML Code.
Hier gibts noch paar Layouts und evtl Antworten auf einige deiner Fragen:
http://forum.arduino.cc/index.php?topic=182861.0
http://forum.arduino.cc/index.php?topic=184468.msg1367524#msg1367524

Um eine WIFI Methode kannst du dich hier informieren: Arduino + Ethernet Shield kabellos mit Router verbinden - #4 by skorpi080 - Deutsch - Arduino Forum

Sonst gibt es noch sowas: BlinkLed5_new.zip
Da wird allerdings von SD Karte gelesen, in meinen Tests gabs Verbindungsfehler wo der Arduino der Server ist.

Ich weiß nicht genau ob es das ist was du suchst: http://playground.arduino.cc/Code/TextFinder

@sschultewolter: Den Poldi Link finde ich sehr g**l, genau das meinte ich der Arduino schiebt nur noch die Daten in den Webspace auf dem die Seite läuft.

Hab den seit geraumer Zeit in meinen Lesezeichen, aber noch nachgebaut. Wollte demnnächst erst einmal den Angriff wagen, das ganze mit dem YUN als AiO zu realisieren.