Test GPIO am Raspberry 5 (ohne wiringpi)

Begonnen von Adimarantis, 28 Dezember 2023, 19:07:23

Vorheriges Thema - Nächstes Thema

hugo

Hallo zusammen,
ich hänge mich mal hier rein.
Bei funktioniert mein "IR Infrarot Modul" am GPIO Port nicht mehr.

Raspi 2B mit Bookworm 

Hat jemand eine Idee, damit mein Modul wieder funktioniert?

define GPIOTest RPI_GPIO 539\

attr GPIOTest active_low yes
attr GPIOTest direction input
attr GPIOTest interrupt both
attr GPIOTest pud_resistor up
attr GPIOTest room Unsorted,hidden
attr GPIOTest toggletostate yes
#   CFGFN     
#   DEF        539
#
#   FUUID      6648fe99-f33f-046a-7820-4f9d3dfb9f937a2b
#   GPIO_Basedir /sys/class/gpio
#   GPIO_Nr    539
#
#   NAME       GPIOTest
#   NR         95
#   STATE      ???
#   TYPE       RPI_GPIO
#   WiringPi_gpio
#   eventCount 1
#   filehandle
#   READINGS:
#     Pinlevel:
#       TIME       2024-05-18 21:38:29
#       VAL       
#   fhem:
#     interfaces switch
#
setstate GPIOTest 2024-05-18 21:38:29 Pinlevel 0


Vielen Dank für eure Hilfe

Gruß Josef
Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

Stelaku

Hallo hugo

Ich glaube du hast das selbe Problem wie ich hier schon in Beitrag #12 geschrieben habe.
Dir wird ein Hardware Seitiger 50 Kohm pull up Wiederstand vom gpio27 auf 3,3 Volt des Rasperry Pi fehlen.

Gruß

Stephan




Christoph Morrison

Es gibt für den RPI5 übrigens ein Tool namens pinctrl mit dem man die Pullups (wieder) softwareseitig setzen kann.

wbini

entweder wie der Christoph schreibt die Pullups über pinctrl (z.B.: pinctrl set 8,15,20,22,23,27 ip pu) setzen. oder in der config.txt (gpio=8=ip,pu)

hugo

Hallo zusammen,
leider bin ich nicht so bewandert in der Elektronik.

Jetzt für mich nochmal zum Verständnis.

Ich mache die Einträgen in der rc.local (echo 22 > ...) führe die chmod aus.
config .txt geändert gpio=22,27=pu,ip
Zwischen 3V und Gpio27 ein 100k Widerstand beim IR-Modul

Starte den Rechner neu.

Der Status vom RPI_GPIO bleibt auf ???
ein "set GPIOTestreadValue" bringt keine Änderung

Die PIN-Belegung habe ich nochmal geprüft.

Wo liegt mein fehler?

Danke für die Antworten.

Gruß Josef



Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

wbini

Hallo hugo,

auf dem Pi4 gilt noch die ursprüngliche Nummerierung (cat /sys/kernel/debug/gpio | grep 22)

Das Beispiel funktioniert so bei mir auf einem Pi4:
define GPIOTest RPI_GPIO 22
attr GPIOTest active_low yes
attr GPIOTest direction input
attr GPIOTest interrupt both
###attr GPIOTest pud_resistor up
attr GPIOTest room Unsorted,hidden
attr GPIOTest toggletostate yes

Pullup setzen (verwende lediglich den internen PullUp):
Variante 1: über die config.txt per "gpio=22=pu,ip"
Variante 2: in der rc.local per "pinctrl set 22 ip pu"

Den Status für den Pin 22 kannst mit "pinctrl 22" prüfen

hugo

Hallo wbini,
wenn ich deine Einstellungen vornehmen, wird in der Console einmal hi/lo angezeigt sobald das Modus den Status ändert.
Allerding wird in Fhem nichts angezeigt bzw geändert.
Scheint wohl da ein Problem zu sein?


pi@FhemHome:~ $ pinctrl 27
27: ip    -- | lo // GPIO27 = input
pi@FhemHome:~ $ pinctrl 27
27: ip    -- | hi // GPIO27 = input

define GPIOTest RPI_GPIO 27\
\

attr GPIOTest active_low yes
attr GPIOTest direction input
attr GPIOTest interrupt both
attr GPIOTest room hidden
attr GPIOTest toggletostate yes
#   DEF        27
#
#
#   FUUID      6648fe99-f33f-046a-7820-4f9d3dfb9f937a2b
#   GPIO_Basedir /sys/class/gpio
#   GPIO_Nr    27
#
#
#   NAME       GPIOTest
#   NR         95
#   STATE      ???
#   TYPE       RPI_GPIO
#   WiringPi_gpio
#   eventCount 7
#   filehandle
#   READINGS:
#     Pinlevel:
#       TIME       2024-05-19 13:25:16
#       VAL       
#   fhem:
#     interfaces switch
#
setstate GPIOTest 2024-05-19 13:25:16 Pinlevel 0

Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

wbini

Das kann ich leider nicht beantworten. Wenn im LogFile sonst keine Fehler auftauchen, könnte es sein.

Meine aktuelle Definition meiner Türklingel läuft auch über GPIO 27 ohne Probleme:

define K_Innen RPI_GPIO 27
attr K_Innen active_low yes
attr K_Innen alias KlingelInnen
attr K_Innen devStateIcon on:Wecker.Immer off:Wecker.Aus
attr K_Innen direction input
attr K_Innen event-on-change-reading state
attr K_Innen interrupt both
attr K_Innen room OWX,System->GPIOs

Übrigens: Dein Setzen des PullUps hat wohl nicht gegriffen. Bei mir sieht das so aus:
27: ip    pu | hi // GPIO27 = input

Setz doch mal ein "pinctrl set 27 ip pu" ab und prüfe das mal erneut.

Auch das Attribut "attr GPIOTest toggletostate yes" verwende ich nicht, da nur bei falling oder rising funktioniert.

hugo

pi@FhemHome:/opt/fhem $ pinctrl set 27 ip pu
pi@FhemHome:/opt/fhem $ pinctrl 27
27: ip    -- | hi // GPIO27 = input


Raspi 3 mit CUL HM-MOD-UART; nanoCUL
Homematic: HM-SEC-SCo 5x;HM-LC-SW1-BA-PCB 3x;HM-Dis-EP-WM55; HM-LC-SW4-PCB; ARLO;
Somfy RTS Rollo 14x; Alexa; GardenaSmartDevice; Stromzähler(GPIO); shelly1; shelly2.5;Wasserzähler(GPIO);Brennerstuhlsteckdosen;

wbini

Ist schon mal ein anderes Verhalten wie bei mir.

Eventuell neu aufsetzen.

Muss jetzt leider wieder raus, Pfingsten ruft.