ubuntu16.04 放开串口权限

问题:【Linux】普通用户下无法打开串口,提示Permission denied

解决方法:转载自:http://www.cnblogs.com/lvchaoshun/p/5911903.html       “白菜白菜”的博文


可以用如下命令查看串口信息:

ls -l /dev/ttyUSB*来查看相关的信息。

但是普通用户没有usb操作权限(函数open()打不开串口:refused),如果我们想在ROS程序里面打开串口,就得首先放开串口权限。

法一:

为了使普通用户也能正常使用USB转串口设备, 可以通过增加udev规则来实现:

创建文件/etc/udev/rules.d/70-ttyusb.rules

sudo gedit /etc/udev/rules.d/70-ttyusb.rules

文件内容为:

$sudo usermod -aG dialout savvy

KERNEL=="ttyUSB[0-9]*", MODE="0666"

增加访问权限:

sudo chmod 666 /dev/ttyUSB0

重新插入USB转串口设备,普通用户就有权限访问了。

串口编程中使用open()函数就能打开串口了.

法二:

sudo chmod a+rw /dev/ttyUSB0
 即可。( 该方法不能给用户永久访问权限,一次性的,下次拔插串口线或者开关机就无效了 )
法三:

$ ls -l /dev/ttyACM0
crw-rw---- 1 root dialout 166, 0  5月 24 17:17 /dev/ttyACM0
 可以看到用户 (owner 是 root)而所属用户组为 dialout, 因此一种方法是把我们的登陆账号加入到这个用户组。
$whoami
savvy
$sudo usermod -aG dialout savvy

最后,登出再登入系统,登陆名savvy就可以使用该串口了 。

你可能感兴趣的:(电脑配置)