Der /sys/class/gpio
kann standardmäßig nur als root zugreifbar sein. Daher mag ich, dass eine neue Gruppe gpio
die Dateien und Verzeichnisse unter /sys/class/gpio
verwenden kann. Um das zu erreichen, habe ich die folgenden Zeilen zu /etc/rc.local
hinzugefügt (ich bin auf Debian):
Damit erhalten alle gpio
Gruppenmitglieder Schreibberechtigungen. So können sie jetzt Pins pinsieren und exportieren.
Das Problem ist, dass sie die spezifischen Pin-Dateien nach dem Export (e.x. /sys/class/gpio/gpio17
) nicht lesen / schreiben können, da diese wieder root:root
gehören.
Wie kann ich ändern, dass sie standardmäßig auch als root:gpio
erstellt werden? Ich meine, ich kann das jedes Mal manuell machen, wenn ich einen Pin exportiere. Aber das ist ein bisschen uncommfy.
AKTUALISIEREN
Nach der Antwort von larsks habe ich die fehlende Regeldatei erstellt. Jetzt funktioniert es teilweise:
%Vor% Aber für die ./gpio17/
bekomme ich immer noch root:root
:
UPDATE 2
Okay, ich habe das Problem gelöst. Weil ich Raspbian über den RaspbianInstaller installiert habe, bin ich nie durch das Tool raspi-config
gegangen. Dies scheint ein Problem zu sein. Weil ich auch den /sys/device/virtual/gpio/
Ordner vermisse.
Ich folgte diesem Leitfaden hier: Ссылка
Und danach waren die Berechtigungen korrekt (sogar für die Pin-Ordner und ihre Dateien value
, direction
, ...).
Sie können dies mit den udev
-Regeln tun, die Aktionen definieren können, die ausgeführt werden, wenn der Kernel neue Geräte instanziiert. Aktuelle Versionen der Raspbian Distribution für Raspberry Pi-Geräte enthalten in /etc/udev/rules.d/99-com.rules
:
Dies stellt sicher, dass Einträge unter /sys/class/gpio
immer für Mitglieder der Gruppe gpio
verfügbar sind:
Aktualisieren
Berechtigungen sind auch für einzelne Pins korrekt:
%Vor%Tags und Links bash raspberry-pi2 raspberry-pi chown chmod