2015-12-26
[Unix]Raspbianで一般ユーザでGPIOを触れるようにする
昔のRaspbianではrootユーザでしかGPIOを触れなかった。
最近では一般ユーザでGPIOできるようになっているようだが、新規にインストールするのは面倒。
そこでstackoverflowのこの記事などを参考に、適当にどうにかした。
現状。
$ id -Gn pi
pi adm dialout cdrom sudo audio video plugdev games users netdev input
$ ls -l /sys/class/gpio
合計 0
--w------- 1 root root 4096 12月 26 08:42 export
lrwxrwxrwx 1 root root 0 12月 26 08:43 gpiochip0 -> ../../devices/soc/20200000.gpio/gpio/gpiochip0
--w------- 1 root root 4096 12月 26 08:43 unexport
対処。
$ sudo aptitude update
$ sudo aptitude upgrade
$ sudo rpi-update
$ sudo groupadd --system gpio
$ sudo adduser pi gpio
$ vim /etc/udev/rules.d/99-com.rules
SUBSYSTEM=="gpio*", PROGRAM="/bin/sh -c 'chown -R root:gpio /sys/class/gpio && chmod -R 770 /sys/class/gpio; chown -R root:gpio /sys/devices/virtual/gpio && chmod -R 770 /sys/devices/virtual/gpio'"
$ sudo reboot
結果。
$ ls -l /sys/class/gpio
合計 0
-rwxrwx--- 1 root gpio 4096 1月 1 1970 export
lrwxrwxrwx 1 root gpio 0 1月 1 1970 gpiochip0 -> ../../devices/platform/soc/20200000.gpio/gpio/gpiochip0
-rwxrwx--- 1 root gpio 4096 1月 1 1970 unexport