我无法使用 pi 用户对 USB 继电器进行寻址。
系统信息: 树莓派4 pyhton 3.9
测试pi用户:
pi@raspi:~ $ python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
>>> dev = hid.device()
>>> dev.open(5824,1503)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "hid.pyx", line 127, in hid.device.open
OSError: open failed
>>>
测试root用户: 当我以 root 权限运行代码时,它可以工作
root@raspi:/home/pi# python3
Python 3.9.2 (default, Feb 28 2021, 17:03:44)
[GCC 10.2.1 20210110] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hid
>>> dev = hid.device()
>>> dev.open(5824,1503)
>>>
我用root创建了以下角色(没有其他办法)99-personal.rules文件夹:/etc/udev/rules.d
KERNEL==“hidraw*”,ATTRS{idVendor}==“5824”,ATTRS{idProduct}==“1503”,> MODE =“0660”,GROUP =“plugdev”
更新为:
sudo udevadm control --reload
我还尝试过重新启动 Pi 并拔下 USB 中继线,然后重新插入 我要怎么做才能让pi用户也有执行权?
我也遇到了同样的问题。我所做的就是向 /etc/udev/rules.d/99-com.rules 添加一个类似的内容:
SUBSYSTEM=="usb", GROUP="adm", MODE="0660"
我有限的理解是,这使得
usb
组(即默认用户组)中的任何人都可以访问 adm
子系统。重新启动后,我无需以 root 身份运行即可访问 hid 设备。