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. maven-version

    <java.version>1.8</java.version><project.build.sourceEncoding>UTF-8</project.bu ...

  2. DNS隧道--dnscat2

    安装 服务端 git clone https://github.com/iagox86/dnscat2.git cd dnscat2 cd server sudo gem install bundle ...

  3. spring boot 重复提交

    package com.future.interceptor; import javax.servlet.http.HttpServletRequest; import org.aspectj.lan ...

  4. dubbo jar 配置文件

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  5. Virtualenv开发文档

    virtualenv是创建孤立的Python环境的工具.正在解决的基本问题是依赖和版本之一以及间接权限.想象一下,您有一个需要LibFoo版本1的应用程序,但另一个应用程序需要版本2.如何使用这两个应 ...

  6. CF886F Symmetric Projections

    题意:给你平面上n个点,问有多少条过原点的直线,使得这些点在该直线上的投影(做垂直,对应点)形成对称图形?n<=2000. 标程: #include<bits/stdc++.h> # ...

  7. Java Collection - HashMap

    HashMap源码解析 java.util.HashMap 类 https://www.cnblogs.com/ysocean/p/8711071.html HashMap线程不安全的原因 https ...

  8. PHP curl采集

    if (function_exists('curl_init')) { //检查函数是否存在 $url = "http://***.com/"; $ch = curl_init() ...

  9. 阿里云 Aliplayer高级功能介绍(二):缩略图

    基本介绍 Aliplayer提供了缩略图的功能,让用户在拖动进度条之前知道视频的内容,用户能够得到很好的播放体验,缩略图是显示在Controlbar的上面,并且包含当前的时间,阿里云的媒体处理服务提供 ...

  10. 概率dp——cf148D

    求概率应该dp数组应该顺着求 这是由初始状态来决定递推方向的 /* 盒子里有两种颜色的球,一种是黑色另一种是白色 AB轮流去球,A先取 A每次随机摸一个球 B每次随机摸一个球,然后盒子里再丢一个球 先 ...