ubuntu工控机固定设备usb串口号(详细)

目录

    • 方法一
    • 方法二
    • 编程时用法

由于usb串口号容易变,给程序的运行带来了些许不便,所以特此学习了一下固定设备usb串口号,主要有两种方法,各有利弊.

方法一

通过usb转串口的芯片ID不同,设串口名。
1.查看串口设备

lsusb

ubuntu工控机固定设备usb串口号(详细)_第1张图片
(拔掉usb后,发现少了一行:Bus 001 Device 018: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port)
其中的“ID 067b:2303”就是我们需要用的(不同芯片会不一样,我这条是绿联的,最常见的是“ID 1a86:7523”)

2.建.rules文件
进入文件夹:计算机->etc->udev->rules.d
里面新建一个.rules文件(自己随意命名)

sudo gedit myusb.rules   //需要权限

在里面输入:

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0777", SYMLINK+="imu"

其中的“067b”,"2303"为usb线的ID
"imu"为usb串口名(用的时候表示为“/dev/imu”)

ubuntu工控机固定设备usb串口号(详细)_第2张图片

3.保存使用
拔掉usb,终端输入:

sudo service udev reload
sudo service udev restart

插上usb,终端输入:

ls /dev/imu      //imu为自己设的usb串口名

在这里插入图片描述
出现上图,则成功了。。。

4.不足
[优点,插不同usb口都有同样的端口号]
换一条带有同芯片的usb转接线也会出现相同点串口名,如我买的一款usb口温度传感器就和我用来连接无线数传的usb转接 线有同样的ID “1a86:7523” ,这时两条usb同时接时就无法准确获取相应口的信息。。。

方法二

针对方法一的不足,方法二是根据工控机每个usb口的固定接口名来的
1.查看串口

python -m serial.tools.list_ports

在这里插入图片描述
2.查看usb接口名

udevadm info /dev/ttyUSB0

ubuntu工控机固定设备usb串口号(详细)_第3张图片
第一行的“1-1:1.0”就是工控机usb口的固定接口名
同理,查看USB1

udevadm info /dev/ttyUSB1

ubuntu工控机固定设备usb串口号(详细)_第4张图片
该usb口的固定接口名为“1-4:1.0”
2.建.rules文件
进入文件夹:计算机->etc->udev->rules.d
里面新建一个.rules文件(自己随意命名)

sudo gedit serial.rules   //需要权限

在里面输入:

ACTION=="add",KERNELS=="1-4:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="t_serial"
ACTION=="add",KERNELS=="1-1:1.0",SUBSYSTEMS=="usb",MODE:="0777",SYMLINK+="serial"

其中的"1-4:1.0"和"1-1:1.0"为usb口的固定接口名,"t_serial"与"serial"为对应usb串口名(用的时候表示为“/dev/t_serial”和“/dev/serial”)

ubuntu工控机固定设备usb串口号(详细)_第5张图片
3.保存使用
拔掉usb,终端输入:

sudo service udev reload
sudo service udev restart

插上usb,终端输入:

ls /dev/t_serial      //t_serial和serial为自己设的usb串口名
ls /dev/serial 

在这里插入图片描述
出现上图,则成功了。。。

4.不足
[优点,不会因为usb转接线芯片ID相同(如“1a86:7523”)造成usb口同名]
设置完成后,只要插在该端口的usb转接口都会出现该口设的串口名。。。

编程时用法

在这里插入图片描述
以前用的是“/dev/ttyUSB0”,现在直接用"/dev/serial"就行了。。。

当然你直接终端输入

python -m serial.tools.list_ports

出现的依然是/dev/ttyUSB0,/dev/ttyUSB1,/dev/ttyUSB2这些
只有当你输入下列指令才能看见对应的串口名

 ls /dev/serial
 ls /dev/t_serial
 ls /dev/imu

ubuntu工控机固定设备usb串口号(详细)_第6张图片
[注意:文件夹或usb串口名尽量不要用serial等名字,容易重名,小编重启设备后发现出了问题,然后把serial.rules 改为了“myserial.rules ”,把串口名serial改为了“m_serial”,然后就没有出现过问题了!]
参考:https://www.pianshen.com/article/4444301337/

你可能感兴趣的:(工具,902,ubuntu,单片机,物联网)