Update des Moduls 51_RPI_GPIO.pm auf die Nutzung von gpiod

Begonnen von klausw, 13 April 2026, 11:06:55

Vorheriges Thema - Nächstes Thema

klausw

Hallo zusammen,

ich bin gerade dran, das Modul 51_RPI_GPIO.pm in die Gegenwart zu heben.

Derzeit werden die GPIOs über sysfs (/sys/class/gpio) genutzt, bzw. wiringpi verwendet.
Die GPIO Nutzung über sysfs ist schon länger abgekündigt und funktioniert nur noch eingeschränkt. Wiringpi wird zwar scheinbar noch/wieder weiterentwickelt, aber da sehe ich den Mehrwert nicht.

Daher würde ich zukünftig den Zugriff auf die GPIOs über gpiod realisieren. Damit lässt sich die komplette Funktionalität abdecken, inklusive pullup/down Konfiguration der Inputs, was bisher nur über wiringpi funktionierte.

Nun zu meiner Frage:
Sollte ich das Modul 51_RPI_GPIO.pm ersetzen oder ein weiteres Modul anlegen?

Wenn ich das Modul ersetze können, vorrausgesetzt gpiod ist installiert, die alten defines einfach weiterverwendet werden. Auf alten Systemen könnte es halt nicht mehr funktionieren. Ich tendiere trotzdem dazu. Das alte Modul könnte zur Sicherheit in contrib abgelegt werden.

Grüße
Klaus
RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

rudolfkoenig

ZitatAuf alten Systemen könnte es halt nicht mehr funktionieren.
Ab wann ist ein System alt?

KölnSolar

Hallo Klaus,

weil ja ein zusätzliches Linux-Paket zwingend ist, würde ich ein neues Modul besser finden, z.B. 51_RPI_GPIOD.pm

Grüße Markus
RPi5/3/2 Trixie-SamsungAV_E/N-RFXTRX-IT-RSL-NC5462-Oregon-CUL433-GT-TMBBQ-01e-CUL868-FS20-EMGZ-1W(GPIO)-DS18B20-CO2-USBRS232-USBRS422-Betty_Boop-EchoDot-OBIS(Easymeter-Q3/EMH-KW8)-PCA301(S'duino)-Deebot(mqtt2)-ecovacs(mqtt2)-zigbee2mqtt

klausw

Zitat von: rudolfkoenig am 13 April 2026, 11:30:20
ZitatAuf alten Systemen könnte es halt nicht mehr funktionieren.
Ab wann ist ein System alt?
Wenn Stretch drauf ist dann ist das System alt 8).
Aber es gibt bestimmt noch ältere Systeme in Verwendung.
Gibt es einen groben Überblick über die existierenden Installationen nebst OS Version?

Zitat von: KölnSolar am 13 April 2026, 11:32:01weil ja ein zusätzliches Linux-Paket zwingend ist, würde ich ein neues Modul besser finden, z.B. 51_RPI_GPIOD.pm

libgpiod ist seit 2019 mit Debian 10 (Buster) unter Raspberry Pi OS verfügbar. Und seit Bookworm standardmäßig auf den Images vorhanden.

Aber es besteht durchaus das Risiko, bestehende Installationen zu zerschießen. Somit macht ein separates Modul mehr Sinn.

RasPi B v2 mit FHEM 18B20 über 1Wire, LED PWM Treiber über I2C, Luchtdruck-, Feuchtesensor und ein paar Schalter/LED\'s zum testen
Module: RPI_GPIO, RPII2C, I2C_EEPROM, I2C_MCP23008, I2C_MCP23017, I2C_MCP342x, I2C_PCA9532, I2C_PCF8574, I2C_SHT21, I2C_BME280

betateilchen

Zitat von: klausw am 13 April 2026, 12:05:52Gibt es einen groben Überblick über die existierenden Installationen nebst OS Version?

https://fhem.de/stats/statistics.html

Da gibt es zumindest einen Überblick über die installierten perl Versionen.
-----------------------
Formuliere die Aufgabe möglichst einfach und
setze die Lösung richtig um - dann wird es auch funktionieren.
-----------------------
Lesen gefährdet die Unwissenheit!