Metainformationen zur Seite

Raspberry Modul

Beschreibung

Das Raspberry-Modul stellt die GPIOs des Raspberry am Plugin zur Verfügung.

GPIO pins

Abbildung: © https://www.raspberrypi.com/documentation/computers/raspberry-pi.html

Insgesamt stellt der Raspberry 26 GPIOs bereit. Beachtet, dass teilweise PINs für andere Zwecke (z. B. den I2C Bus) konfiguriert sind.

Datenblatt

Hardware-Konfiguration

Es ist keine spezielle Konfiguration notwendig.

Software-Konfiguration

Modul

Eingänge

Die GPIOs des Raspberry haben eingebaute PullUp- und PullDown-Widerstände, die man per Software aktivieren kann. Externe Widerstände sind damit in aller Regel nicht notwendig.

Konfiguration mit Nutzung von Interrupts (empfohlen)

Standardmäßig werden die Zustände der Eingänge "gepollt", dass heisst in einem gewissen Abstand fragt das Plugin den Zustand der Eingänge ab (ob EIN oder AUS). Das ist nicht nur sehr ineffektiv (CPU Last), es birgt bei sehr kurzen Eingangssignalen (z. B. ein kurzer Impuls) auch die Gefahr, dass man ein Eingangsimpuls "verpasst", wenn dieser gerade zwischen dem Poll-Intervall liegt.

Die Lösung ist die Verwendung von sogenannten Interrupts. Interrupts signalisieren dem Betriebssystem eine Statusveränderung z. B. eines PINs. So ist es möglich den Status der Eingänge nur abzufragen, wenn sich der Status geändert hat (im Gegensatz zum permanenten, zyklischen Abfragen).

Alle GPIOs des Raspberry unterstützen Interrupts - daher sollte man diese für jeden Eingang aktivieren. Nutzt man Expander Module, kann ein Raspberry GPIO auch indirekt als Interrupt für diese Module diehnen. Auch das kann man dann hier entsprechend konfigurieren.

Zur Nutzung von Interrupts aktiviert man folgende Optionen:

  • Interrupt: Both oder Rising oder Falling (je nachdem welche Flanke(n) man auswerten möchte - meist funktioniert immer "Both")
  • Input is interrupt for: Nur auszuwählen, falls dieser RPI-GPIO indirekt ein Interrupt für ein Expander Modul sein soll

Konfiguration ohne Nutzung von Interrupts (Polling)

Bei dieser Konfiguration werden keine Interrupts verwendet und der Status des GPIO wird alle x Sekunden eingelesen. Das erfordert sehr viele CPU Ressourcen und birgt die Gefahr, dass man sehr kurze Signale "verpasst".

  • Interrupt: None
  • Polling Interval: 0.1

Ausgänge

Ihr könnt hier wählen, wie der initiale Status bei Start des Plugins sein soll (also HIGH oder LOW). Beachtet, dass eventuell beim Booten des Raspberry (solange das Plugin noch nicht gestartet wurde) ein Default-Status vom Raspberry gesetzt wird. Das kann zu unvorhergesehenen Schalltvorgängen führen, wenn der Status nicht sauber aufeinander abgestimmt ist!

Soll der GPIO beim "ON"-Befehl nur eine gewisse Zeit (als Impuls) auf EIN gehen und sich dann automatisch wieder abschalten, so könnt ihr die Option "Timed" mit setzen. Der Ausgang wird nach Ablauf dieser Zeit automatisch wieder ausgeschaltet. Diese Funktion kann natürlich auch über die Loxone Config realisiert werden.