Domyślnie /sys/class/gpio
ma dostęp tylko jako root. Więc podoba mi się, że nowa grupa może używać plików i katalogów pod /sys/class/gpio
. Aby to osiągnąć dodałem następujące linie do /etc/rc.local
(jestem na Debianie):Dostęp do GPIO (/ sys/class/gpio) jako niezasadowy
sudo chown root:gpio /sys/class/gpio/unexport /sys/class/gpio/export
sudo chmod 220 /sys/class/gpio/unexport /sys/class/gpio/export
Więc to daje uprawnienia do zapisu do wszystkich członków grupy gpio
. Dzięki temu mogą teraz eksportować i importować szpilki w porządku.
Problem polega na tym, że po wyeksportowaniu nie można odczytać/zapisać konkretnych plików PIN (np.
Jak mogę zmienić również to, że są one domyślnie tworzone jako root:gpio
? Mam na myśli to, że mogę to zrobić ręcznie za każdym razem, gdy eksportuję pinezkę. Ale to trochę niewygodne.
UPDATE
Według odpowiedź larsks' Stworzyłem brakujący plik reguł. Teraz częściowo działa:
-rwxrwx--- 1 root gpio 4096 Jun 19 16:48 export
lrwxrwxrwx 1 root gpio 0 Jun 19 16:51 gpio17 -> ../../devices/soc/3f200000.gpio/gpio/gpio17
lrwxrwxrwx 1 root gpio 0 Jun 19 16:45 gpiochip0 -> ../../devices/soc/3f200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 Jun 19 16:45 unexport
Ale dla ./gpio17/
ja wciąż root:root
:
-rw-r--r-- 1 root root 4096 Jun 19 16:52 active_low
lrwxrwxrwx 1 root root 0 Jun 19 16:52 device -> ../../../3f200000.gpio
-rw-r--r-- 1 root root 4096 Jun 19 16:52 direction
-rw-r--r-- 1 root root 4096 Jun 19 16:52 edge
drwxr-xr-x 2 root root 0 Jun 19 16:52 power
lrwxrwxrwx 1 root root 0 Jun 19 16:52 subsystem -> ../../../../../class/gpio
-rw-r--r-- 1 root root 4096 Jun 19 16:52 uevent
-rw-r--r-- 1 root root 4096 Jun 19 16:52 value
UPDATE 2
Ok I rozwiązać problem. Ponieważ zainstalowałem Raspbian na RaspbianInstaller, nigdy nie przeszedłem narzędzia raspi-config
. To wydaje się być problemem. Beacause również brakowało folderu /sys/device/virtual/gpio/
.
ja po tej instrukcji tutaj: http://www.element14.com/community/message/139528/l/re-piface-digital-2--setup-and-use#139528
a potem uprawnienia były prawidłowe (nawet dla pin-folderów i ich plików value
, direction
, ...).
Thx za odpowiedź. Ale nie mogę na przykład pisać do '/ sys/class/gpio/gpio11/value'. Wszystkie pliki w '/ sys/class/gpio/gpio11 /' nadal należą do 'root: root', a nie do' (un) export' przez 'root: gpio'. – TiMESPLiNTER
Oczywiście, że możesz. Ta reguła udev wykonuje rekursywne zmiany w '/ sys/class/gpio'; Zaktualizowałem odpowiedź, jak wygląda zawartość katalogu 'gpio11'. Spróbowałeś i sprawiłeś, że to się nie udawało? – larsks
Tak, wypróbowałem to. I dla twojego zaktualizowanego 'ls -Ll' widzę' root: root', a nie jako 'root: gpio'. Ale działa dla '/ sys/class/gpio/*'. Eksport szpilek jest teraz możliwy, ale nie działa z nimi później. – TiMESPLiNTER