Greifen Sie auf GPIO (/ sys / class / gpio) als Nicht-Root zu

8

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):

%Vor%

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 :

%Vor%

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 , ...).

    
TiMESPLiNTER 19.06.2015, 13:07
quelle

1 Antwort

8

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 :

%Vor%

Dies stellt sicher, dass Einträge unter /sys/class/gpio immer für Mitglieder der Gruppe gpio verfügbar sind:

%Vor%

Aktualisieren

Berechtigungen sind auch für einzelne Pins korrekt:

%Vor%     
larsks 19.06.2015, 14:20
quelle