从this我可以使用wiringPiSetupSys()
对非root用户进行GPIO访问,但我尝试失败了。
实际上,如果我对可执行文件执行setuid,那么它可以工作。那么,wiringPiSetupSys()
是不是应该的?
$ ./gpio write 4 1 // This don't work :(
# chown root gpioapp
# chmod u+x gpioapp
$ ./gpio write 4 1 // This works :)
答案 0 :(得分:1)
根据GPIO utility documentation,gpio
实用程序旨在作为setuid安装。一旦用于导出引脚(根据wiringPiSetupSys
的要求),您可以以非root用户身份调用wiringPiSetupSys
(请参阅http://wiringpi.com/reference/setup/)。
答案 1 :(得分:1)
您的非root用户是否是gpio组的成员? - Ben Voigt
是的,这就是重点!它不是,只是改变了(usermod -a -G gpio myuser
),现在它正在运作。 - KcFnMi