1, CGI im weitesten sinn, ja. Du kannst webseiten auf dem arduino dynamisch generieren, je nachdem,. welche requests mit welchen GET/POST-variablen vom client kommen. aber das mußt Du selbst programmieren, abkürzungen wie PHP gibt's meines wissens nicht.
2, dazu findest Du anleitungen hier im forum und sicher auch im playground.
3, kannst Du an den PC anschließen, aber nimm ein crossover-netzwerkkabel. kann auch mit normalem gehen, muß aber nicht. probieren kannst ja...
5, ja, die ip-adresse definierst Du genauso wie die subnet-mask und die mac-adresse im sketch.
zu 1) ich würde einfach mal nein sagen. Grund: Auf den Webserver muss auch die Applikation von PHP oder CGI laufen und das könnte vielleicht ein Speicher- und Geschwindigkeitsproblem geben.
Vielleicht hat ja noch ein anderer User eine andere Meinung.
zu 2) ebenfalls ein nein. Auch als InternetServiceProvider braucht man Unmengen von Speicher
zu 3) besser wäre es, wenn das LAN-Kabel an den Router käme, zumal braucht dann die Kiste nicht ständig mitzulaufen. Man kann aber auch eine Verbindung über einen PC "durchrosten"
zu 4) die IP lässt sich natürlich ändern
mit ISP ist hier wohl nicht internet service provider gemeint.
cgi mehr oder weniger schon, weil der arduino ein- und ausgabekanäle zur verfügung stellt und meines wissens auch ein paar umgebungsvariablen, damit wäre die definition laut wikipedia erfüllt. aber ich glaube, das meint addi ja garnicht, müßig zu diskutieren, was nun CGI genau sei.
was man kann, ist requests an den webserver schicken (per GET oder POST), und der verhält sich dann je nach programmierung dementsprechend. er schaltet zb. ausgänge des arduino. außerdem kann er als antwort auch eine dynamisch generierte webseite schicken. er ist also durchaus nicht statisch und kann eben nicht nur eine vorher fix geschriebene seite zur verfügung stellen, wie das vor cgi war.
CGI geht nicht, der Arduino hat genau genommen nicht mal einen Webserver, auch den musst Du selbst implementieren. Es nimmt Dir also niemand ab, die Request-Line und/oder die Header der HTTP-Anfrage selbst zu parsen und entsprechend darauf zu reagieren. CGI heisst, der Server analysiert die Anfrage selbst und ruft dann ein separates Programm auf, das die Anfrage beantworten soll. Die Parameter-Übergabe geschieht über Umgebungsvariablen. Der Arduino hat kein Betriebssystem und kennt somit auch keine Umgebungsvariablen, schon gar keine Prozesse. Eine Mikrokontroller-Plattform ist nun mal nicht mit einem ausgewachsenen PC vergleichbar, auf dem ein Multitasking-OS läuft.
Wenn Du die Einfachheit einer Serverplattform im Embedded-Bereich haben willst, wähle eine der zahlreichen Linux-Plattformen, dort kannst Du je nach RAM-Kapazität sogar so Sachen wie PHP laufen lassen.
Für das was man da so plant wäre es zum Beispiel möglich ein raspberry pi mit anzudocken, da kann man seriell einlesen und einen echten Server laufen lassen. Ist eh günstiger als das dann frei werdende Shield. Bedauerlicherweise sind die Leute bei der Lieferung ein wenig im Rückstand
genau diese dikussion, was cgi nun ist, wollte ich vermeiden. das hilft nicht weiter. und was er plant, wissen wir ja nicht. was geht, hab' ich gesagt, für alles andere müssten wir mehr infos haben, was addi machen will.
Ein ISP ist meiner Meinung nach keine Geldverschwendung, die Vorteile gerade bei Benutzung des Arduino Ethernet liegen ja auf der Hand: Zum einen musst du keinen weiteren Programmieradapter kaufen, der in ähnlichen Preisregionen wie der ISP liegt. Der Hauptvorteil aber ist, dass du mit ISP auch nicht auf den Bootloader angewiesen bist, dass spart nicht nur Speicherplatz, der Mikrocontroller startet auch schneller. Das liegt daran, dass der Bootloader einige Augenblicke am UART lauscht, ob ein neuer Sketch aufgespielt werden soll.
genau so eine kleine hausautomatisierung hab' ich. einstweilen schalte ich die 26 led-lampen im wohnzimmer über eine webseite, da soll dann noch mehr dazukommen (andere zimmer, raffstores, wenn die neuen fenster da sind, heizung usw.). sowas ist problemlos möglich...