python serial [Errno 13] 权限被拒绝:/dev/tty*



我尝试打开串行端口,但无法获得许可。 但与须藤一起工作。

如何获得串口权限?

sas@sas-linuxmint ~ $groups sas
sas : sas adm tty dialout cdrom sudo dip plugdev lpadmin sambashare

这是我的代码:

def get_serial_port():
ser_devs = [dev for dev in os.listdir('/dev') if dev.startswith('tty')]
for i in ser_devs:
port = "/dev/" + i
try :
ser = serial.Serial(port, 19200)
if ser.is_open:
print("OPEN!!!!!!!!!!!!!!!!!!!!!! {}".format(port))
ser.close()
except serial.SerialException as e:
print(e, port)
return None

输出:

[Errno 13] could not open port /dev/ttyprintk: [Errno 13] Permission denied: '/dev/ttyprintk' /dev/ttyprintk

适用于所有端口。

我尝试更改端口的mod,但它也不起作用

sudo chmod 766 /dev/ttyS10
sudo chmod -R a+rw /dev/ttyS10
sudo chmod 777 /dev/ttyS10
sudo chmod 666 /dev/ttyS10

我尝试使用以下命令:

sudo gpasswd --add ${USER} dialout

将拨出添加到我的组,但没有运气。以下内容对我有用:(假设 tty1 是名称(

sudo chmod 666 /dev/tty1

可能晚了 2 年,但您只需将您的用户添加到 tty 组中即可 例如:

sudo usermod -a -G tty $USER

链接

最新更新