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

31 篇文章 1 订阅
本文介绍了两种方法来固定USB串口号,以解决因USB串口号变化带来的不便。方法一是通过USB转串口芯片ID设定串口名,但可能因相同ID导致混乱;方法二是依据USB接口名设定,能避免相同ID问题,但所有插入该口的USB设备将使用同一串口名。在编程中,只需使用设定的串口名即可。
摘要由CSDN通过智能技术生成

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

方法一

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

lsusb

在这里插入图片描述
(拔掉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”)

在这里插入图片描述

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

在这里插入图片描述
第一行的“1-1:1.0”就是工控机usb口的固定接口名
同理,查看USB1

udevadm info /dev/ttyUSB1

在这里插入图片描述
该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”)

在这里插入图片描述
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

在这里插入图片描述
[注意:文件夹或usb串口名尽量不要用serial等名字,容易重名,小编重启设备后发现出了问题,然后把serial.rules 改为了“myserial.rules ”,把串口名serial改为了“m_serial”,然后就没有出现过问题了!]
参考:https://www.pianshen.com/article/4444301337/

根据引用内容,工控机安装Ubuntu 20.04的过程中可能会遇到一些问题。首先,如果你的机器在安装过程中死机并且无法进入Ubuntu系统,你可以尝试重新安装Ubuntu。你可以使用一个新的Ubuntu 20.04的安装盘或者制作一个新的Ubuntu 20.04的安装U盘\[2\]\[3\]。如果你之前使用的安装盘或者U盘有问题,可能会导致安装过程中出现错误。确保你使用的安装盘或者U盘是可靠的。 另外,如果你的机器是双系统,只有Windows 7能够进入,你可以尝试在Windows 7中重新制作一个Ubuntu 20.04的安装U盘\[3\]。这样可以确保你使用的安装U盘是与你的机器兼容的。 在重新安装Ubuntu 20.04之前,建议备份你的重要数据,以防止数据丢失。然后,按照正常的安装步骤,将安装盘或者U盘插入机器,重启机器并选择从安装盘或者U盘启动。然后按照屏幕上的指示进行安装。 如果你在安装过程中遇到任何问题,可以参考Ubuntu的官方文档或者在相关的技术论坛上寻求帮助。希望这些信息对你有帮助!\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [一次难忘的ubuntu20.04 双系统装机踩坑实录](https://blog.csdn.net/m0_73694897/article/details/129877420)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值