Visualisierung und Steuerung von Arduinos im Heimnetz

Sehr geehrte Community,

als erstes mal eine kurze Vorstellung, bevor ich mit meinen ersten Fragen anfange :wink:

Im Thema Microcontroller-Programmierung bin ich mehr oder weniger ein totaler Noobie, aber als Mechatronik Techniker hatte ich wĂ€hrend meiner Ausbildung das VergnĂŒgen, C Programmieren mehr oder weniger gut zu erlernen. Da ich dieses Wissen lange nichtmehr benötigt habe, sitzt das auch nicht so ganz gut :wink:
In Ablaufsteuerungen via SPS ala Siemens oder Phönix bin ich eigentlich ziemlich fit, weiß nur nicht immer so Recht wie ich das C- konform anpacken kann soll, was ich vor habe.

So nun zu meinem Projekt,

in meinen Neubau-Haus wird ein großzĂŒgig ausgebautes Heimnetz eingerichtet. In dieses Heimnetz möchte ich gerne ein paar Arduinos einsetzen fĂŒr unterschiedliche Zwecke.

konkrete Gedanken verschwende ich derzeit an Folgendem:

Obergeschoss: 1x Arduino fĂŒr Alarmanlage
Erdegschoss: 1x Arduino fĂŒr Alarmanlage + 1xArduino Lichtsteuerung
Trepper EG → OG 1x Arduino als Treppenlichtsteurung
Außenstation → 1x Arduino fĂŒr Weinachtsbeleuchtung und evtl GartenbewĂ€sserung oder

Keller 1x Arduino als Alarmanlage

mit dem Treppenlicht hab ich mich nun mal 2 Abende auseinandergesetzt und mich dabei auf meine leider nicht allzu tief sitzenden C-Restkenntnissen und etwas Internetrecherche verlassen.
Einen kleinen Probe-Sketch hab ich mal zusammen geschrieben, welcher sich im Anhang befindet, fĂŒr konstruktieve ForschlĂ€ge wĂ€re ich sehr dankbar :slight_smile:
Der Probesketch ist noch recht einfach gehalten, da ich außer einem Arduino, 5 LED’s und und einem Taster nichts weiters daheim habe momentan.

Was nun aber eigentlich meine Grundfragen sind:

Ich wĂŒrde gerne die Ein/AusgĂ€nge der einzelnen Arduinos auf 1-2 kleinen Tochscreen’s die im EG und OG ĂŒber Netzwerk angebunden sind, visualisieren.

Und genau um diese Clients dreht sich meine Frage:

Die Ein/Ausgabe auf den Arduino-Boards sollte ĂŒber Web-Browser innerhalb des Heimnetzes ĂŒber diese Touchscreens visualisiert und gesteuert werden. (vieleicht könnt ihr mir da einen grundlegend anderen Ansatz nennen, da ich derzeit weder/noch Kenntnisse habe und mich dann zielorientiert informieren möchte)
Da weis ich eben nicht wirklich, in welche Richtung ich da gehen soll mit den Zentralen und welche Programme fĂŒr so eine VisualisierungsoberflĂ€che via Netzwerk + Arduino + Client-Touchscreen als Zentrale in frage kommen kann.

Die einzelnen Programmlogiken sollen auf den jeweiligen Boards unabhĂ€ngig ablaufen und Über eine “Zentrale Homepage” sieht man die Übersicht der im Netzwerk befindlichen Arduinos.
Die einzelnen Stationen können ausgewÀhlt werden und man switcht smoit in dessen Detail-Ansicht.

Könnt ihr mir da Tipps geben, wie ich dieses Gesamtprojekt angehen sollte/kann, welche Software fĂŒr so eine Visualiesierung in Frage kommt und was fĂŒr ein GerĂ€t als Touch-Zentrale in Frage kommen sollte. (zb. Raspberry+Touc? WindowsClient? Android Tablet?)

Ich hoffe, Ihr habt die Geduld meinem Gedankenwarnsinn zu folgen und ich wĂ€re euch fĂŒr jede Hilfe sehr dankbar :slight_smile:

Im Anhang

1x Probesketch Treppenlicht
2x Beispielbilder

ZentraleBeispiel2.PNG

V3.ino (2.66 KB)

Hallo,

das Projekt wird der vermutlich zu groß werden fĂŒr den Anfang. Wie lange hast du Zeit fĂŒr die Realisierung? Wenn es schnell gehen muss in wenigen Wochen, wird das nichts. Wenn das ganze aber StĂŒck fĂŒr StĂŒck aufgebaut werden kann, sollte das nicht zu kritisch sein.

Kommunikation bietet sich Modbus an. Siehe skorpi's Threads. Einfache Toucheingaben kann auch ein Arduino erledigen. Sieht fĂŒr mich nicht sonderlich ansprechend aus, aber mit dem Raspberry wirds da auch nicht besser, ausser der Geschwindigkeit.

Das mit der Alarmanlage wĂŒrde ich komplett rauslassen, dass ist Spielerei. Funktioniert diese nicht korrekt, werden bald deine nĂ€chsten Nachbarn sauer -> Fehlalarme. Des weiteren hast du auch keinen Vorteil bei der Versicherung, die werden sowas nicht zulassen als verbesserten Einbruchschutz.

Fang am besten mit dem Treppenlicht an. Dazu eignet sich ein ordentliches Netzteil sowie die WS2812B Leds.

Schau dir folgendes an.... openhab.org haus-bus.de knx-user-forum.de mein Thread, Taster mit RS485 fĂŒr haus-bus.de Thread von volvodani, Home Automation HMI, RS485 Kommunikation

Wenn dir solche Platinen als Taster zusagen und du Geld aber keine Zeit hast, kannst du auch direkt bei den Kollegen von haus-bus.de kaufen, verschiedene Varianten. Einfach nachfragen. Wenn dir das alles noch nicht zusagt, werd ich bei Gelegenheit noch paar Links posten, bin grad mit Handy unterwegs.

hi, und willkommen im forum,

wenn die dinger wirklich unabhĂ€ngig voneinander sein sollen, brauchst Du auch kein bus-system. dann besorg Dir zuerst mal ein ethernet-shield. damit kriegst Du den arduino ins heimnetzwerk. ich poste Dir den sketch, mit dem ich mein licht ĂŒber eine webseite auf dem handy oder computer schalte (so angepaßt, daß es erstmal die led auf dem arduino schaltet).

gruß stefan

Hallo zusammen!

Erstmal vielen Dank fĂŒr die flotten und konstruktiven RatschlĂ€ge. Da habe ich nun einiges an Material, welches ich erstmal verarbeiten muss :-)

Ein Bus-System wollte ich nicht zwingend aufbauen. Ich denke, mit einer Web-Page könnte man das schon ganz gut realisieren.

Um das aber schön visualisieren zu können, gibt es doch bestimmt irgendwelche Programme, die zB auf einem Android Tablet oder so laufen.

Es sollte halt eine "Zentrale" Homepage möglich sein, in der Alle Arduinos aufgelistet sind, mit Status und evtl 1-2 Meldungen und Bedienfelder. Klickt man dann auf einer dieser Arduinos, so wechselt die Ansicht in dessen Detailansicht und es sind mehrere Statusmeldungen und BedienflĂ€chen verfĂŒgbar.

Kann mir da jemand ein Programm nennen? oder gibt es sowas nicht und man muss sich mĂŒhsam eine Webpage mit Graphischer OberflĂ€che erstellen? (keine Ahnugn wie soetwas funzt)

@ EisbĂ€r: Gerne wĂŒrde ich das Angebot annehmen, mit dem Sketch, könntest Du mir das bitte zusenden?

@ Alle: Welche Unterputz-Taster und Unterputz- Bewegungsmelder etc. können mit dem Arduino betrieben werden? So wie ich das mit den Tastern und Schaltern von Hausbus rauslese, benötige ich ja eine RS485 Kommunikation? Oder lassen sich diese auch ganz normal als DI/DO abfragen und ansteuern(Schalterbeleuchtung)?

Das mit der Siemens HMI finde ich auch sehr interessant, leider finde ich nur die Siemens-Dinger zu teuer, da könnte ich ja gleich ein Bus-System von der Stange holen, aber technisch sehr interessant!!!

Allgemein pressiert es mich mit dem gesamtprojekt nicht so wirklich. Mein Haus wird gerade gebaut (Keller steht, EG fast fertig und die nÀchste Decke kommt bald)

Als erstes möchte ich das Treppenlicht vollenden, sobald alle Bauteile da sind. Dann geht es an die Lichtsteuerung im EG.

NÀchster Schritt wÀre dann, das Ganze ins Netz einzubinden und dann Eben die Zentrale Touch- Bedieneinheiten.

Was sollte ich denn noch bei meinem Neubau beachten, damit ich spĂ€ter mal möglichst viel automatisieren kann? Ich hab mir ĂŒberlegt, vom Netzwerkverteiler aus, Leerrohre auch zu den einzelnen Stromkreis-verteilern in den jeweiligen Zimmern zu verlegen. Somit sollte ich ja dann mit den Leitungen von der "Logik-Zentrale" in jedes Zimmer kommen und kann somit die Aktoren steuern?

Oder habt ihr da bessere Ideen? (Sorry dass ich so brutal weit aushole und etwas vom Thema weg bin )

Hallo,

ich habe zwar nicht neu gebaut, aber die ganze Elektrik musste neu gemacht werden.

Dabei habe ich darauf geachtet, daß JEDES Kabel, Lichtschalter, Lampe oder Steckdose am Sicherungskasten einzeln ankommt. War zwar ziemlich teuer, aber ich habe es nicht bereut, den JETZT (nach 10 Jahren) schlĂ€gt meine Stunde. Im Sicherungskasten kann ich jetzt fĂŒr bestimmte Stromkreise einfach Relais nachrĂŒsten, die ich dann ĂŒber den Arduino ansteuern kann.

Vergiss nicht die Weihnachtssteckdosen in den Fenstern !

Meine Frau freut sich jedes mal, wenn Sie die benutzen kann.

Das einzige, was ich vergessen habe, sind die Kontaktkabel fĂŒr die Alarmanlage an den Fenstern.

Könnte mich heute noch dafĂŒr in den A... beißen... Jetzt muss ich das per Funk o.Ă€. machen.

Wer Funk kennt, nimmt Kabel :smiley:
Ich hab pro Zimmer eine Leitung im Schaltschrank, ist etwas gĂŒnstiger als deine Variante aber kann dasselbe erreichen wie mit deiner Variante.
Mit Relas von zB Eltako oder Schalk (ihr mĂŒsst nach passenden suchen, aber so sehen die aus).
10 Jahre wollt ich nicht warten, erst im Winter renoviert und nun gehts an die Elektronik.

Ein Bus-System wollte ich nicht zwingend aufbauen.
Ich denke, mit einer Web-Page könnte man das schon ganz gut realisieren.

Dacht ich mir schon. Wo ist der Unterschied, ob ich auf einer Leitung Bus oder Auto fahre?
Einen Raspberry brauch das Auto und auch der Bus.

Um das aber schön visualisieren zu können, gibt es doch bestimmt irgendwelche Programme, die zB auf einem Android Tablet oder so laufen.

Da kommt openHAB zum Einsatz.

Es sollte halt eine “Zentrale” Homepage möglich sein, in der Alle Arduinos aufgelistet sind, mit Status und evtl 1-2 Meldungen und Bedienfelder.
Klickt man dann auf einer dieser Arduinos, so wechselt die Ansicht in dessen Detailansicht und es sind mehrere Statusmeldungen und BedienflĂ€chen verfĂŒgbar.

openHAB?

Kann mir da jemand ein Programm nennen? oder gibt es sowas nicht und man muss sich mĂŒhsam eine Webpage mit Graphischer OberflĂ€che erstellen? (keine Ahnugn wie soetwas funzt)

Wie du bereits erwĂ€hnt hast, mĂŒhsam. Dass erspart dir openHAB.
Kurze Anleitung:

  1. Raspbian installieren
  2. openHAB Dateien in /opt/openhab kopieren
    3.openHAB Autostart einrichten
  3. Erste Schritte

@ Alle: Welche Unterputz-Taster und Unterputz- Bewegungsmelder etc. können mit dem Arduino betrieben werden? So wie ich das mit den Tastern und Schaltern von Hausbus rauslese, benötige ich ja eine RS485 Kommunikation? Oder lassen sich diese auch ganz normal als DI/DO abfragen und ansteuern(Schalterbeleuchtung)?

Ich hatte erst normale Taster getestet, die nehmen aber zu viel Platz ein, deswegen mach ich die Platinen fĂŒr haus-bus.
Mit den Platinen kannst du 6 Taster abfragen und 6 Taster laufen ĂŒber Bus/Netzwerk.
Da kann ja ein WLAN Modul drauf, mit dem Kannst du auch ans Netzwerk.

Was sollte ich denn noch bei meinem Neubau beachten, damit ich spĂ€ter mal möglichst viel automatisieren kann? Ich hab mir ĂŒberlegt, vom Netzwerkverteiler aus, Leerrohre auch zu den einzelnen Stromkreis-verteilern in den jeweiligen Zimmern zu verlegen. Somit sollte ich ja dann mit den Leitungen von der “Logik-Zentrale” in jedes Zimmer kommen und kann somit die Aktoren steuern?

Beim RS485 Bus ist es nicht vorteilhaft. Das wÀre dann Sternförmig, du brauchst Ringförmig.


Webduino wĂ€re eine Möglichkeit, die nimmt Stefan gerne (der EisbĂ€r) und >>hier<< ist ein Sketch von ihm

Das >>hier<< wĂ€re vielleicht auch was fĂŒr dich.
Da werden die Dateien auf einer SD Karte abgelegt, die SD Karte ist auf dem Ethernet Shield.
Ansonsten hier noch ein, zwei Links :smiley:
http://pimatic.org/pages/demo/
http://www.jeasyui.com/index.php
ArduinoPi
NetIO
Homeduino
KNiXuino
eBus Konverter, um Heizung auslesen.
Der Kollege zeigt coole Sachen auch auf seinem YouTube Kanal.
Doorbell, dann weißt du wer vor der TĂŒr steht.
Hausautomatisierung, aber womit?
Evaluations-Platine fĂŒr Heimautomatisierung (Arduino_und_openHAB)
UDOO, die bessere Wahl?

Zitat von >>hier<<

FĂŒr die Steuerung von Lampen, RollĂ€den und Steckdosen gibt es eine Vielzahl von KNX Schaltern. Leider sind diese unverschĂ€mt teuer und tragen aufgrund der benötigten Menge zu einem Großteil der Hardwarekosten bei.

Deshalb meine Variante mit dem haus-bus und RS485

Aber bevor du was baust, erklÀre den Nachbarn dass du nix schlimmes vorhast, ansonsten
 :smiley:

Abend :wink:

nochmals vielen Dank fĂŒr die hilfreichen Infos. Ihr seit echt super Jungs :slight_smile:

Leider hatte ich die letzten Tage wenig Gelegendheit mich noch tiefer mit der ganzen Thematik zu beschÀftigen.

DafĂŒr habe ich ordentlichst Leerrohre im Haus verteilt, womit ich sicherlich die Möglichkeit haben sollte, so einiges im Nachhinein zu realisieren.
Netzwerkdosen, IP-Cams, Alarmkontakte TĂŒren u. Fenster, TĂŒrsprechanlage
, alles kommt sternförmig verteilt in einem extrigen Schacht zusammen wo spĂ€ter Alarmzentrale, Netzwerk und 12v Hausverteilung montiert wird.

Um zurĂŒck zu dem Thema zu kommen.
Alarmanlage werde ich, aufgrund unzureichender Sicherheit im Namen der Behörden und Versicherungen nicht ĂŒber ein Arduino Projekt realisieren.

Mein Treppenlicht habe ich nun (nach meinen WĂŒnschen und Kenntnissen) als Prototoyp fertiggestellt.
Kann man sicher noch einiges verfeinern, wie zB. ohne delay, damit ich mehr Bedingungen etc. sinnvoll kombinieren könnte


NĂ€chste Projekt ist eine Flur Beleuchtung (EG Windfang und Flur)
Dazu werden in den Fließen LED Aluminiumleisten mit eingefließt und RGB-LED-Leisten ĂŒber 2-3 PIR’s in “oder” VerknĂŒpfung geschalten werden und mit gewissen Haltedauer und an/ab-Faden der Led’s.

Ich denke, mit dem hier genannten Infos, und etwas Freizeit finde ich einen Weg, wie ich meine verschiedenen Arduino-Projekte visualisieren und steurern kann. (Einstellungen, Status-Überwachung etc.)

Daher nochmal vielen Dank an euch,
ich werde berichten sobald die ersten Projekte in meinem Neubau Gesatlt annhemen :slight_smile:

im Anhang mein Treppenlicht mit den Funktionen:

Bewegung unten - > Treppenstufen von unten nach oben Anfaden - > Treppenstufen von unten nach oben Ausfaden

Bewegung oben → alles andersrum :wink:

const int LED[5] = {3, 5,6,10,11};
const int maxBrightnes = 250;
const int Fade = 1;
const int FadeTime = 2;
char data;
int Wartezeit = 5000;
int SchwelleOben = 1023;
int SchwelleUnten = 1023;
int Helligkeit = 1023;
const int SchwelleGrenze = 250;
const int minHelligkeit = 250;

void setup()
{
Serial.begin(9600);
Serial.println("TreppenLicht mit Potis als Schwelle ");
Serial.print("Maximale Helligkeit = “); Serial.print(maxBrightnes); Serial.print(” Dimmer-Rasterung = “); Serial.print(Fade); Serial.print(” Fade-Time = “);Serial.print(FadeTime);
Serial.print(”, Wartezeit = ");Serial.println(Wartezeit);
for (int i = 0; i <= 4; ++i)
{
pinMode(LED*, OUTPUT);*

  • } *
    }
    void EinschaltenUnten()
    {
    Serial.println("Einschalten von unten ");

for (int i = 0; i <= 4; ++i)
{

  • Serial.print(“LED”);Serial.print(i+1);Serial.println(" Ein"); *
  • for (int Brightnes = 0 ; Brightnes <= maxBrightnes ; Brightnes += Fade)*
  • {*
    _ analogWrite(LED*, Brightnes);_
    _
    delay(FadeTime);_
    _
    }_
    _ / SchwelleOben = analogRead(A0);
    * if((SchwelleOben <= SchwelleGrenze) & (i < 4))*
    * {*
    * EinschaltenFehlerfall();*
    * break;*
    } / _
    _
    }_
    _
    }_
    void AusschaltenUnten()
    _
    {_
    Serial.println(“Ausschalten von Unten”);
    for (int i = 0; i <= 4; ++i)
    _
    {_
    _
    Serial.print(“LED”);Serial.print(i+1);Serial.println(" Aus"); _
    _
    for (int Brightnes = maxBrightnes ; Brightnes >= 0 ; Brightnes -= Fade)_
    _
    { //if(Brightnes < Fade){Brightnes = 0; }_
    _ analogWrite(LED, Brightnes);
    delay(FadeTime);
    }
    }
    }
    void EinschaltenOben()
    {
    Serial.println(“Einschalten von Oben”);
    for (int i = 4; i >= 0; --i)
    {
    Serial.print(“LED”);Serial.print(i+1);Serial.println(" Ein");
    for (int Brightnes = 0 ; Brightnes <= maxBrightnes ; Brightnes += Fade)
    { //if(Brightnes < Fade){Brightnes = 0; }
    analogWrite(LED, Brightnes);
    delay(FadeTime);
    }
    }
    }
    void AusschaltenOben()
    {
    Serial.println(“Ausschalten von Oben”);
    for (int i = 4; i >= 0; --i)
    {
    Serial.print(“LED”);Serial.print(i+1);Serial.println(" Aus");
    for (int Brightnes = maxBrightnes ; Brightnes >= 0 ; Brightnes -= Fade)
    { //if(Brightnes < Fade){Brightnes = 0; }
    analogWrite(LED, Brightnes);
    delay(FadeTime);
    }
    }
    }
    void EinschaltenFehlerfall()
    {
    Serial.println(“Einschalten Fehlerfall”);
    for (int Brightnes = 0 ; Brightnes <= maxBrightnes ; Brightnes += Fade)
    {
    for (int i = 0; i<= 4; ++i)
    { //if(Brightnes < Fade){Brightnes = 0; }
    analogWrite(LED, Brightnes);
    }
    delay(FadeTime);
    }
    }
    void AusschaltenFehlerfall()
    {
    Serial.println(“Ausschalten Fehlerfall”);
    for (int Brightnes = maxBrightnes ; Brightnes >= 0 ; Brightnes -= Fade)
    {
    for (int i = 0; i<= 4; ++i)
    { //if(Brightnes < Fade){Brightnes = 0; }
    analogWrite(LED, Brightnes);
    }
    delay(FadeTime);
    }
    }
    void loop()
    {
    SchwelleOben = analogRead(A0);
    SchwelleUnten = analogRead(A1);
    Helligkeit = analogRead(A2);*_

* Serial.print("SchwelleOben = "); Serial.print(SchwelleOben);*
* Serial.print(" SchwelleUnten = "); Serial.print(SchwelleUnten);*
* Serial.print(" Helligkeit = "); Serial.println(Helligkeit);*

* if((SchwelleOben <= SchwelleGrenze) & (SchwelleOben < SchwelleUnten) & (Helligkeit <= minHelligkeit))*
* {*
* //if (EinschaltenOben()!= 4) & (SchwelleUnten <= SchwelleGrenze);*
* EinschaltenOben();*
* delay(5000);*
* AusschaltenOben();*
* }*
* if((SchwelleUnten <= SchwelleGrenze) & (SchwelleUnten < SchwelleOben) & (Helligkeit <= minHelligkeit))*
* {*
* EinschaltenUnten();*
* delay(5000);*
* AusschaltenUnten(); *
* }*
* if((SchwelleUnten <= SchwelleGrenze) & (SchwelleOben <= SchwelleGrenze) & (Helligkeit <= minHelligkeit))*
* {*
* EinschaltenFehlerfall();*
* delay(5000);*
* AusschaltenFehlerfall();*

* }*
* else*
* {*
* for (int i = 0; i <= 4; ++i)*
* {*
_ digitalWrite(LED*,LOW);
}
}
delay(250);
}[/td]
[/tr]
[/table]*_

Treppenlicht gibts schon fertig, hatte hier jemand schon mal gepostet.

hi,

war ein schöner morgen-lacher...

erst scrollt man eine meile durch code (auf den Adururino sicher stolz ist), und dann ganz trocken das:

Treppenlicht gibts schon fertig, hatte hier jemand schon mal gepostet.

gruß stefan

Ja da geb ich Dir recht - eine gewisse Ironie is da schon vergraben.

Aber ich bin ja nicht wegen copy and paste hier, selbst ist der Mann

Kurzes Update:

Mit Openhab auf einem Raspberry 2 und Souliss auf einem Arduino habe ich nun schon recht gute und schnelle Erfolge erzielen können. (TĂŒrkontakte, Relais, RGB Lichtleisten) FĂŒr jeden der sich fĂŒr dieses Thema interessiert kann ich diese Kombination nur ans Herz legen. Im Netz gibt es viele Anleitungen dazu und die Souliss Software bringt viele Beispiele mit sich.

Bilder haste nicht zufÀllig?

Bilder? Momentan wenn dann nur vom versuchsaufbau möglich. Wird noch paar Monate dauern, bis dies letzendlich in meinem Neubau integriert ist, da es noch sehr rohbaumĂ€ĂŸig auf der Baustelle ist. :confused: Da sich OpenHab innerhalb des Netzwerkes von jedem x-beliebigen GerĂ€t ĂŒber browser wie Chrome wunderbar bedienen lĂ€sst werden wohl an den relevanten Positionen im Haus billige Android mini Tablets odg. integriert. Hab nur noch nichts schickes kostengĂŒnstiges gefunden was sich auch geschickt Unterputz verbauen lĂ€sst.

Hier noch der Link zu Souliss. http://souliss.net

Ja Souliss kenne ich. Versuchsaufbauten hab ich genung gemacht, wollte mal was fertiges sehen.
Anbei ein Bild wie es mit den HÀndies aussehen könnte :wink: