我尝试打开串行端口,但无法获得许可。 但与须藤一起工作。
如何获得串口权限?
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
链接