1.将串口设备插入USB口,通过lsusb查看端口信息。例如:

ID 1a86:7523 表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)

1a86 usb_device_descriptor.idVendor
7523 usb_device_descriptor.idProduct

2.在/etc/udev/rules.d/下创建任意名称的规则配置文件,如:usb.rules。

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="", MODE:="", SYMLINK+="user_uart"
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="", MODE:="", SYMLINK+="mcu_uart"

意思就是匹配sys中内核名为ttyUSB*的设备,属性匹配依据生产商编号idVendor和产品号idProduct, 设定读写权限为0777, 符号链接名为user_uart-----PL2303串口转USB, mcu_uart----CH340串口转USB。

idVendor和idProduct由 lsusb  -vvv 命令查看。

sudo udevadm control --reload-rules
sudo udevadm trigger

重新拔插两个串口设备

ls -l /dev |grep ttyUSB

就可以看到/dev/user_uart指向/dev/ttyUSB0,  /dev/mcu_uart指向/dev/ttyUSB1. 这样以来,我只要在程序里打开/dev/user_uart或/dev/mcu_uart就可以一直准确的打开指定的串口设备了。

二、绑定硬件序列号,查找serial(适用于相同生产商生产的相同USB串口)

插入需要绑定的串口,或者 lsusb 查看需要绑定的串口名

1.udevadm info --attribute-walk --name=/dev/ttyUSB0

我的硬件序列号:ATTRS{serial}=="FTSYWCXZ"这个号是唯一的

2.vim /etc/udev/rules.d/usb.rules

ATTRS{serial}=="FTSYWCXZ", MODE:="", GROUP:="dialout", SYMLINK+="usb_0"

3.ls -l /dev |grep ttyUSB

4.可以通过/dev/usb_0打开串口设备

fangfa3

KERNELS=="1-2.4:1.0",MODE:="", GROUP:="dialout", SYMLINK+="my_slaver"
KERNELS=="1-2.2:1.0",MODE:="", GROUP:="dialout", SYMLINK+="my_uwb"
KERNELS=="1-2.3:1.0",MODE:="", GROUP:="dialout", SYMLINK+="my_imu"

参考链接:https://blog.csdn.net/qq_35386301/article/details/84566214

Ubuntu usb设备端口号绑定的更多相关文章

  1. usb端口号绑定

    由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...

  2. Linux嵌入式学习-USB端口号绑定

    由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...

  3. ubuntu查看进程端口号及运行的程序

    查看进程端口号及运行的程序:netstat -atunp 根据端口号来查看进程号:lsof -i:16031

  4. 未知USB设备 端口重置失败

    1.开启手机中USB调试 进入“设置”->“应用程序”->“开发”勾选“USB调试程序”.这样设备才可以通过USB连线时被PC识别到. 2.安装驱动 要将Android手机连接到PC需要安 ...

  5. Ubuntu以及CentOS7修改ssh端口号详细步骤

    1.Ubuntu修改ssh端口号步骤: 1.修改sshd.config文件.执行vim etc/ssh/sshd_config.增加上我们需要增加的ssh的端口号.图例增加了5309的端口号. ESC ...

  6. ros下怎么查看usb设备在哪个端口

    检查usb设备是否有权限以及在哪个端口,或者lsusb ls -l /dev |grep ttyUSB 查到设备端口,在启动文件下配置相应的端口号 <param name="seria ...

  7. Ubuntu 12.04 Virtualbox 启用USB 设备支持

    转载自:http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.html 具体步骤在上面的链接中 今天在ubuntu下安装了Virtualb ...

  8. Ubuntu/Windows下利用“HIDAPI”库函数实现与Hid类USB设备通信

    一.背景: 最近在做的一个项目需要使用USB传递数据,对USB理解不是很深,USB的系统驱动编写则更是天方 夜谭,因此将设备配置成HID类设备成为了首选.其最大的好处在于,LINUX/Windows系 ...

  9. 【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错

    原文网址:http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.html 虚拟机我一直在用,不是说离不开Windows,而是有些时候一些应 ...

随机推荐

  1. linux就该这么学--资料整理--持续更新

    基础命令 服务管理 systemctl redhat7 systemctl start foo.service 启动服务 systemctl restart foo.service 重启服务 syst ...

  2. Spring Cloud Eureka 注册安全一定要做到位!

    /eureka/ 参考配置如下: defaultZone: http://javastack:javastack@eureka1:8761/eureka/, http://javastack:java ...

  3. Appium 环境配置遇到的坑

    一般基础的python路径,sdk等网上都有教程,在这里不多说. 一般可能没有的包:opencv4nodejs ,ffmpeg,bundletoo,jar 1.opencv4nodejs 使用npm安 ...

  4. unittest(2)

    测试用例执行顺序 1.setUp和tearDown相关 setUp:表示前置条件,它在每一个用例执行之前必须会执行一次        setUp可以理解为我们需要自动化测试时,需要打开网页窗口,输入对 ...

  5. 在普通类中获取Spring管理的bean

    1.在项目中添加下面的类: import org.springframework.context.ApplicationContext; import org.springframework.cont ...

  6. Impala查询执行过程

  7. file对象的获取 radio值的获取

    jq $("#hiddenFile").get(0).filesjs this.files; 获取radio的值 $('input:radio:checked').val(): $ ...

  8. Python 输入字符串找(String)下标 没有返回-1

    str = "abcdefg123456"a = input("请输入一个字母或数字:")num = 0result = -1while num < le ...

  9. thinkphp 异常处理

    和PHP默认的异常处理不同,ThinkPHP抛出的不是单纯的错误信息,而是一个人性化的错误页面,如下图所示: 只有在调试模式下面才能显示具体的错误信息,如果在部署模式下面,你可能看到的是一个简单的提示 ...

  10. csps模拟85表达式密码,电压机制,括号密码题解

    题面:https://www.cnblogs.com/Juve/articles/11733280.html 表达式密码: 是个水题... #include<iostream> #incl ...