2

这里我虽然可以使用非root用户访问GPIO,wiringPiSetupSys()但我没有尝试过。

实际上,如果我对可执行文件执行 setuid,那么它就可以工作。那么,wiringPiSetupSys()还不够吗?

$ ./gpio write 4 1  // This don't work :(
# chown root gpioapp
# chmod u+x gpioapp
$ ./gpio write 4 1  // This works :)
4

2 回答 2

1

根据GPIO 实用程序文档,该gpio实用程序设计为作为 setuid 安装。一旦用于导出引脚(如 所要求的wiringPiSetupSys),您可以wiringPiSetupSys以非 root 用户身份调用(请参阅http://wiringpi.com/reference/setup/)。

于 2015-11-20T17:06:59.723 回答
1

您的非 root 用户是 gpio 组的成员吗?——本·沃伊特

是的,这就是重点!它不是,只是改变了(usermod -a -G gpio myuser),现在它正在工作。– KcFnMi

于 2016-02-26T07:12:29.110 回答