我正在尝试通过写入/sys/class/gpio
文件夹及其子文件夹和文件来更新我的RaspberryPi上的GPIO。
当我运行命令
时fs.readFileSync('/sys/class/gpio/gpio2/value', 'utf-8');
我得到正确答案,没问题。
当我跑步时
fs.writeFileSync('/sys/class/gpio/gpio2/value',0);
我收到一个EPERM错误,如果我理解正确,则告诉我我没有正确的权限来写入该文件。
当我列出该文件的权限时,我看到root和gpio组都具有读写权限,而我当前的用户'pi'是gpio组的一部分。所以一切都应该没问题。
如果我运行sudo节点,我应该有权限,但我仍然会收到EPERM错误。
在我看来'/ sys / class / gpio'是'/ sys / devices / gpio'的虚拟路径,查看该文件夹的权限,gpio组也有权限,当然,root也是如此。
这是GPIO特有的吗?我看到一些节点模块通过fs.writeFile启用gpio控件,例如,https://github.com/EnotionZ/GpiO/blob/master/lib/gpio.js直接写入同一目录。