Hallo Leute,
auch ich möchte ein neues Modul vorstellen. Es ist in den letzten Wochen auch Dank der fleißige Unterstützung hier aus dem Forum entstanden.
Zu finden ist es hier:
GitHub - Joey-1970/SymconModules
Das Modul ermöglicht die Nutzung der GPIO auf dem Raspberry Pi auf dem Euer IPS läuft, aber eben auch jeden anderen der per LAN oder WLAN angebunden ist.
Voraussetzungen:
- IPS 4.1
- aktuelles Jessie-/Stretch-Image
- aktuelle PIGPIO-Installation (in der aktuellen Jessie-/Stretch-Version ist noch eine ältere PIGPIO-Version enthalten, aktuell ist V65 oder größer)
- Freigabe der benötigten Bussysteme (I²C) in der raspi-config
Was kann das Modul bis jetzt:
Direkt an den GPIO:
- digitaler Output
- digitaler Input mit Notification (kein Polling notwendig) ->Elektronik - Entprellung ohne Flipflop, auch der PIR funktioniert
- analoger Output (PWM Dimmer), optional mit Fadefunktion -> Anschlußplan
- RGB Output, optional mit Fadefunktion -> Anschlußplan
- RGBW Output, optional mit Fadefunktion
- HC SR04 (Ultraschall-Entfernungsmessung) -> Anschlußplan
- Servo-Steuerung (Anschlußbeispiel)
- L298N zur Motorsteuerung
- 1-Wire über GPIO 4 und den 1-Wire-Server des Raspberry Pi (nur DS18x20)
Über den I²C-Bus:
- 1-Wire über DS2482 (I²C zu 1-Wire) mit Unterstützung des DS18B20, DS18S20, DS2413, DS2438
- AS3935 (I²C-Blitz/Gewitter-Sensor)
- GeCos Modul 4 fach RGBW (I²C-PCA9685)
- GeCos-Modul 16 fach PWM (I²C-PCA9685)
- BH1750 (I²C Lichtstärkemessung) -> Anschlußplan
- BMP180 (I²C Luftdruck und Temperatur)
- BME280 (I²C Luftdruck, Luftfeuchtigkeit, Temperatur) -> Anschlußplan
- BME680 (I²C Luftdruck, Luftfeuchtigkeit, Temperatur (Luftgüte noch in Arbeit!)
- PCF8574 (I²C 8-fach digital I/O-Expander, optional mit Interrupt) -> Anschlußplan
- PCF8591 (I²C 4-fach analog Input, 1-fach analog Output)
- PCF8583 (I²C Zähler, optional mit Interrupt)
- iAQ-Qore zur Messung von Luftqualität (CO2-Anteil usw.)
- MCP3424 (I²C 4-fach AD-Wandler mit bis zu 18 Bit-Auflösung und Eingangs-Verstärker)
- MCP23017 (I²C 16-fach digital I/O-Expander, optional mit Interrupt)
- ermöglicht die Nutzung beider I²C-Busse am Raspberry Pi (Bus 0 in P5 und Bus 1 bei den GPIO)
- ermöglicht den Betrieb von I²C-Multiplexern (TCA9548a und PCA9542) (dazu bitte keine Voreinstellungen in der Config.txt!)
- S.USV - USV für den Raspberry Pi
Sonstiges:
- SDS011 PM2.5 Air Partikel Sensor (nicht über USB anschließen, sondern 5V, Gnd und zwei beliebige GPIO wählen!)
- Unterstützung des Nextion Displays inkl. Fernupdate
- Überwachung des Raspberry Pi (Temperatur, Auslastung etc.)
- Nutzung der Bluetoothfunktionalität der Raspberry Pi 3 zur Anwesenheitserkennung
weitere sind in Arbeit:
- APDS 9960 (I²C Gestik, Helligkeit, Farbe, Abstand)
- SSD1306 (I²C OLED-Display)
Allgemeine Hinweise / FAQ:
- Der Zustand der GPIO des Raspberry Pi beim Bootup ist nicht definiert. Das bedeutet, dass direkt an GPIO angeschlossen Devices bis zum vollständigen Start des Raspberry Pi und IPS ebenso undefiniert Dinge machen! Wenn das dabei um die Schrankbeleuchtung geht, mag das egal sein, bei Garagentoren o.ä. empfehle ich jedoch dringend hier die oben unterstützten I²C-Devices zu nutzen, hier ist dann beim Bootup der Zustand definiert.
- Wie es in IPS üblich ist, führt die Veränderung der Status-Variablen in der IPS-Konsole nicht zu einer Aktion. Um die Funktionalität zu testen bieten sich mindestens die Möglichkeiten die Statusvariablen im Webfront zu bedienen oder über das Kontextmenü in der Konsole "Befehle testen" auszuführen.
- Bei keinem der Ausgangs-Module (Output, Dimmer, RGB, RGBW usw.) wird der Zustand des Devices regelmäßig überprüft, weil unterstellt wird, das diese nur IPS-konform von einer Stelle gesteuert wird. Eingänge (Input, A/D, Wandler, I/O-Port-Expander usw.) haben in der Regel aber selbstverständlich diese Funktionalität, durch zeitlich gesteuert Abfrage oder durch Interrupt getriggert den aktuellen Zustand zu ermitteln.
- Es gibt die eine oder andere "Inkompatibilität" zwischen IPS und PIGPIO, begründet in den jeweiligen Restriktionen. Soweit diese bekannt sind, sind Maßnahmen getroffen worden dieses bestmöglich zu kompensieren.
- Wird der DS2481 und/oder MUX eingesetzt, muss dieser direkt am I²C-Bus 1 angeschlossen werden (GPIO 2/3 bzw. Pin 3/5)
- Wird eine MUX verwendet so sind alle anderen Devices (außer dem DS2481) hinter diesem anzuschließen
- Bitte vor Fehlerpostings prüfen, ob ihr die aktuelle PIGPIO-Version installiert habt (muss manuell durchgeführt werden!) und ob das Modul selbst auf dem aktuellen Stand ist. In der Regel geben die Debug-Meldungen vom Splitter als auch der jeweiligen Instanz einen Hinweis darauf, wo der Fehler liegen könnte, also auch dieses ggf. mit posten.
Ich weise ausdrücklich darauf hin, dass es sich um ein noch unvollendete Modul handelt, das Fehler haben könnte!
Ich hafte weder für defekte Soft- und/oder Hardware noch für "verbrannte" Zeit!
Wer Lust hat mal zu testen, sei aber herzlich eingeladen. Fehlermeldungen, Erweiterungswünsche dann gerne hier.
Vielen Dank noch mal an die tatkräftigen Unterstützer!
Joachim