Hallo Zusammen,
ich bin auf der Suche nach einer Lösung bzw. Ratschlägen zur Herangehensweise für mein Heimautomatisierungsprojekt und würde mich freuen, wenn ihr mich unterstützen könntet.
Kurzfassung:
Suche eine Lösung, um über eine Webseite, die auf einem Raspberry Webserver läuft, mein Bussystem zu steuern.
Langfassung:
Unser Haus ist mit einem Bussystem von net4home ausgestattet, d.h. Licht, Jalousien, Heizung etc. können elektronisch geschaltet werden. Für diesen Bus gibt es eine serielle Schnittstelle, die ich soweit nachgebaut und eine entsprechende Klasse programmiert habe, dass ich mit dem Arduino sowohl auf dem Bus lesen als auch schreiben kann (falls jemand Interesse daran hat, kann ich den Code gerne zuschicken).
Nun möchte ich im lokalen Netzwerk einen Webserver betreiben, der mir eine Seite bereitstellt auf der ich den Status der diversen Busteilnehmer sehen kann bzw. über die ich Lichter an- und ausschalten kann. Hier hab ich mir aus den Beispielen vom Ethernetshield auch schon mal was zusammengebaut, dass ich über eine Webseite, die direkt auf dem Arduino lief, LEDs an und aus geschaltet habe. Theoretisch müsste ich die beiden Sketches nur noch miteinander verheiraten, um mein Ziel zu erreichen, allerdings setzt der geringe Speicher des Arduino einer umfangreicheren Seite, die das ganze Haus mit allen Schalten und Sensoren abbildet, doch recht enge Grenzen.
Daher war meine Idee das Ganze mit einem Raspberry, auf dem dann der Webserver läuft, umzusetzen. Etwas ähnliches habe ich auf
http://www.fritz-hut.com/arduinopi-web-based-controller-for-arduino/
auch schon im Netz gefunden, allerdings findet die Kommunikation von Arduino und Raspberry da über die serielle Schnittstelle statt, und die ist bei mir schon mit dem Bussystem belegt (Software Serial würde ich zum Empfangen ungern nutzen). Dazu kommt noch, dass ich von php bislang keinen blassen Schimmer habe, und mich die Abstraktion von serieller Schnittstelle (wie im Beispiel) auf Ethernet (wie in meinem Fall) bislang überfordert.
Nun habe ich folgende Fragen:
- Was ist aus eurer Sicht ein sinnvoller Weg mein Ziel zu erreichen?
- Kann man die serverseitigen Skripte auf dem Raspberry auch in Python schreiben und einbinden, da habe ich im Gegensatz zu php zumindest schon mal Fingerübungen gemacht.
- Hat jemand ein Codebeispiel einer HTMLSeite (mit welcher Skriptsprache auch immer), die bei Klick auf einen Knopf einen Statusrequest/Befehl via Ethernet an einen Arduino schickt.
- Wie stelle ich in meinem Szenario sicher, dass die Webseite ein Update erfährt und an den Client sendet, wenn sich ein anzuzeigender Wert ändert, ohne das ich vorher aktiv angefragt habe? Polling?
- Die Kür wäre das Codebeispiel aus Punkt 3 mit jQuery Mobile, damit es auch noch hübsch aussieht XD
Zu meinen bisherigen Programmiererfahrungen:
In C++ und mit der Arduino IDE komme ich für den Hausgebrauch gut zurecht. Python und HTML habe ich rudimentäre Grundkenntnisse, die zum Lesen und verstehen/nachbauen/ändern reichen, aber nicht um selbstständig große Dinge zu erfinden.
Schon mal besten Dank an alle, die bis hierhin gelesen haben. Ich würde mich freuen, wenn jemand ein wenig Licht ins Dunkel bringen könnte.
Gruß
Felix