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. 查看是否添加成功,按照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*



//查看设备串口信息

lsusb

cd /etc/udev/rules.d

sudo 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 reload

sudo 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*

相关推荐
磊 子1 小时前
详细讲解一下epoll
linux·io·epoll·io多路复用
printfLILEI2 小时前
php中的类与对象以及反序列化
linux·开发语言·php
zyl837212 小时前
Docker 使用手册
运维·docker·容器
古月方枘Fry3 小时前
MGRE实验
运维·服务器
叠叠乐3 小时前
redmi k90 pro max 强解BL,刷海外rom, 并刷入sukisu ultra
linux
stolentime3 小时前
FreeDomain 本地开发环境快速搭建指南
运维·服务器·网络
xiaoye-duck4 小时前
《Linux系统编程》Linux 进程间通信之管道基础解析:从匿名管道原理到基于管道的进程池实现
linux
z200509304 小时前
【Linux学习】Linux中的进程程序替换
linux·服务器·学习
bush45 小时前
嵌入式linux学习记录四
linux·运维·学习