在鲁班猫的python控制GPIO、i2c、spi时,如果不对gpiochip设置权限,运行时总报错,提示无权限访问“/dev/gpipchip4"权限。
虽然可以用sudo chmod 777 "/dev/gpiochip4",临时给予权限,但是如果交付给用户使用时不方便。经查,可以修改/etc/udev/rules.d/99-rockchip-permissions.rules
SPI、I2C、gpio devices
SUBSYSTEM=="spidev", GROUP="devuser", MODE="0660"
SUBSYSTEM=="i2c-dev", GROUP="devuser", MODE="0660"
gpio部分未能生效,具体原因还在了解
KERNEL=”gpiochip[0-4]*" GROUP="devuser",MODE="0666"
这个配置规则,是告诉udev,只要是子系统硬件匹配spidev和i2c-dev的,就把该设备的用户组调整成devuser,权限改成0660
接下来我们需要新建devuser组,并把cat用户添加到这个组里。输入以下命令
- sudo groupadd devuser
- sudo adduser "$USER" devuser
- sudo reboo
然后就可以正常访问i2c spi与gpiochip了。
|