Arduino und IPS Bidirektional über Ethernet 5100 oder 28J60

HELP HELP HELP HELP HELP HELP HELP HELP HELP HELP…

Ich lese seit Monaten intensiv das Forum hoch und runter. Ich finde zwar zahlreiche generelle Einträge zu diesem Thema aber keinen ganzheitlichen Ansatz. Meist sind Arduino Files gepostet aber kein passendes PHP File.

Was ist das Ziel:
Es soll ein Datenaustausch über die ETH Schnittstelle in beide Richtungen (Nicht Seriell und nicht MOD Bus) erfolgen.
Entweder bei Variablenänderung im Arduino per Push, oder als Abfrage (z.B. zyklisch) über die IPS.

Ausserdem benötige ich eine Daten-Quittierung, da ich für das Erfassen von Zählerständen Impulse übertragen muss und dabei keine verloren gehen dürfen :wink:

Ich habe bereits einiges ausprobiert und bin mittleweile sichtlich gefrustet…

Anbei ein kurzer Überblick über die bisherigen Sackgassen:

Daten per Socket/Client hin&her schaufeln und per Stringfunktionen und vielen If/Then´s zerfrickeln.
Im Ersten Ansatz habe ich den Socket genutzt, funzt recht gut, leider nur in eine Richtung.
Was ich nicht möchte ist pro Arduino jeweils 1 Client & 1 Socketverbindung aufzubauen, da im Endausbau später einfach zu viele Arduinos im Netzwerk werkeln und bei mir die IP´s im gleichen Subnetz 192.168.2.x langsam rar werden…

per Webserver auf Arduino
Arduino Webserver über IPS Textparser abfragen. Funktioniert auch, ist jedoch bei der Anzahl der Variablen in Verbindung mit den erforderlichen Umwandlungen von String in float usw. auch kein Weg.
Vorteil: Man kann mal kurz mit dem Browser die Sachlage checken.

per http-Scriptaufruf
Der Weg mit der einzelnen Übergabe
client.println(„GET /user/String.php?987654321 HTTP/1.0“);
funktioniert auch gut, benötigt jedoch für jede Variable einen eigenen PHP 3 Zeiler.
Ausserdem konnte ich noch keine PHP Lösung für den Rückweg finden, wie ich einzelne Variablen bei bestehendem Socket zurückgeben kann.

Nach aktuellem eingelesenen & leidgeprüften Wissensstand sehe ich noch folgende Lösungsmöglichkeiten:
per JSON:
Da habe ich bereits ein lauffähiges Arduino File, das mir die Botschaft wie gewünscht erzeugt und so strukturiert ist, dass man auch ohne IT Studium erweitern kann.
Was hingegen noch fehlt ist die Gegenseite im IPS. Die jsonrpc.php habe ich bereits unter webfront/user/ eingetragen.

Leider fehlt mir jede Idee, wie ich per PHP aus dem Datenmix meine Variablen füllen soll.
(Das Ganze noch mit dem Ziel möglichst direkt ohne jegliche Variablenumwandlung zum Erhalt des Überblicks
und wegen der Limittierten 100 Vars)…
An der IPS kommt monentan als Beispiel an:

HTTP/1.1 200 OK
Content-Type: text/html
Connnection: close

{ „DATA“ : {
„POTI“ : {
„Poti eins“ : „223“},
„LDR“ : {
„LightDepententResistor1“ : „111“},
„Relays“ : {
„Relay 1 (Pumpe)“ : „222“,„Relay 2 (Stellantrieb 1)“ : „123“,„Relay 3 (Stellantrieb 2)“ : „234“,„Relay 4 (Pumpe2)“ : „145“,},
„LED“ : {
„red LED“ : „167“, „onboard LED“ : „321“
}
}}

Zum Rückweg per JSON via IPS an Arduino habe ich bisher noch nichts gefunden, jedoch auch noch nicht ausgibig gesucht…

per http get/ http put usw.
Alternativ wäre auch noch möglich einzelne Var´s per http get/put usw. auszutauschen, allerdings fehlt es mir da auch an einem guten Beispiel auf Seite des IPS…

Gibt es andere zielführende Lösungsansätze?

Hat jemand vielleicht schon eine gute, stabil laufende Lösung im Einsatz, die er für beide Seiten (Arduino & IPS posten kann?

Please help me, ich bin echt am Verzweifeln http://www.ip-symcon.de/forum/images/smilies/confused.gif
Danke im Vorab.

Atlantis