ubuntu工控机固定设备usb串口号
ubuntu工控机固定设备usb串口号
1、多个USB设备的ID相同
ubuntu系统中的串口使用权限并没有对所有的用户进行开放,所以在使用代码对串口进行操作时,需要打开用户对串口的使用权限,否则在代码中会出现“串口无法打开的报错”,只有在加sudo时才能正常运行。
tty设备的用户主是root,所属组是dialout;而ubuntu安装时,默认使用的账户并没有加入到dialout组中,因此需要将用户加入到dialout组中
(1) 打开当前用户的串口使用权限
查看当前用户名
whu
1)查看当前用户是属于哪些组,组中是否有dialout
groups user_name
将当前用户加入到dialout组中
sudo usermod -a -G dialout user_name
- 查看是否添加成功,按照1)的方法
(2)lsusb查看设备ID
lsusb
(2) 查看当前插入设备的串口名
ubuntu中支持多个串口操作,可以通过设备插拔来发现当前的设备使用的串口名。
ls -l /dev/tty*
(3) 查看usb口的KERNELS
udevadm info /dev/ttyUSB0
udevadm info -n /dev/ttyUSB0
udevadm info -a -n /dev/ttyUSB0
(4)创建 udev 规则文件
sudo vim /etc/udev/rules.d/myusb.rules
ACTION=="add",KERNELS=="1-3.4",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="myusb"
SYMLINK 属性指定固定名称
(5)验证
拔掉usb,终端输入
sudo service udev reload
sudo service udev restart
插上usb,终端输入:
ls /dev/myusb
2、usb设备ID不同
ubuntu工控机固定设备usb串口号(详细)_ubuntu固定串口号-CSDN博客
固定 设备的 USB转串口号//查看当前有哪几个串口ls /dev/tty*//查看设备串口信息lsusbcd /etc/udev/rules.dsudo gedit myusb.rules //输入KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0777", SYMLINK+="imu"//其中的“067b”,"2303"为usb线的ID,"imu"为usb串口名//拔掉usb,终端输入:sudo service udev reloadsudo service udev restart//插上usb,终端输入,验证ls /dev/imu //imu为自己设的usb串口名//[优点:插不同usb口都有同样的端口号]//缺点:换一条带有同芯片的usb转接线也会出现相同点串口名,如我买的一款usb口温度传感器就和我用来连接无线数传的usb转接 线有同样的ID “1a86:7523” ,这时两条usb同时接时就无法准确获取相应口的信息。。。
lsusb #插拔看设备id号
/etc/udev/rules.d/your_usb.rules
ls /dev/tty*