Forum: Haus & Smart Home Visualisieren am PC


von Tobias R. (elkokiller)


Lesenswert?

Hallo zusammen,

ich habe mir einen CAN Hausbus mit Atmega8/32 und MCP2515 aufgebaut.
Programmiert ist das ganze mit Bascom Basic.
Die Knoten schalten derzeit Lichter und Steckdosen. Auch werden 
Temperaturen und Lichtverhältnisse abgefragt und in einem zentralen 
Knoten, der als Steuerungszentrale dient, verarbeitet.

Ich möchte nun gerne im nächsten Schritt ein Webbasierte Anzeige der 
einzelenen Schaltzustände erstellen mit der ich auch die Möglichkeit 
habe, z.B. Lichter vom PC aus ein und aus zu schalten.

Dafür habe ich mit folgendes überlegt:

Schnittstelle vom CAN Bus zum PC ist ein Mega8/RS232 - Modul (Serielle 
Schnittstelle)
Über php wird die Schnittstelle Abgefragt und auf einer, in HTML 
programmierten Oberfläche dargestellt.

Soweit meine Überlegungen.
Da ich mich nun zunächst in php einarbeiten muss, wäre es schön wenn 
sich noch andere an dem Projekt beteiligen wollen/können.

Natürrlich sind auch kritische Anmerkungen erwünscht

Tobias

von peppe (Gast)


Lesenswert?

Sehr gut, bin zwar schon ein wenig weiter, aber die Web basierte 
steuerung ist bei mir auch noch offen. Hatte da auch an Php gedacht.
Sollte dann aber auf einem Linux Router (wrt54X) laufen, damit der 
Energie bedarf gering bleibt.

Ich habe meine Knoten in c geschrieben.

bei meinem Can-2-rs232 Modul kommen die Daten wie folgt raus:
*CAN,ID,RTR,Lenght,Data[lenght],
Gesendet wird genauso. Das funktioniert auch alles.
Php auf einem Pc halte ich für nicht sinnvoll, da die Hauptaufgabe der 
Hausautomatisierung bei mir die Energie einsparung ist...


Also wenn du da was hast, würde ich mich freuen, wenn du mich darüber in 
kenntniss setzten würdest.

Da ich gerade an meiner Diplomarbeit schreibe, bleibt nicht soviel Zeit 
für die Hausautomatisierung...

viele Grüße
Peppe

von Juergen H. (harms)


Lesenswert?

Ich bin auch mitten drin - habe aber ein etwas anderes Konzept:

1. Benutzerschnittstelle und Kontrolle im normalen Betrieb ohne PC
 - wichtigstes Kriterium: ich moechte Aktionen (Aktoren Ein/Ausschalten, 
aber auch re-konfiguriern) machen koennen, ohne dafuer dauernd einen 
laufenden PC zu brauchen (z.B. der Rasen muss auch bewaessert werden 
wenn ich mit meinem Laptop unterwegs bin und in meiner Abwesenheit den 
PC ausgeschaltet habe, und der Nachbar muss in meiner Abwesenheit 
helfend eingreifen koennen).

 - Loesung: ich habe - zusaetzlich zu den Aktoren und der Steuereinheit 
- einen CAN-Knoten gebaut, der einen edip240-7 Display betreibt (die 
Moeglichkeit mehrere solche Knoten zu haben ist vorgesehen) - alle 
Benutzeraktionen koennen von ihm menugefuehrt ausgeloest werden (ich 
habe ausserdem als Alternative fuer einfache - und billig zu 
realisierende - Bedienung auch Prozessoren, die einfache Tastereingabe 
und LED Anzeige erlauben). Wenn eine solche Aktion eine Neukonfiguration 
ausloest, wird die neue Konfiguration an den kontrollierenden Knoten zur 
Speicherung auf eeprom zurueckgeschickt. Dieser Display Knoten gibt 
natuerlich auch jederzeit benutzerfreundliche Auskunft ueber den Zustand 
der Aktoren; damit ist der Druck zum Anschluss an einen PC weg. 
Praktischer Hintergrund: zurzeit haengt die Anzeigeeinheit an der 
Kuechenwand - kein geeigneter Platz fuer einen PC.

- Bemerkung: ich hatte urspruenglich versucht das mit einem 4x20 Display 
zu realisieren - war ein hoffnungsloser Fall (d.h. eine befriedigende 
Benutzerschnittstelle habe ich damit nicht zusammengebracht).

2. PC Zugriff
Das (oben beschriebene) laeuft, Zukunftswunsch (und Antwort auf Euren 
Post): ich moechte PC Steuerung fuer zusaetzliche und nicht staendig 
noetige aber aufwaendigere Kontrolle (z.B Erweiterung der Konfiguration, 
Rueckfallkonfiguration speichern, Fehlerstatistik ...) einfuehren - 
dafuer habe ich heute nur Ideen, vielleicht helfen sie bei dieser 
Diskussion: ich haette gerne eine Gateway zwischen dem CAN Bus und 
meinem Ethernet WAN (dann kann ich von jedem Desktop oder Laptop die 
Bus-Kontrolle durchfuehren). Vom CAN-Bus aus saehe das aus wie noch ein 
Knoten, angebunden mithilfe eines einfachen Protokolls.

Klingt vom Konzept her vielleicht etwas kompliziert, ist aber sauber und 
einfach zu realisieren: das Zerteilen in unabhaengig laufende 
Prozessoren ergibt leicht zu meisternde Modularitaet, das Protokoll ist 
(weil die zu verwirklichenden Funktionen einfach sind) einfach. Die 
einzige Herausforderung: den Austausch von Konfigurationsdaten flexibel, 
einfach und CAN-gerecht darstellen (d.h. mit Hilfe von 8-Byte 
Datagrammen).

Vom Programmieraufwand ist das natuerlich anspruchsvoller. Grobe 
Schaetzung: die Strukturierung und Gestaltung der Nutzerschnittstelle 
ist bei PC und CAN-Knoten vergleichbar; der wesentliche zusaetzliche 
Aufwand kommt durch die Kontrolle des Displays vom Prozessor.

von Bernd_das_Brot (Gast)


Lesenswert?

Zitat:
Mit PHP muss ein Server laufen.
Geht auch mit Purebasic: 
http://www.fhz-forum.de/download/file.php?id=239
Kann man sicher auch als Client Server machen.
Hab nur nicht so die Ahnung von Client-Server in Purebasic, müste mich 
reinlesen.
Das Beispiel zeigt nur eine Beispiel-Anwendung einer seriellen 
Schnittstelle um das "FHT 8i" Modul der Heizkörpersteuerung von E** und 
ein wenig Leuchtenschalterei.

von Bernd_das_Brot (Gast)


Lesenswert?

Übrigens gibt es auch einen Webserver mit Mega644 und dem preiswerten 
Enc28j60 in Bascom.

von T. A. (wambly)


Lesenswert?

Oder gleich das Original

http://www.ulrichradig.de/home/index.php/avr/avr-webmodule

Im Gehäuse siehts richtig PRO aus!!!

Gruss T.A.

von Ben (Gast)


Lesenswert?

Hi,

wir haben sowas weitgehend fertig. Der Status wird über Ajax-Requests 
aktualisiert.
Die Web-GUI kann dabei beliebig zusammen geklickt werden....

Demo-Accounts gibts auf Anfrage....

Weitere Infos auf hap.netmb.net

Wenn also Fragen bezüglich der Realisierung aufkommen ... nur zu...

cu,
Ben

von Christian C. (Gast)


Lesenswert?

Hallo Ben,

schön zu sehen, dass es immer noch weiter geht bei Euch.
Soll das Ganze eigentlich irgendwann kommerziell weitergehen oder wie 
ist Euer Plan?

Gruss,
Christian

von Tobias R. (elkokiller)


Lesenswert?

Hallo Ben,

dein Konzept gefällt mir recht gut.
Welche Software benutzt du für das Controller Modul und wie ist die 
Schnittstelle zum PC.
Joomla ist, wenn ich es richtig verstehe doch nur ein Webseitenprogramm. 
Gibt es dort die Möglichkeit auf Schnittstellen zu zu greifen und ein 
echtes Programm zu schreiben.

Ich habe mich in den vergangenen Tagen intensiv mit Purebasic 
beschäftigt und bin jetzt voll eingestiegen.
Habe bereits die ersten meldungen über die serielle Schnittstelle auf 
einem Frontend (exe-Datei).
Was mir im Moment allerdings fehlt ist die Schnittstelle zu einer 
Webfähigen Version. Da stochere ich noch etwas im Nebel.


Tobias

von Ben (Gast)


Lesenswert?

Hi,

auf dem Server läuft ein MVC-Framework (Catalyst). Die Config-Gui ist 
mit Extjs erstellt (www.extjs.com). Die Config-GUI kommuniziert mit dem 
MVC-Framework ausschließlich über AJAX/JSON.

Auf dem Server läuft zudem ein Netzwerk-Dämon, welcher Anfragen auf 
einem TCP-Port  entgegennimmt, diese interpretiert und auf die 
USB-Schnittstelle schiebt (und umgedreht).

Du kannst also z.B. eine Telnet-Session aufmachen und:

destination 1 device 200 set value 100

eingeben.

daraus wird dann in eine Byte-Folge konvertiert und auf die 
USB-Schnittstelle gegeben....

Die komplette Datenhaltung erfolgt in einer MySQL-Datenbank. Von dieser 
bedient sich sowohl der Netzwerk-Dienst als auch das MVC-Framework.


Ich muss da dringend mal ein Bildchen zu malen....

cu,
Ben

von Ben (Gast)


Lesenswert?

Hallo,

ich habe die HAP-Homepage mal etwas modernisiert. U.a. findet man auch 2 
Videos über die Visualisierung, so wie wir sie gelöst haben.

http://home-automation-project.netmb.net

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.