Autor Thema: [gelöst] RPI-IO Pin Interrupt triggert nicht  (Gelesen 660 mal)

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 138
[gelöst] RPI-IO Pin Interrupt triggert nicht
« am: 12 Januar 2018, 14:40:42 »
Hallo zusammen,
Ich habe eine Gerät mit Opencollectorausgängen an meinen Raspi angeschlossen. Ich konnte die Richtung als Input,  den Pullupwiderstand erfolgreich auf up setzen. Ich habe einen Interrupt auf die fallende Flanke gesetzt. Das Problem ist aber, dass der nicht triggert, wenn der Pin auf low geht. Wenn ich set GW1_Blitzereignis readvalue mache,  kommt im Logfile das an:
8.01.12 13:43:16 1: GW1_Blitzereignis GetFn: readout of Pinvalue fail
2018.01.12 13:43:35 1: Can't open file: GW1_Blitzereignis, edge
2018.01.12 13:44:10 1: Can't open file: GW1_Blitzereignis, value
2018.01.12 13:44:10 1: GW1_Blitzereignis GetFn: readout of Pinvalue fail
2018.01.12 13:44:24 1: Can't open file: GW1_Blitzereignis, value
2018.01.12 13:44:24 1: GW1_Blitzereignis GetFn: readout of Pinvalue fail

Ist das ein Problem mit Zugriffsrechten? Der User fhem darf bei auf /sys/class/gpio zugreifen.

Änderungen des Pullupwiderstand oder Pulldownwiderstand kann mit gpio readall nachvollziehen. Zugriff auf den Pullup geht also. Auch das mit der Richtung.

Das Listing schaut so aus:
Internals:
   DEF        19
   GPIO_Basedir /sys/class/gpio
   GPIO_Nr    19
   NAME       GW1_Blitzereignis
   NR         82
   STATE      ???
   TYPE       RPI_GPIO
   WiringPi_gpio /usr/local/bin/gpio
   filehandle
   Helper:
     DBLOG:
       state:
         logmysql:
           TIME       1515764516.91527
           VALUE      readValue
   READINGS:
     Pinlevel:
       TIME       2018-01-12 15:36:45
       VAL       
   fhem:
     interfaces switch
Attributes:
   direction  input
   interrupt  both
   pud_resistor up
   room       Wetter

Was passt da nicht?
Grüße Martin
« Letzte Änderung: 17 Januar 2018, 08:30:21 von maddinthebrain »
Viele Grüße

Martin

RP3 mit Raspian stretch, FHEM5.8, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, CumulusMX,...

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1766
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #1 am: 12 Januar 2018, 15:38:28 »
was ergibt denn ein "ls-l" vom Verzeichnis "/sys/class/gpio" und dem GPIO Unterverzeichnis?
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

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 138
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #2 am: 12 Januar 2018, 19:14:00 »
Here we go

@raspberrypi:/sys/class/gpio $ ls -l
insgesamt 0
-rwxrwx--- 1 root gpio 4096 Jan 12 14:05 export
lrwxrwxrwx 1 root gpio    0 Jan 11 12:07 gpio13 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio13pi@raspberrypi:/sys/class/gpio/gpio19 $ ls -l
lrwxrwxrwx 1 root gpio    0 Jan 11 12:07 gpio19 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio19
lrwxrwxrwx 1 root gpio    0 Jan 11 17:38 gpio26 -> ../../devices/platform/soc/3f200000.gpio/gpiochip0/gpio/gpio26
lrwxrwxrwx 1 root gpio    0 Jan 11 12:07 gpiochip0 -> ../../devices/platform/soc/3f200000.gpio/gpio/gpiochip0
lrwxrwxrwx 1 root gpio    0 Jan 11 12:07 gpiochip100 -> ../../devices/gpiochip2/gpio/gpiochip100
lrwxrwxrwx 1 root gpio    0 Jan 11 12:07 gpiochip128 -> ../../devices/gpiochip1/gpio/gpiochip128
-rwxrwx--- 1 root gpio 4096 Jan 11 12:07 unexport
Und
pi@raspberrypi:/sys/class/gpio/gpio19 $ ls -l
insgesamt 0
-rwxrwx--- 1 root gpio    4096 Jan 11 12:07 active_low
lrwxrwxrwx 1 root gpio       0 Jan 11 12:07 device -> ../../../gpiochip0
-rwxrwx--- 1 root gpio    4096 Jan 11 12:07 direction
-rwxrwx--- 1 fhem dialout 4096 Jan 11 12:07 edge
drwxrwx--- 2 root gpio       0 Jan 11 12:07 power
lrwxrwxrwx 1 root gpio       0 Jan 11 12:07 subsystem -> ../../../../../../../class/gpio
-rwxrwx--- 1 root gpio    4096 Jan 11 12:07 uevent
-rwxrwx--- 1 fhem dialout 4096 Jan 11 12:07 value

Hilft das weiter?
« Letzte Änderung: 13 Januar 2018, 08:13:39 von maddinthebrain »
Viele Grüße

Martin

RP3 mit Raspian stretch, FHEM5.8, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, CumulusMX,...

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1766
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #3 am: 13 Januar 2018, 20:35:19 »
Die Rechte der Dateien passen. wenn der user fhem in dn Gruppen gpio und dialout ist und FHEM auch unter dem Nutzer fhem läuft dann müsste eigentlich alles funktionieren.
Aber du hast trotzdem keinen Zugriff, auch das EXCEPT_FD wird nicht angelegt
Hast du nach dem setzen der Rechte neu gestartet? (ein einfacher Reboot scheint in manchen Fällen nicht zu reichen)
Was kommt wenn du {`id`} in FHEM eingibst?
Das gpio Tool von WiringPi finde ich persönlich nicht gut (wird meines Wissens nicht weiter gepflegt) und den Pullup kann man auch an den Pin ranbauen 8). Ich glaube aber nicht, das es daran liegt.
Was passiert wenn du folgende Zeilen direkt in FHEM eingibst:
{`cat /sys/class/gpio/gpio18/direction`}
{`cat /sys/class/gpio/gpio18/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

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 138
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #4 am: 13 Januar 2018, 21:12:47 »
Also offensichtlich ging was bei der /etc/local.rc schief. Ich hab es noch mal korrigiert und jetzt geht es.

Ansonsten noch zu den Fragen:

Ausgabe bei{`id`} ist uid=999(fhem) gid=20(dialout) Gruppen=20(dialout),997(gpio)

{`cat /sys/class/gpio/gpio18/direction`} da kommt in

{`cat /sys/class/gpio/gpio18/value`} da kommt 0 bzw. 1

Das mit dem Ranbauen vom Widerstand wäre kein Problem gewesen,  ;)
Super vielen Dank, für die schnelle und tollen Antworten.
Viele Grüße

Martin

RP3 mit Raspian stretch, FHEM5.8, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, CumulusMX,...

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1766
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #5 am: 13 Januar 2018, 23:13:43 »
Also offensichtlich ging was bei der /etc/local.rc schief. Ich hab es noch mal korrigiert und jetzt geht es.

schön das es geht, aber funktioniert es bei dir nicht ohne Anpassung der local.rc?

user fhem in die Gruppe gpio
neustarten
das wars

so funktioniert es bei einem frisch installierten raspbian (wheezy, jessie, stretch habe ich getestet)
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

Offline maddinthebrain

  • Full Member
  • ***
  • Beiträge: 138
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #6 am: 14 Januar 2018, 07:26:51 »
schön das es geht, aber funktioniert es bei dir nicht ohne Anpassung der local.rc?

user fhem in die Gruppe gpio
neustarten
das wars

so funktioniert es bei einem frisch installierten raspbian (wheezy, jessie, stretch habe ich getestet)
Offensichtlich hat das nicht gereicht. Hatte ich zuerst gemacht, und auch so verstanden. Vielleicht ist es ja wert dem mal nachzufühlen.

Grüße Martin
Viele Grüße

Martin

RP3 mit Raspian stretch, FHEM5.8, Signalduino 433MHz, Signalduino 868MHz, MAX!, HM_RPI_PCB, Homematic-Aktoren, CumulusMX,...

Offline klausw

  • Developer
  • Hero Member
  • ****
  • Beiträge: 1766
Antw:RPI-IO Pin Interrupt triggert nicht
« Antwort #7 am: 17 Januar 2018, 00:00:52 »
Hallo Martin,
den Thread bitte als gelöst markieren
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

 

decade-submarginal