如果在 Ubuntu 系统中两个设备出现两个相同的端口号解决方案

问题描述: 

自己的移动机器人在为激光雷达和IMU配置动态指定的端口时,发现激光雷达和深度相机配置的 idVendor 和 idProduct 相同,但是两个设备都具有不同的ttyUSB号,如下图所示

  • idVendor:代表着设备的生产商ID,由USB设备生产商向USB-IF官方来统一管理和申请。
  • idProduct:代表着该生产商生产的产品编号,同一厂商下的不同idProduct代表着该公司不同的产品系列。

 f3d91bc0cc4649d9abf7742cb066fb43.png91682c192766437691166c1a9b38c79a.png


解决方法:

出现此问题的原因是两个串口芯片都是CP2102……芯片ID号都一致。但是可以通过查询USB口的具体信息,发现一个地方可以区分开,那就是端口路径!!(这个端口就是我们字面的意思,不同的USB的插口!)

1、使用如下

 使用如下的指令分别查询ttyUSB0和ttyUSB1的端口具体信息

 1)查询 USB0的具体信息,其中主要关注 ATTR{devpath} 

# 查询 USB0 的信息
udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)

 b5ac46903f004639a0e15692bbfd6c4f.png

 查询 USB1 的具体信息,其中主要关注 ATTR{devpath}

# 查询 USB1 的信息
udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB1)

 f9c26e8f0ebb4b0ea09604e5a3099a97.png

可以看出,在Ubuntuh中可以通过 ATTR{devpath} 的不同来对两个设备进行区别。需要记住这两个端口路径号,在下面的规则设定中需要使用这个编号。

2、修改IMU和激光雷达的端口配置规则

1)激光雷达的规则修改:

# 这里的 ATTRS{devpath}=="2" 对应于刚刚上面查询 ttyUSB1 的信息,因为查询时激光雷达对应 ttyUSB1 端口

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60",ATTRS{devpath}=="2", MODE:="0777", SYMLINK+="laser"

2)IMU的规则修改:

# 这里的 ATTRS{devpath}=="3" 对应于刚刚上面查询 ttyUSB0 的信息,因为查询时激光雷达对应 ttyUSB0 端口

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60",ATTRS{devpath}=="3", MODE:="0777", SYMLINK+="IMU"

 3、验证配置结果

将上述的两个配置完成后,重新执行上述修改的规则,然后将Ubuntu系统重启或者重新拔插后,使用如下指令即可查询到配置结果即可看到设备分别指向其所在的ttyUSB端口。

ll /dev/ | grep ttyUSB*

1)把两个设备插在刚开始查询的端口,可以看到如下效果

697963afab28416bb60f11fe665a7d7c.png

2)我再调转下插接先后顺序,把两个设备调换接口

7fa5ba1025524b98a943e04aa7985f9c.png

此时便可以不管两个设备插入到主机上的先后顺序了,规则都会映射到对应的端口上。

只是此处需要注意的是,两个设备的端口相当于刚刚在配置时已经锁定,便不能插接其他端口,插接其他端口就不能找到此设备了。

参考博客

 【ROS学习】修改串口的别名_ros的串口号会变-CSDN博客

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/587578.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

EasyExcel 模板导出excel、合并单元格及单元格样式设置。 Freemarker导出word 合并单元格

xls文件: 后端代码: InputStream filePath this.getClass().getClassLoader().getResourceAsStream(templateFile);// 根据模板文件生成目标文件ExcelWriter excelWriter EasyExcel.write(orgInfo.getFilename()).excelType(ExcelTypeEnum.XLS).withTe…

App测试中ios和Android的区别

1、Android长按home键呼出应用列表和切换应用,然后右滑则终止应用; 2、多分辨率测试,Android端20多种,ios较少; 3、手机操作系统,Android较多,ios较少且不能降级,只能单向升级&…

论文笔记 - :DIGGING INTO OUTPUT REPRESENTATION FOR MONOCULAR 3D OBJECT DETECTION

Title: 深入研究单目 3D 物体检测的输出表示 Abstract 单目 3D 对象检测旨在从单个图像中识别和定位 3D 空间中的对象。最近的研究取得了显着的进展,而所有这些研究都遵循基于 LiDAR 的 3D 检测中的典型输出表示。 然而,在本文中,我们认为…

javaweb学习(day11-监听器Listener过滤器Filter)

一、监听器Listener 1 Listener介绍 Listener 监听器它是 JavaWeb 的三大组件之一。JavaWeb 的三大组件分别是:Servlet 程 序、Listener 监听器、Filter 过滤器 Listener 是 JavaEE 的规范,就是接口 监听器的作用是,监听某种变化(一般就是对…

达梦数据库 优化

谁进行优化?优化什么? 优化不能仅从数据库方面考虑,比如,在存储达到数据库极限、应用涉及人员设计的代码稀巴烂的情况下,进行调优就是杯水车薪的效果。 涉及到优化人员: 数据库管理员应用程序架构师应用…

element-ui result 组件源码分享

今日简单分享 result 组件的源码实现,主要从以下三个方面: 1、result 组件页面结构 2、result 组件属性 3、result 组件 slot 一、result 组件页面结构 二、result 组件属性 2.1 title 属性,标题,类型 string,无默…

图神经网络:处理非欧几里得数据的新视角

目录 1. 引言 2.图数据与图神经网络基础 3.GNN模型详解 4.应用案例 4.1. 社交网络分析 4.2. 化学分子性质预测 5.总结 1. 引言 非欧几里得数据指的是那些不遵循传统欧几里得空间几何规则的数据。在欧几里得空间中,数据点之间的距离和形状可以通过标准的几何度…

ubuntu-server部署hive-part3-安装mysql

参照 https://blog.csdn.net/qq_41946216/article/details/134345137 操作系统版本:ubuntu-server-22.04.3 虚拟机:virtualbox7.0 部署mysql 下载上传 下载地址 https://downloads.mysql.com/archives/community/ 以root用户上传,/usr/loc…

JavaEE 初阶篇-深入了解单例模式(经典单例模式:饿汉模式、懒汉模式)

🔥博客主页: 【小扳_-CSDN博客】 ❤感谢大家点赞👍收藏⭐评论✍ 文章目录 1.0 单例模式的概述 2.0 单例模式 - 饿汉式单例 2.1 关于饿汉式单例的线程安全问题 3.0 单例模式 - 懒汉式单例 3.1 关于懒汉式单例的线程安全问题 3.1.1 加锁 synchr…

【C++】排序算法 --快速排序与归并排序

目录 颜色分类(数组分三块思想)快速排序归并排序 颜色分类(数组分三块思想) 给定⼀个包含红⾊、⽩⾊和蓝⾊、共 n 个元素的数组 nums ,原地对它们进⾏排序,使得相同颜⾊ 的元素相邻,并按照红⾊、…

【Servlet】服务器内部转发以及客户端重定向

文章目录 一、服务器内部转发:request.getRequestDispatcher("...").forward(request, response);二、客户端重定向:response.sendRedirect("");三、服务器内部转发代码示例四、客户端重定向代码示例 一、服务器内部转发&#xff1a…

卡尔曼滤波笔记

资料:https://www.zhihu.com/question/47559783/answer/2988744371 https://www.zhihu.com/question/47559783 https://blog.csdn.net/seek97/article/details/120012667 一、基本思想 在对一个状态值进行估计的时候,如果想测量值更准,很自然…