Ankündigung

Einklappen
Keine Ankündigung bisher.

Rollladensteuerung mit ESP8266 und Blynk

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    KNX/EIB Rollladensteuerung mit ESP8266 und Blynk

    Servus,

    zu meiner Person:
    Ich bin neu hier und hab bis vor ein paar Wochen noch nie was von KNX oder EIB gehört. Bin aber Arduino-Bastler und hab schon etwas Erfahrung mit CAN-Bus und LIN-Bus aus dem Automotiv-Bereich.

    Aufgabenstellung:
    Im Elternhaus gibt es einen KNX Bus um die Rollladen zu steuern. Der Bus wurde etwas 2002 eingebaut, damals war eine Internet-Schnittstelle wohl noch kein Thema. Jetzt sollen die Rollläden aber auch hoch und runter fahren wenn niemand Zuhause ist und diese Taster drückt. Zusätzlich sollten die Rollladen von überall aus bequem per Smartphone/Tablet gesteuert werden können.

    Mein Lösungsansatz:
    Nach kurzem googeln bin ich dann auf den äußerst hilfreichen "Arduino am KNX"-Thread von ThorstenGehrig gekommen. Also habe ich eine Siemens-BCU bestellt und hab die Software von ThorstenGehrig auf meinen Arduino-Mega geflasht. Noch zwei Taster dran gehängt und schon konnte ich nach kurzem probieren meine Rollladen lesen und via knx.groupWriteBool(id, action) auch steuern.

    Der Aufbau sah dann in etwa so aus:



    Um die Sache dann mit dem Internet zu verbinden hab ich mir einen Wemos-D1-Mini (ESP8266-WLAN-Board) zugelegt. Weil das Teil aber mit 3.3V läuft, einen USB-Chip drauf hat und dazu noch relativ viel Leistung braucht kamen hier folgende drei Probleme.

    Zur Spannungsversorungs Problematik:
    Zuerst hab ich den Chip einfach an die 5V der BCU angeschlossen, was natürlich nicht klappen kontte weIch hab mit diversen Step-Down-Reglern versucht den Wemos-D1-Mini über die der Siemens-BCU zu versorgen. Ich dachte mir 20V und 25mA relativ gut gewandelt mit noch einem dicken Kondensator könnte reichen. Am Ende hat es gereicht um den Wemos-D1-Mini zu versorgen, aber nicht um ihn zu starten. Die ESP8266 braucht die ersten paar Millisekunden über 200mA um seine Antenne zu kalibrieren oder sonst welchen WLAN-Voodoo.
    Also hab ich mir einen Hutschienentrafo 230V->5V gekauft und das Thema war erledigt.

    Zur 3.3V-Problematik:
    Da ich nun mit meiner Schaltung am 230V-Netz war und deswegen eh Optokoppler gebraucht hab, haben sie diese auch als Pegelwandler angeboten. Zuerst hab ich dafür zwei Sharp PC817 Optokoppler auf meinem Breadboard verwendet. Hat funktioniert, aber weil man da Widerstände dimensionieren und löten muss hab ich mich dann für ein ADUM1201-Board von eBay entschieden. Ist sehr einfach und funktioniert tadellos.

    Zur USB-Chip Problematik:
    Im Schaltplan des Wemos-D1-Mini war zu sehen, dass die Rx/Tx Leitungen des ESP8266 über 470 Ohm Widerstände mit dem USB-Chip verbunden sind. Meine Vermutung, dass diese Widerstände die KNX-Kommunikation irgendwie kaputt machen hat sich dann auch bestätigt. Um meinen Chip weiterhin programmieren zu können waren sie aber natürlich notwendig, deswegen bin ich zu dieser etwas abenteuerlichen Konstruktion gekommen:



    Die beiden Widerstände kann ich so zum programmieren reinstecken und dann wieder rausnehmen. Es wäre schöner gewesen dies über einen Schalter zu realisieren, aber jetzt änder ich es auch nicht mehr, funktioniert ja.

    Jetzt sah die Schaltung dann so aus:



    Blynk:
    Da ich wahrscheinlich weder in der Lage bin noch große Lust hatte eine App bzw. einen Server zu programmieren hab ich mich für Blynk entschieden. Blynk ist großartig! Man konfiguriert sich mit einem GUI-Baukasten seine App-Oberfläche, spielt einen der vielen Beispielcodes auf seinen ESP8266-Chip und hat dann innerhalb von 5 Minuten eine stabile Verbindung zur App. Grundsätzlich ist Blynk kostenlos, für erweiterte Funktionen muss man etwas Geld zahlen (für 5€ kann man sehr viel machen).

    Mein Blynk-App sieht so aus:

    IMG_1072.JPGIMG_2278.PNG

    Man wählt im Menü sein Zimmer oder seinen Bereich und kann dann mit den Auf/Stop/Ab Tastern die Rollläden steuern. Die grünen Zeiten geben an wann die Rollläden für den derzeit ausgewählten Bereich automatisch Auf- oder Ab-gefahren werden. Anstatt einer Zeit kann auch Sonnenaufgang oder Untergang gewählt werden. Im scrollbaren Terminal sind immer die letzten c.a. 30 Aktionen in folgendem Format sichtbar sichtbar (Datum - Uhrzeit - Nachrichtenquelle - Bereich - Aktion). Die App kann auch via QR-Code mit Familienmitglieder geteilt werden.

    Da in meinem Fall ausschließlich die Rollläden am Bus hängen war der Sicherheitsaspekt für mich kein großes Thema. Im schlimmsten Fall könnten Hacker mich mit ungewollten Rolllläden-Bewegungen nerven.

    Hardware-Umsetzung:
    Um die Internetverbindung etwas zu überwachen und weil ich es konnte hab ich noch ein Nokia 5110 Display drauf gepackt. Die paar Pixel einmal pro Sekunde via SPI an den Display zu senden stresst den Chip nicht wirklich.

    2018-03-12 09.24.51.jpg

    Die drei gekauften Platinen (Wemos-D1-Mini, Adum1201 und ausgepackte Siemens-BCU) sind mit einer selbst gelöteten kleine Lochraster-Platine verbunden. Das schwarze Gehäuse ist 3D-gedruckt. Jetzt wo die Abdeckung wieder im Sicherungskasten ist sieht man eigentlich nur noch das Display und den Trafo.

    Kosten:
    alle Preise nur so ungefähr:
    - Wemos-D1-Mini (eBay) 5€
    - Adum1201 Board (eBay) 1,50€
    - Siemens BCU (voltus) 28€
    - Blynk (Appstore) 5€
    - Trafo 230V zu 5V (Amazon) 13€
    - kleine Lochrasterplatine und Filament für Hutschienenhalterung etwa 1€

    also insgesamt so 50€

    Der KNX-Bus:
    Ich glaube ich verwende den Bus nicht ganz im Sinne des Erfinders. Ich hab auch ehrlich gesagt noch nicht ganz verstanden was es mit diesem Programmier-Modus und so alles auf sich hat.
    Mein Programm schreibt mit der Tester-ID auf den Bus, und die Rollläden reagieren als ob ich den Taster im Zimmer gedrückt hätte. Außerdem wird alles was auf dem Bus gelesen wird etwas aufgehübscht und etwas gefiltert in das Terminal der App geschrieben, das wars.

    Mein Fazit:
    Inzwischen läuft das Programm seit ein paar Wochen stabil und es ist total praktisch.
    Die Kosten waren minimal, der Zeitaufwand für die gesamte Entwicklung dieses Projekts dafür enorm. Einige Tage werden es schon gewesen sein.
    Hat Spaß gemacht.

    Vielen Dank an das Forum und an ThorstenGehrig für die hervorragende Arduino-Lib.

    Viele Grüße
    Angehängte Dateien
Lädt...
X