Modul für RPi GPIO Zugriff mit Interrupt Funktion für Input

Begonnen von klausw, 15 November 2013, 14:28:41

Vorheriges Thema - Nächstes Thema

klausw

Zitat von: MichaS am 16 Juni 2015, 13:10:40
Folgender Eintrag in der rc.local funktioniert nun endlich auch mit dem aktuellen Raspian:
echo 17 > /sys/class/gpio/export
chown -R fhem:root /sys/devices/soc/*.gpio/*
chown -R fhem:root /sys/class/gpio/*


Danke für den Hinweis. So langsam wir es unübersichtlich in der commandref ;)
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

klausw

Zitat von: MichaS am 16 Juni 2015, 13:10:40
Hallo zusammen,

nachdem ich nun einige Stunden damit verbracht habe, die Dateiberechtigungen zum GPIO Zugriff auf einem Raspi hinzubekommen, möchte ich euch gerne meine Erfahrungen hier mitteilen  :)

Installiert ist auf dem RPi das relativ aktuelle Raspbian 3.18.11+ von Ende April 2015 und die WiringPi Bibliothek. Nach dem Anlegen eines Outputs über define Relais RPI_GPIO 17 konnte ich das angeschlossene Relais auch schalten. Allerdings benötigt meine Relaisplatine eine invertierte Logik, schaltet also bei LOW ein. Mit dem Attribut active_low = yes sollte diese Invertierung greifen, hat es bei mir aber ersteinmal nicht getan. Ein Blick ins Log zeigt dann: Can't open file: Relais, active_low, also ein Berechtigungsproblem  :(

Nach Lesen der commandref ist der erste Ansatz, per sudo adduser fhem gpio den User fhem der Gruppe gpio zuzuorden - Leider gibt es scheinbar im aktuellen Raspbian keine solche Gruppe mehr.

Zweiter Ansatz aus der commandref: in der Datei rc.local die Berechtigungen setzen, bevor Fhem startet. Die Einträge von dort übernommen und angepasst - leider immer noch kein Zugriff auf die Dateien, diese werden nach Reboot immer wieder mit root:root neu angelegt und sind von fhem aus nicht beschreibbar.

Nach Recherche im Web habe ich dann herausgefunden, das es in neueren Raspian Versionen eine Veränderung im Device Tree gegeben hat und das beschriebene Verzeichnis /sys/devices/virtual nicht mehr existiert. Nun findet man die Datein hier /sys/devices/soc/....

Folgender Eintrag in der rc.local funktioniert nun endlich auch mit dem aktuellen Raspian:
echo 17 > /sys/class/gpio/export
chown -R fhem:root /sys/devices/soc/*.gpio/*
chown -R fhem:root /sys/class/gpio/*


Ich habe gerade auf meinem Raspberry Pi B 512 die Version 2015-05-05-raspbian-wheezy installiert.
Die Gruppe gpio ist vorhanden.
Alles geht auf Anhieb OHNE wiringpi (ausser pud_resistor natürlich):

pi@raspberrypi512 /sys/class/gpio $ ls -l
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 export
lrwxrwxrwx 1 root gpio    0 Jan  1  1970 gpiochip0 -> ../../devices/soc/20200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 unexport


pi@raspberrypi512 /sys/class/gpio $ echo 27 > export
pi@raspberrypi512 /sys/class/gpio $ ls -l gpio27/
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 active_low
lrwxrwxrwx 1 root gpio    0 Jun 23 21:31 device -> ../../../20200000.gpio
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 direction
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 edge
lrwxrwxrwx 1 root gpio    0 Jun 23 21:31 subsystem -> ../../../../../class/gpio
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 uevent
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 value


Bist du sicher das du die aktuelle Version installiert hast?
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

klausw

Ich habe gerade auf meinem Raspberry Pi2 B die Version 2015-05-05-raspbian-wheezy installiert.
Die Gruppe gpio ist vorhanden.
Alles geht auf Anhieb OHNE wiringpi (ausser pud_resistor natürlich):

pi@raspberrypib2 /sys/class/gpio $ ls -l
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 export
lrwxrwxrwx 1 root gpio    0 Jan  1  1970 gpiochip0 -> ../../devices/soc/20200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 Jan  1  1970 unexport


pi@raspberrypib2 /sys/class/gpio $ echo 27 > export
pi@raspberrypib2 /sys/class/gpio $ ls -l gpio27/
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 active_low
lrwxrwxrwx 1 root gpio    0 Jun 23 21:31 device -> ../../../20200000.gpio
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 direction
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 edge
lrwxrwxrwx 1 root gpio    0 Jun 23 21:31 subsystem -> ../../../../../class/gpio
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 uevent
-rwxrwx--- 1 root gpio 4096 Jun 23 21:31 value


[/quote]
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

cocktailyogi

#228
Hallo,

nur zur Info. Mit aktuellen Raspbian von letzter Woche habe ich exakt das gleiche Problem, wie MichaS.
Die Rechte nach einem Naustart sind root:root.

Gruß,
Yogi

cocktailyogi

#229
Hallo nochmal,

ich habe das jetzt nochmal nachgestellt.

Folgendes Problem:
attribut active_low für GPIO wird wegen Berechtigungsproblem nicht geschrieben

Folgende Ausgangslage:
- aktuelles Rasbian, frisch installiert auf Raspi2
- Fhem 5.6 mit allen updates
- wiringPi installiert (ohne das geht gar nichts!)
- der User fhem ist Mitglied in Gruppe gpio

Folgende Berechtigungen werden angezeigt:
root@server01:~# ls -l /sys/class/gpio/gpio13/
insgesamt 0
-rw-r--r-- 1 root root    4096 Jun 27 10:54 active_low
lrwxrwxrwx 1 root root       0 Jun 27 10:54 device -> ../../../3f200000.gpio
-rw-r--r-- 1 root root    4096 Jun 27 10:53 direction
-rw-r--r-- 1 fhem dialout 4096 Jun 27 10:53 edge
lrwxrwxrwx 1 root root       0 Jun 27 10:54 subsystem -> ../../../../../../class/gpio
-rw-r--r-- 1 root root    4096 Jun 27 10:54 uevent
-rw-r--r-- 1 fhem dialout 4096 Jun 27 10:53 value


Einträge in der rc.local jeglicher Art bringen gar keine Änderung.
Wenn ich die Rechte für die Datei active_low manuell anpasse funktioniert alles, jedoch nach einem Neustart ist alles wieder weg. Das RPI_GPIO-Modul benutzt bei manchen Attributen (z.B. Direction) scheinbar das WiringPi-Tool, um sich die Rechte zu besorgen. Bei dem Attribute "Active_low" jedoch nicht. Könnte man das anpassen?

gruß,
Yogi

klausw

Zitat von: cocktailyogi am 27 Juni 2015, 10:52:02
nur zur Info. Mit aktuellen Raspbian von letzter Wiche habe ich exakt dad gleiche Problem, wie MichaS.
Die Rechte nach einem Naustart sind root:root.
das verstehe ich nicht, habe es ja getestet und es funktionierte bei mir.
Der vermutlich einzige unterschied ist, das ich die frisch geflashte SD Karte vorher in einem B getestet habe.
Was zeigt bei dir cat /proc/version an?

Zitat von: cocktailyogi am 27 Juni 2015, 11:05:18
Folgendes Problem:
attribut active_low für GPIO wird wegen Berechtigungsproblem nicht geschrieben

Folgende Ausgangslage:
- aktuelles Rasbian, frisch installiert auf Raspi2
- Fhem 5.6 mit allen updates
- wiringPi installiert (ohne das geht gar nichts!)
- der User fhem ist Mitglied in Gruppe gpio

Folgende Berechtigungen werden angezeigt:
root@server01:~# ls -l /sys/class/gpio/gpio13/
insgesamt 0
-rw-r--r-- 1 root root    4096 Jun 27 10:54 active_low
lrwxrwxrwx 1 root root       0 Jun 27 10:54 device -> ../../../3f200000.gpio
-rw-r--r-- 1 root root    4096 Jun 27 10:53 direction
-rw-r--r-- 1 fhem dialout 4096 Jun 27 10:53 edge
lrwxrwxrwx 1 root root       0 Jun 27 10:54 subsystem -> ../../../../../../class/gpio
-rw-r--r-- 1 root root    4096 Jun 27 10:54 uevent
-rw-r--r-- 1 fhem dialout 4096 Jun 27 10:53 value


Einträge in der rc.local jeglicher Art bringen gar keine Änderung.
Wenn ich die Reche für dei Datei active_low manuell anpasse funktioniert alles, jedoch nach einem Neustart ist alles wieder weg. Das RPI_GPIO-Modul benutzt bei manchen Attributen (z.B. Direction) scheinbar das WiringPi-Tool, um sich die Rechte zu besorgen. Bei dem Attribute "Active_low" jedoch nicht. Könnte man das anpassen?
Wenn du WiringPi installiert hast dann werden die GPIOs durch das gpio Utility von WiringPi exportiert. Dieses setzt die Rechte wie du es hier angibst. Darauf habe ich aber keinen Einfluss. Die WiringPi Implementierung ist eher eine Altlast.
Kurz gesagt: Wenn WiringPi genutzt wird dann sind nur edge und value beschreibbar.

Aber zurück zum eigentlichen Problem.
sudo adduser fhem gpio hat ohne Fehlermeldung funktioniert?
Das würde heissen, es gint die Gruppe GPIO auch und damit sollten auch die GPIO Rechte passen.
Was zeigt denn:
ls -l /sys/class/gpio/ an?
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

cocktailyogi

Hi, sorry für die späte Meldung..... Ich habe keine Benachrichtigung erhalten....

Also zum Thema:

Ohne WiringPi geht bei mir gar nichts.

root@server01:~# cat /proc/version
Linux version 4.0.7-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #801 SMP PREEMPT Tue Jun 30 18:38:23 BST 2015

root@server01:~# sudo adduser fhem gpio
Der Benutzer ▒fhem▒ ist bereits ein Mitglied der Gruppe ▒gpio▒.

root@server01:~# ls -l /sys/class/gpio/
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jul  1 16:51 export
lrwxrwxrwx 1 root gpio    0 Jul  1 16:51 gpio13 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpio13
lrwxrwxrwx 1 root gpio    0 Jul  1 16:51 gpio17 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpio17
lrwxrwxrwx 1 root gpio    0 Jan  1  1970 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 Jul  1 16:51 unexport

Soweit so gut, aber nun schau dir die Rechte in den Unterordnern an....
root@server01:~# ls -l /sys/class/gpio/gpio13/*
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/active_low
lrwxrwxrwx 1 root root       0 Jul  1 17:00 /sys/class/gpio/gpio13/device -> ../../../3f200000.gpio
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/direction
-rw-r--r-- 1 fhem dialout 4096 Jul  1 16:51 /sys/class/gpio/gpio13/edge
lrwxrwxrwx 1 root root       0 Jul  1 16:51 /sys/class/gpio/gpio13/subsystem -> ../../../../../../class/gpio
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/uevent
-rw-r--r-- 1 fhem dialout 4096 Jul  1 16:52 /sys/class/gpio/gpio13/value

Dort hat die Gruppe GPIO irgenwie nichts mehr zu melden.... Keine Ahnung, woher das kommt-

Gruß,
Yogi


klausw

Zitat von: cocktailyogi am 01 Juli 2015, 17:06:50

root@server01:~# cat /proc/version
Linux version 4.0.7-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.8.3 20140303 (prerelease) (crosstool-NG linaro-1.13.1+bzr2650 - Linaro GCC 2014.03) ) #801 SMP PREEMPT Tue Jun 30 18:38:23 BST 2015

Du hast natürlich auch gleich nen Kernelupdate auf den 4er gemacht  8)
Nicht das es daran liegt.

Zitat von: cocktailyogi am 01 Juli 2015, 17:06:50

root@server01:~# ls -l /sys/class/gpio/
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jul  1 16:51 export
lrwxrwxrwx 1 root gpio    0 Jul  1 16:51 gpio13 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpio13
lrwxrwxrwx 1 root gpio    0 Jul  1 16:51 gpio17 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpio17
lrwxrwxrwx 1 root gpio    0 Jan  1  1970 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 Jul  1 16:51 unexport

Das sieht normal aus. Mitglieder der Gruppe gpio dürfen auf export und unexport voll zugreifen.
Hast du die Rechte manipuliert? Also über die rc.local oder so?

Versuche einmal als Nutzer "pi" (der sollte natürlich auch in der Gruppe GPIO sein):
echo 10 > /sys/class/gpio/export
und schaue dir wenn es funktioniert hat mit
ls -l /sys/class/gpio/gpio10/
die Rechte an.

Zitat von: cocktailyogi am 01 Juli 2015, 17:06:50
Soweit so gut, aber nun schau dir die Rechte in den Unterordnern an....
root@server01:~# ls -l /sys/class/gpio/gpio13/*
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/active_low
lrwxrwxrwx 1 root root       0 Jul  1 17:00 /sys/class/gpio/gpio13/device -> ../../../3f200000.gpio
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/direction
-rw-r--r-- 1 fhem dialout 4096 Jul  1 16:51 /sys/class/gpio/gpio13/edge
lrwxrwxrwx 1 root root       0 Jul  1 16:51 /sys/class/gpio/gpio13/subsystem -> ../../../../../../class/gpio
-rw-r--r-- 1 root root    4096 Jul  1 16:51 /sys/class/gpio/gpio13/uevent
-rw-r--r-- 1 fhem dialout 4096 Jul  1 16:52 /sys/class/gpio/gpio13/value

Dort hat die Gruppe GPIO irgenwie nichts mehr zu melden.... Keine Ahnung, woher das kommt-
Naja, das ist normal, wenn die Pins über wiringpi angelegt werden.
Der lässt einen nur auf edge und value.


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

JimKnopf182

Hallo zusammen,

ich würde mich gerne auch mal hier anschließen.
Und zwar habe ich folgendes Problem, dass ich per WiringPi ein Relais schalte, welches ich über FHEM triggere per Schreibtischlampe {system("sudo /wiringPi/relais1.sh")}.
Also fhem installiert, dummy und notify einprogrammiert und das ganze funktioniert. Jedoch NUR bis zum ersten reboot der Raspberry, danach tut sich nichts mehr.

sudo chmod 777 /sys/class/gpio/export habe ich auch schon ausprobiert, löst aber leider mein Problem nicht.

chown -R fhem:root /sys/devices/soc/*.gpio/*
chown -R fhem:root /sys/class/gpio/*
habe ich auch schon probiert, aber bringt auch nichts.

Mit root und pi, kann ich die gpios mit wiringpi wunderbar schalten.

Aber bekomme es einfach nicht ans laufen, hat jemand ne Idee?

Grüße

klausw

Zitat von: JimKnopf182 am 04 Juli 2015, 18:03:36
Und zwar habe ich folgendes Problem, dass ich per WiringPi ein Relais schalte, welches ich über FHEM triggere per Schreibtischlampe {system("sudo /wiringPi/relais1.sh")}.
Also fhem installiert, dummy und notify einprogrammiert und das ganze funktioniert. Jedoch NUR bis zum ersten reboot der Raspberry, danach tut sich nichts mehr
....
Mit root und pi, kann ich die gpios mit wiringpi wunderbar schalten.
Läuft dein Shellscript nur als superuser?
Dann kann es daran liegen, das der fhem User nicht in der sudoers Gruppe ist.
Wieso nutzt du eigentlich nicht das rpi_gpio Modul von Fhem?
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

MichaS

Nachdem bei mir ja die Gruppe GPIO fehlte, hatte ich einige Posts vorher mit der Kernelversion 3.18 und dem dort geänderten Devicetree mit folgenden Einträgen in der rc.local Erfolg (Beispiel GPIO17)
echo 17 > /sys/class/gpio/export
chown -R fhem:root /sys/devices/soc/*.gpio/*
chown -R fhem:root /sys/class/gpio/*


Nun nach einem Update auf die neueste Kernelversion 4.0 (über Hexxeh rpi-update Script) gibt es schon wieder eine Änderung des Devicetree - es kommt ein Unterverzeichnis "platform" hinzu  >:(  Nun funkionieren folgende Einträge für GPIO17:
echo 17 > /sys/class/gpio/export
chown -R fhem:root /sys/devices/platform/soc/*.gpio/*
chown -R fhem:root /sys/class/gpio/*


Also vorher immer mit ls -l /sys/class/gpio/ prüfen wie die Verzeichnisse bei euch wirklich liegen - dann sollte es funktionieren, wenn der von klausw beschriebene Ansatz mit frischer Installation und GPIO Gruppe nicht funktionieren will  8)

Grüße
Micha

klausw

Zitat von: MichaS am 08 Juli 2015, 21:31:18
Nun nach einem Update auf die neueste Kernelversion 4.0 (über Hexxeh rpi-update Script) gibt es schon wieder eine Änderung des Devicetree - es kommt ein Unterverzeichnis "platform" hinzu  >:(  Nun funkionieren folgende Einträge für GPIO17:
Es lebe die Kontinuität  ;)

Vielleicht liegt es an wiringpi ... also das Problem mit der gpio Gruppe
Ich habe immer ohne getestet.
Das Werde ich bei Gelegenheit nachholen
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

Markus9

Entweder ich hab's in einem vorhergegangenen Post überlesen oder es hilft vielleicht noch jemandem (oder ich bin der einzige Trottel der drauf reinfällt.)

Ich habe schon einiges vorher mit WiringPi gemacht, daher bin ich von der GPIO-Nummerierung von WiringPi ausgegangen. Die verwendet die Spalte 'Name' während man in FHEM und rc.local die Spalte 'BCM' für die Definitionen verwenden muss. Kernel-Update, FHEM-Update, 5 Knoten im Hirn, aber kaum macht man's richtig funktioniert's  ;)
 
pi@raspfhemsat1 ~ $ gpio readall
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
|   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
|   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
|   4 |   7 | GPIO. 7 |  OUT | 0 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
|     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
|  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
|  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
|  22 |   3 | GPIO. 3 |   IN | 1 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
|     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
|  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
|   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
|  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
|     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|  28 |  17 | GPIO.17 |   IN | 0 | 51 || 52 | 0 | IN   | GPIO.18 | 18  | 29  |
|  30 |  19 | GPIO.19 |   IN | 0 | 53 || 54 | 0 | IN   | GPIO.20 | 20  | 31  |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+


klausw

Zitat von: Markus9 am 29 Juli 2015, 18:35:42
Entweder ich hab's in einem vorhergegangenen Post überlesen oder es hilft vielleicht noch jemandem (oder ich bin der einzige Trottel der drauf reinfällt.)

Ich habe schon einiges vorher mit WiringPi gemacht, daher bin ich von der GPIO-Nummerierung von WiringPi ausgegangen. Die verwendet die Spalte 'Name' während man in FHEM und rc.local die Spalte 'BCM' für die Definitionen verwenden muss. Kernel-Update, FHEM-Update, 5 Knoten im Hirn, aber kaum macht man's richtig funktioniert's  ;)
 
pi@raspfhemsat1 ~ $ gpio readall
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|     |     |    3.3v |      |   |  1 || 2  |   |      | 5v      |     |     |
|   2 |   8 |   SDA.1 |   IN | 1 |  3 || 4  |   |      | 5V      |     |     |
|   3 |   9 |   SCL.1 |   IN | 1 |  5 || 6  |   |      | 0v      |     |     |
|   4 |   7 | GPIO. 7 |  OUT | 0 |  7 || 8  | 1 | ALT0 | TxD     | 15  | 14  |
|     |     |      0v |      |   |  9 || 10 | 1 | ALT0 | RxD     | 16  | 15  |
|  17 |   0 | GPIO. 0 |   IN | 0 | 11 || 12 | 1 | IN   | GPIO. 1 | 1   | 18  |
|  27 |   2 | GPIO. 2 |   IN | 1 | 13 || 14 |   |      | 0v      |     |     |
|  22 |   3 | GPIO. 3 |   IN | 1 | 15 || 16 | 0 | IN   | GPIO. 4 | 4   | 23  |
|     |     |    3.3v |      |   | 17 || 18 | 0 | IN   | GPIO. 5 | 5   | 24  |
|  10 |  12 |    MOSI |   IN | 0 | 19 || 20 |   |      | 0v      |     |     |
|   9 |  13 |    MISO |   IN | 0 | 21 || 22 | 0 | IN   | GPIO. 6 | 6   | 25  |
|  11 |  14 |    SCLK |   IN | 0 | 23 || 24 | 1 | IN   | CE0     | 10  | 8   |
|     |     |      0v |      |   | 25 || 26 | 1 | IN   | CE1     | 11  | 7   |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
|  28 |  17 | GPIO.17 |   IN | 0 | 51 || 52 | 0 | IN   | GPIO.18 | 18  | 29  |
|  30 |  19 | GPIO.19 |   IN | 0 | 53 || 54 | 0 | IN   | GPIO.20 | 20  | 31  |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi |   Name  | Mode | V | Physical | V | Mode | Name    | wPi | BCM |
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+

In der Commandref gibt's eine Tabelle dafür. Da wiringpi nicht notwendig ist macht auch dessen Nummerierung keinen Sinn 8)
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

Zenz

#239
@klausw

Zuerst einmal recht herzlichen Dank für die Bereitstellung deines tollen Moduls, welches
in den vergangenen Monaten nach einem zusätzlichem "sudo adduser fhem gpio"
hervorragend funktioniert hat.

@all
Nun habe ich in meinem Übereifer leider ein Update auf meinem "Raspberry Pi 2" durchgeführt  =>  nun Linux 4.1.6-v7+ auf armv7l
Das Ergebnis ist, dass Fhem keine Rechte mehr besitzt z.B "active_low" zu schalten.
Im Fhem-Log erhalte ich den Eintrag "Can't open file: Relaise_1, active_low"

Nun habe ich mit einem "sudo chmod –R 777 /sys/devices/platform/soc/3f200000.gpio/gpio/*" leider nur eine unbefriedigende Lösung gefunden,
denn das funktioniert nur bis zum nächsten Neustart des Raspberry's.
Dann hat wieder nur mehr die Gruppe: root mit dem Eigentümer: root zugriff auf den "gpio-Ordner" (0755).

Hat da vielleicht jemand das gleiche Problem bzw. eine Lösung dafür?

Vielen Dank
Zenz