Raspberry PI GPIO 组的 GPIO

ner*_*ist 1 permissions python devices

我在此处获取了 Raspberry PI 上的 Ubuntu 映像https://ubuntu.com/download/raspberry-pi通过 virtualenv 作为 ubuntu 用户加载了 L928N python 程序并收到错误。做了一些挖掘和一些测试结果发现ubuntu组无法访问/dev/gpiomem属于哪个组root root

所以我剩下的选择是以 root 身份运行我的 python 程序,但 virtualenv 并没有真正隔离我的程序。它似乎sudo从 root 的全局 python 设置中提取了所有内容。当我在树莓派上运行几个项目时,它们重叠可能会让我在试图理解为什么出现问题时感到沮丧(当一个部门更新一个项目而不是另一个项目时)。

所以我创建了ubuntu 用户所属的/dev/gpiomem组。gpioViola python、pip、virtualenv 和我的项目无需sudo在受控的隔离 virtualenv 中工作!

现在几天后登录运行该程序但失败了。结果/dev/gpiomem又恢复到了root root

我的问题是 A) 有没有更好的方法让 ubuntu 访问/dev/gpiomemB) 有没有办法确保组保持不变(假设 A 没有)。

Chr*_* L8 5

在 Ubuntu 上,将您的用户添加到该组,而不是 gpio 组,dialout以便您自己可以访问 GPIO 引脚。

(这记录在/usr/share/doc/rpi.gpio-common/README.Debian软件包安装的文件中rpi.gpio-common。)

正如 4xy 指出的,安装rpi.gpio-common软件包将设置 udev 规则。

rpi.gpio-common在安装并将我的用户添加到组后,我必须重新启动我的 Pi dialout,然后我才能以普通用户身份访问 GPIO 引脚。


把它们放在一起:

sudo apt install rpi.gpio-common
sudo adduser "${USER}" dialout
sudo reboot
Run Code Online (Sandbox Code Playgroud)