FHEM – I2C-Baugruppen einbinden

Dieser Beitrag befasst sich mit FHEM und wie die Module von Horter & Kalb in das System eingebunden werden können.

Auszug aus der FHEM Homepage
FHEM (eingetragene Marke) ist ein in Perl geschriebener, GPL lizensierter Server für die Heimautomatisierung. Man kann mit FHEM häufig auftretende Aufgaben automatisieren, wie z.Bsp. Lampen / Rollladen / Heizung / usw. schalten, oder Ereignisse wie Temperatur / Feuchtigkeit / Stromverbrauch protokollieren und visualisieren.

Von einigen Kunden angesprochen haben wir uns jetzt auch mal mit dem Thema beschäftigt und festgestellt FHEM ist echt cool 🙂

In Zahlreichen Foren gibt es schon Einträge zu unseren I2C-Baugruppen. Dieser Beitrag soll helfen einen schnellen Einstieg in das Einbinden der Rspberry-SPS-Baugruppen zu schaffen.

Hardwareaufbau

An unsere Testumgebung haben wir zwei Digitale EIngangsmodule und zwei digitale Ausgangsmodule über einen Repeater an den Raspberry angeschlossen.

Wir verwenden zwei Netzteile. Eine für den Raspberry-PI am USB-Port, ein zweites für die I2C-Baugruppen.

Das INT-Signal (graue Leitung im Schema) ist nur an der ersten DI-Baugruppe angeschlossen. An dieser Baugruppe sind Taster angeschlossen, die wir später per Interrupt einlesen wollen.

An der zweiten DI-Baugruppe sollen Rückmeldungen z.B. von Fensterkontakten eingelesen werden. Diese werden zyklisch alle 2 Sekunden gelesen.

Die Adressen der Module sind wie folgt:

Baustein Jumper Adresse 8-Bit dezimal Adresse 7-Bit hex
DI-Karte 1 PCF8574A OFF OFF OFF 112 38
DI-Karte 2 PCF8574A OFF OFF ON 114 39
DO-Karte 1 PCF8574 OFF OFF OFF 64 20
DO-Karte 2 PCF8574 OFF OFF ON 66 21

Raspberry-Installation

Bei uns läuft FHEM auf einem Raspberry Pi 3 Model B Rev 1.2
Eine Anleitung zur Installation von FHEM auf dem Raspberry-Pi finden ihr im FHEM-Wiki

Auf der Seite Erste Schritte mit FHEM findet man viele Informationen für den ersten Einstieg.

Für den Zugriff auf die GPIOs und I2C gibt es im Forum diesen guten Beitrag Raspberry Pi: GPIOs schalten

Das Modul RPI_GPIO für den Zugriff auf die GPIO Pins des Raspberry wird bereits mit FHEM mitgeliefert. Die Ansteuerung der GPIOs erfolgt über das Filesystem (sysFs). Daher werden keine weiteren Programme/Treiber benötigt.

Ob das stimmt weiß ich nicht mehr. Wir haben viel rumprobieren müssen. Ein wichtiger Hinweis war dieser Satz

Der Benutzer „fhem“ muss der Gruppe „gpio“ hinzugefügt werden, damit FHEM später auch Zugriff auf die GPIO Ports hat.

sudo adduser fhem gpio

Falls doch WiringPi benötigt wird bitte diesen Abschnitt beachten

WiringPi installieren: (normalerweise nicht notwendig)

sudo apt-get install git-core
 git clone git://git.drogon.net/wiringPi
 cd wiringPi
 ./build
 sudo reboot

Über die Konsole sollten spätestens jetzt die I2C-Module erkannt werden

i2cdetect -y 1

Als Antwort vom PI bekommt man diese Tabelle aufgelistet:

    0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:          -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: 20 21 -- -- -- -- -- -- -- -- -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- 38 39 -- -- -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: -- -- -- -- -- -- -- --

 

Wenn das läuft den aktuellen Stand der SD-Karte in ein Image sichern.

 

 


Weitere Beiträge zum Thema

[maxmegamenu location=max_mega_menu_1]


 

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.