ADSLib auf dem Raspberry Pi 4 einrichten

ADS funktioniert unter Windows ohne Probleme, sobald man einmal die TwinCat XAE Shell installiert hat. Diese startet automatisch die notwendigen Dienste. Da wir von der Visualisierung aus mit der Beckhoff Steuerung kommunizieren wollen, brauchen wir jedoch eine Möglichkeit, dass ADS bzw. die ADSLib auch auf dem Raspberry Pi läuft. Dazu wollen wir das ganze in einen Docker Container einsperren.

Zum Glück gibt es von Beckhoff eine offene Quelle, aus der man sich selbst die ADSLib bauen kann. Auf dieser Basis bauen wir einen kleinen WebService, der in einem Docker Container läuft

„ADSLib auf dem Raspberry Pi 4 einrichten“ weiterlesen

Aufgaben in Docker-Container verbannen

Um so komplexer das gesamte Umfeld wird, umso schwieriger wird es, den Überblick zu bewahren. Inzwischen haben sich einige Funktionen angesammelt. Um diese voneinander zu separieren, wollen wir die einzelnen Funktionen in Docker-Container einsperren. Diese laufen dann auf einem Raspberry Pi 4.

Die Vorteile beim Einsatz von Docker sind dabei vor allem, die einfache Möglichkeit neue Versionen einzuspielen und die Unabhängigkeit der unterschiedlichen Komponenten bezüglich der verwendeten Bibliotheken sicherstellen. So ist es einfach möglich, verschiedene Anwendungen mit unterschiedlichen Versionen von Bibliotheken zu verwenden. Bei der Installation von neuen Anwendungen sind die bestehenden Anwendungen nicht davon betroffen. Zusätzlich motiviert es, selbstgeschriebene Anwendungen möglichst klein und einfach zu halten.

Wie das ganze mit Docker funktionieren kann, zeigt der folgende Text.

„Aufgaben in Docker-Container verbannen“ weiterlesen

Visualisierung in Django – Anbindung von SPS und Pokey

Ziel der ganzen Automatisierung im Haus ist es für uns, viele Funktionen entweder gar nicht mehr zu bedienen, oder eine einfache und intuitive Bedienung zu ermöglichen. Um eine Funktion im Haus auszuführen, können wir entweder die normalen (Licht-)Schalter im Haus drücken oder auf die beiden Raspberry Pi Displays zurückgegriffen werden, auf denen die Visualisierung angezeigt wird.

Wie die Daten von den verschiedenen Komponenten auf diese Displays kommen, soll im folgenden gezeigt werden.

„Visualisierung in Django – Anbindung von SPS und Pokey“ weiterlesen

Gartenbewässerung: Arduino Relais per 1-Wire steuern

Auch draußen im Garten gibt es einiges zu tun. Um uns das regelmäßige gießen zu ersparen, soll diese Aufgabe von der Haussteuerung übernommen werden. Da in der Garage sowieso schon ein 1-Wire Kabel mit Sensor zur Temperaturüberwachung liegt und dort auch die Wasserpumpe angeschlossen ist, ist es naheliegend, auch die Bewässerung per 1-Wire zu steuern. Ursprünglich sollte es dazu eine Komponente von Esera werden, doch diese hat mit unserem Pokey 1-Wire Master leider nicht kommuniziert. Deswegen kam die Idee, das Ganze mit dem Arduino als 1-Wire Slave umzusetzen. Wie das geht, zeigt dieser Eintrag.

„Gartenbewässerung: Arduino Relais per 1-Wire steuern“ weiterlesen

HEOS Box aus der Visualisierung ansteuern

Wir haben einige HEOS Boxen von Denon im Haus aufgestellt. Diese Boxen sind per LAN oder WLAN angeschlossen und können dann zum Streaming von Musik verwendet werden. Zu den Boxen gibt es von Denon eine App, mit der wir die Musik auf den Boxen steuern können. Wir haben aber auch das Ziel, dass wir die Boxen direkt von unserer Haus-Automatisierung (zum Beispiel vom RaspberryPi Panel) ansprechen können, so dass nicht immer das Smartphone griffbereit sein muss.

Unser erstes Ziel ist es dabei, dass wir die Musik starten und beenden, die Lautstärke regeln und durch die Playlist springen können. Wie dies geht, beschreiben wir im folgenden.

„HEOS Box aus der Visualisierung ansteuern“ weiterlesen

Wetterstation in die Visualisierung einbinden

Da viele Funktionen im und am Haus vom Wetter abhängig sind, haben wir überlegt, wie wir die Wetterdaten am besten bekommen können. Die eine Überlegung war es, aus dem Internet die entsprechenden Daten zu parsen. Leider sind die Daten doch recht ungenau, da die nächste offizielle Wetterstation sehr weit entfernt ist. Also musste es eine eigene Wetterstation sein. Die Anforderung war dabei, dass wir sie in unser Eco-System einbinden können.

„Wetterstation in die Visualisierung einbinden“ weiterlesen

Mit dem Pokeys direkt per UDP sprechen, um die 1-Wire Sensoren auszulesen

Wir hatten bereits früher gezeigt, wie man per PoBlocks verschiedene Sensoren auslesen kann. Leider musste dazu der Sensor unbedingt an Pin 55 angeschlossen werden. Jetzt haben wir nach einer Lösung gesucht, Sensoren an beliebigen Pins auslesen zu können.

Die Pokeys Protocol Specification beinhaltet im Kapitel 1-Wire Parameter, mit denen man den Pin angeben kann. Deswegen haben wir uns damit eingehender beschäftigt. Dabei kommt heraus, dass wir den Pokeys direkt per UDP ansprechen können. Dies ist sogar recht einfach.

In diesem Kapitel zeigen wir, wie man das ganz einfach umsetzen kann. Die Beispiele sind dabei in Python umgesetzt, lassen sich aber auch sehr leicht in andere Sprachen portieren.

„Mit dem Pokeys direkt per UDP sprechen, um die 1-Wire Sensoren auszulesen“ weiterlesen

1-Wire Anschlussplatine für den PoKeys 57 EN

In unserem Haus werden viele Sensoren über den 1-Wire Bus eingesammelt. Dazu zählt zum Beispiel die Raumtemperatur oder die Luftfeuchtigkeit im Wintergarten. Als 1-Wire Master haben wir uns für den PoKeys 57 EN entschieden. Dieser unterstützt mehrere 1-Wire Buse parallel und lässt sich verhältnismäßig leicht konfigurieren. Die erfassten Sensordaten werden dann von der Beckhoff SPS via Modbus über Ethernet vom PoKeys eingelesen. Dieser Zwischenschritt ist leider notwendig da es von Beckhoff keine fertige 1-Wire Lösung, also eine Reihenklemme o.ä. gibt.

„1-Wire Anschlussplatine für den PoKeys 57 EN“ weiterlesen

Raspberry Pi Touchscreen um 90° drehen

Für unseren Wintergarten planen wir einen Touchscreen mit einer einfachen Oberfläche um diverser Komfortfunktionen besser steuern zu können. Auf dem Bildschirm sollen dann die Webseiten, welche auf einem anderen Server über Django realisiert sind, angezeigt werden. Wir haben uns dabei für den offiziellen 7″ Touchscreen der Raspberry Pi Foundation entschieden.

Wir planen den Touchscreen Hochkant, also um 90° gedreht, zu verwenden. Dafür sind einige Konfigurationsänderungen nötig. Nach einiger Recherche haben wir festgestellt, dass viele Anleitungen mit dem aktuellen Raspbian „Jessie“ (Stand Januar 2018) nicht mehr richtig funktionieren.

„Raspberry Pi Touchscreen um 90° drehen“ weiterlesen

Dimmer mit einfachem Schalter mit der KL2751 Klemme von Beckhoff

Um das Licht zu dimmen, setzen wir die Beckhoff Klemme KL2751 ein. Mit dieser ist es einfach möglich, eine Lampe zu dimmen. Dies wollen wir in verschiedenen Räumen verwenden, um ein angenehmeres Licht zu erzeugen.

Neben der eigentlich Dimmerklemme, die direkt 230V als Ergebnis ausgibt brauchen wir auch einen binäre Eingangsklemme, um das Signal des Lichtschalters auswerten zu können. Hierzu verwenden wir, wie für alle Schalter die KL1808. An dieser ist ein Gira 4-fach Taster angeschlossen. Von diesem 4-fach-Taster wollen wir eine Wippe für das Dimmen des Lichtes verwenden. Damit sollen folgende Funktionen umgesetzt werden:

  • Per kurzen Druck soll das Licht entweder auf 100% (obere Wippe) oder auf 0%  ausgeschaltet (untere Wippe) gesetzt werden.
  • Bei langen Druck soll das Licht gedimmt werden, solange auf den Schalter gedrückt wird. Dabei soll man von jeder beliebigen Position starten können.

„Dimmer mit einfachem Schalter mit der KL2751 Klemme von Beckhoff“ weiterlesen