OH4: GPIO Pins liefern keine Spannung

Moderatoren: seppy, udo1toni

Antworten
FelixK
Beiträge: 100
Registriert: 16. Mai 2018 06:56
Answers: 0

OH4: GPIO Pins liefern keine Spannung

Beitrag von FelixK »

Hallo,

ich musste wegen einer defekten SD Karte OpenHabian neu installieren und will jetzt ein Python-Skript zum Laufen bekommen, mit dem ich meine Dachfenster steuern kann.

Per MQTT wird eine Nachricht an das Skript geschickt und dann wird anhand von dem der betreffenede GPIO Pin auf HIGH gesetzt. Das hat alles bis zur Neuinstallation alles geklappt.

Ich habe schon festgestellt, dass ich über

Code: Alles auswählen

sudo sytemctl start pigpiod
starten muss. Der Status zeigt mir an, dass die GPIOs aktiviert sind. Ich habe diese auch aktiviert, wenn neu gebootet wird.

Heute habe ich mich mal dran gemacht per Testskript die GPIOs zu schalten und dann zu messen. Was funktioniert hat waren den 3,3 und 5V GPIO gegen GND zu messen. Da lag die erwartete Spannung.

Wenn ich GPIO 24, 23, 2, 8,... getestet habe, dann waren diese immer 0,0V.

Ich habe mir auch diese Belegung hier https://schmidt-feldberg.de/raspberry-pi-gpio-belegung/ zum Beispiel genommen, um die richtigen GPIOs zu verwenden. Die GPIOs habe ich auf BCM gesetzt.

Habt ihr eine Idee, ob ich irgendwas noch aktivieren/machen muss, damit die GPIOs funktionieren? Sind die GPIOs unter OpenHabian ab Version 4 eventuell anders belegt als unter Raspbian?

Vielen Dank und viele Grüße

Felix
Viele Grüße

Felix

Benutzeravatar
udo1toni
Beiträge: 14612
Registriert: 11. Apr 2018 18:05
Answers: 227
Wohnort: Darmstadt

Re: OH4: GPIO Pins liefern keine Spannung

Beitrag von udo1toni »

Zunächst mal ist das openHABian Image lediglich auf dem aktuellen Raspberry Pi OS lite Image aufgesetzt. Das heißt, es ist genau dieses Image, ergänzt um das openHABian git Paket (also das, was man von git runterladen kann).
Die richtige Frage wäre also eher: gibt es Unterschiede zwischen Raspberry Pi OS lite (bookworm) und Version x (die Du Raspbian genannt hast - da wäre die Frage, welches OS es denn tatsächlich war, denn Raspbian gibt es schon seit etlichen Jahren nicht mehr von der Raspberrry Foundation.

Um die GPIO des Pi zu steuern, müssen die Pins für die gewünschte Richtung konfiguriert werden, was je nach Board evtentuell im Detail etwas anders läuft, das sollte aber vom OS gesteuert werden.

openHAB selbst greift nur dann auf die GPIO zu, wenn Du das GPIO Addon nutzt. Da Du selbst ein Python Script nutzt, solltest Du das GPIO Addon nicht installieren.

Im Zweifel musst Du den Dienst pigpiod auf jeden Fall für den Autostart markieren:

Code: Alles auswählen

sudo systemctl enable pigpiod.service
dann sollte pigpiod auch automatisch mit jedem Booten starten, immer vorausgesetzt, Du hast den Dienst korrekt konfiguriert, soweit das notwendig ist.
Eventuell muss der ausführende User noch Rechte für die GPIO beKommen, das solltest Du aber in der Anleitung für pigpiod finden.
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet

FelixK
Beiträge: 100
Registriert: 16. Mai 2018 06:56
Answers: 0

Re: OH4: GPIO Pins liefern keine Spannung

Beitrag von FelixK »

Guten Morgen Udo,

vielen Dank. Die Info, dass OpenHabian Raspberry Pi OS lite + OpenHab ist, ist eine gute. Mir war nicht bewusst, inwieweit für OpenHabian ins OS eingegriffen wurde. Wenn gar nicht, dann umso besser.

Mein Testscript sieht so aus. Das ist im Grunde ein verkleinerter Teil meines Rolladen-Python-Skripts, mit dem ich nur einen Pin ansteuere. Das Rolladen-Skript läuft währenddessen nicht, da ich sonst ja die GPIOs, die vom Rolladen-Skript verwendet werden, hier nicht nochmal verwenden kann.

Code: Alles auswählen

#!/usr/bin/python
# -*- coding: utf-8 -*-

import RPi.GPIO as gpio

TEST_PORT = 23
def main(prompt):
    try:
        gpio.setmode(gpio.BCM)
        gpio.setup([TEST_PORT) 
        gpio.output(TEST_PORT, gpio.LOW)
        while True:
            gpio.output(TEST_PORT, gpio.HIGH)
    except KeyboardInterrupt:
        pass
    except Exception as err:
        print(err)
    finally:
        gpio.cleanup()  # this ensures a clean exit
        
if __name__ == '__main__':
    main('Action? ')
Das GPIO Binding, von dem ich auch schon gelesen habe auf meiner Suche nach einer möglichen Lösung, habe ich nicht installiert.
Den GPIO Daemon habe ich dauerthaft aktiviert und die Abfrage seines Status nach einem Reboot bestätigt mir das auch.

Mit Raspbian meinte ich Raspberry Pi OS bzw. allgemein die Belegung der GPIO-Pins. Wenn OpenHabian = Raspberry Pi OS ist, dann sollte das aber ja passen. Jetzt, wo ich das weiß, kann ich auch breitgefecherter suchen. Ich dachte, OpenHabian sei eine komplett eigener Debian Fork.
Viele Grüße

Felix

Benutzeravatar
udo1toni
Beiträge: 14612
Registriert: 11. Apr 2018 18:05
Answers: 227
Wohnort: Darmstadt

Re: OH4: GPIO Pins liefern keine Spannung

Beitrag von udo1toni »

FelixK hat geschrieben: 5. Aug 2024 07:31 Wenn gar nicht, dann umso besser.
Soweit ich weiß, gibt es nur einen "echten" Unterschied, das ist das fehlende raspi-config - und natürlich der Umstand, dass openHABian direkt nach dem ersten Boot automatisch das Dateisystem auf der 2. Partition auf den restlichen Datenträger vergrößert sowie openhabian-config unattended aufruft.
By the way: Hast Du schon mal mit sudo raspi-gpio get nachgeschaut, ob der Zugriff auf OS-Ebene funktioniert?
openHAB4.2.2 stable in einem Debian-Container (bookworm) (Proxmox 8.2.7, LXC), mit openHABian eingerichtet

Antworten