Hallo Gemeinde,
ich möchte gerne die GPIO's meines Raspberry in FHEM für ein Relaisboard und zur Signalisierung nutzen. Die FHEM-Konfig habe nach dem Wiki unter Perl-Modul erstellt.
https://wiki.fhem.de/wiki/Raspberry_Pi:_GPIOs_schalten
Nun habe ich das Problem, dass sich nichts tut. Muss ich eventuell auch das Bash-Script erstellen? Wie und wo erstellt man so ein Bash-Script. Ich würde mich sehr über eure Unterstützung und Hilfe freuen, da das Netz für meinen Wissensstand leider keine ausreichenden Infos über das Zusammenspiel bzw die Abhängigkeit der beiden System liefert.
Was für ein Raspbian?
Also welche Version installiert und welche Version jetzt nach upgrades?
Mit dem Handy online, daher kurz gefasst...
Hallo,
Ich verwende das aktuelle Raspian-lite September-Version und vollständig auf aktuellem Stand von den Updates.
Gesendet von meinem SM-G930F mit Tapatalk
OK, das is schonmal gut.
Wie schaut dein define aus?
Hast was im log?
Meine Konfiguration umfasst lediglich die Angaben aus der Anleitung für das Perl-Modul. Ich weiß, dass man die GPIO's vor der Nutzung anmelden muss. Jedoch fehlt mir die entsprechende Umsetzung.
Gesendet von meinem SM-G930F mit Tapatalk
Meinst du die Anleitung aus der Wiki oder der commandref (http://www.fhem.de/commandref.html#RPI_GPIO)?
Mit anmelden meinst und vermutlich das exportieren eines GPIO.
Dies wird beim define vom Modul erledigt (wenn du FHEM die korrekten rechte gewährt hast)
In der Commandref steht eigentlich alles drin.
Wenn du nicht weiterkommst, erst mal ins Log schauen. Dann Problem detailliert beschreiben, die Konfiguration des GPIO und das Log mit posten.
Zitat von: tantor am 27 November 2017, 21:15:40
Ich verwende das aktuelle Raspian-lite September-Version
Stetch oder Jessie?
Zum Thema Export und als Hinweis, da ich in der Vergangenheit bei der Einrichtung der GPIO auch gestolpert bin. Schau dir an, wo das Verzeichnis /sys/devices/.../gpio liegt.
Für Debian Stretch (und nach meiner Erinnerung nach für Jessie) liegt das in der Commandref beschriebene Verzeichnis nicht unter /sys/devices/virtual/gpio/*, sondern unter /sys/devices/platform/soc/3f200000.gpio/gpio
so dass der Eintrag in /etc/rc.local lauten muss
sudo chown -R fhem:gpio /sys/devices/platform/soc/3f200000.gpio/gpio/*
Der weitere Eintrag
chown -R fhem:root /sys/class/gpio/*
kann übernommen werden.
@ Brice: GPIO befindet sich bei mir genau an der von Dir vermuteten Stelle /sys/devices/platform/soc/3f200000.gpio/gpio
den sudo-Befehl habe ich ausgeführt und was geschieht mit der weiteren Zeile?
Meine Konfig von den GPIO-Ports sieht wie folgt aus:
define GPIO19 RPI_GPIO 19
attr GPIO19 active_low yes
attr GPIO19 direction output
attr GPIO19 room GPIO
attr GPIO19 group Relaisboard
Im Log-File wird kein Eintrag gesetzt, wenn ich den Port 19 schalte.
Zitat von: Brice am 28 November 2017, 12:54:31
Stetch oder Jessie?
Zum Thema Export und als Hinweis, da ich in der Vergangenheit bei der Einrichtung der GPIO auch gestolpert bin. Schau dir an, wo das Verzeichnis /sys/devices/.../gpio liegt.
Für Debian Stretch (und nach meiner Erinnerung nach für Jessie) liegt das in der Commandref beschriebene Verzeichnis nicht unter /sys/devices/virtual/gpio/*, sondern unter /sys/devices/platform/soc/3f200000.gpio/gpio
so dass der Eintrag in /etc/rc.local lauten muss
sudo chown -R fhem:gpio /sys/devices/platform/soc/3f200000.gpio/gpio/*
Der weitere Eintrag
chown -R fhem:root /sys/class/gpio/*
kann übernommen werden.
Ich habe gerade die aktuelle Version von Stretch installiert.
Einträge in die /etc/rc.local sind vollkommen überflüssig
ein einfaches:
sudo adduser fhem gpio
Neustartund schon lässt sich mit beispielsweise
define Pin13 RPI_GPIO 27
ein GPIO exportieren
Das gleiche gilt im Übrigen für Jessie.
Vorausgesetzt das ihr kein Kernelupgrade mache. Danach kann es sein das nichts mehr geht.
Wo die GPIOs liegen ist vollkommen egal, solange es links von /sys/class/gpio/ dorthin gibt
Zitat von: tantor am 28 November 2017, 20:12:40
Meine Konfig von den GPIO-Ports sieht wie folgt aus:
define GPIO19 RPI_GPIO 19
attr GPIO19 active_low yes
attr GPIO19 direction output
attr GPIO19 room GPIO
attr GPIO19 group Relaisboard
Im Log-File wird kein Eintrag gesetzt, wenn ich den Port 19 schalte.
kein Eintrag bedeutet: kein Fehler
Hast du beachtet, das GPIO Nummer nicht gleich Portnummer ist? (https://pinout.xyz/#)
GPIO19 ist Pin 35
die GPIO's sind nach sys/class/gpio verlinkt und die Pin-Belegung ist auch richtig berücksichtigt.
Nachdem ich nun das System mal spannungslos gemacht habe und den Raspberry neugestartet ist, funktioniert es nun komischerweise. Warum und weshalb kann ich jetzt auch nicht sagen. habe das System immer nach Änderungen mit "sudo reboot" neugestartet.
Schön das es jetzt geht.
Etwas komisch ist es aber.
Bei mir hat bisher immer "sudo reboot" gereicht.
Beim Neustart werden die virtuellen GPIO Pfade doch neu angelegt.
ZitatHast du beachtet, das GPIO Nummer nicht gleich Portnummer ist?
GPIO19 ist Pin 35
Danke für den Tip, habe halben Tag die Lösung gesucht :) jetzt bin ich glücklich und es kann weitergehen