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

news2025/1/21 1:04:16

问题描述: 

自己的移动机器人在为激光雷达和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.coloradmin.cn/o/1571655.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vuex(vue 项目中实现 频繁、大范围数据共享的技术方案)

参考文档(点击查看) 好处 1.数据的存取一步到位,不需层层传递 2.数据的流动非常清晰 3.存储在Vuex中的数据都是响应式的(数据更新后,使用数据的组件都会自动更新) Vuex基础配置 npm i vuex3.6.2state中用来存储数据&#xff0c…

如何客观评价5G的现状?

前几天,在知乎上看到一个帖子,热度挺高: 看了一下帖子的回答,基本上都在骂5G。 作为通信行业从业者,我说说我自己的看法。大家姑且听听,一起交流一下。 我们目前所处的这个时代,有一个很大的特点…

移动Web学习05-移动端适配Less预处理器

7、移动端适配 7.1、什么是适配? 简单理解就是、同一个网页,在不同屏幕分辨率的设备下、显示还是一样的,你可以理解为、网页当中的图片,盒子之间的距离、文字的大小、随着屏幕分辨率的变化而变化 前面我们学习了flex布局的方式…

Web大并发集群部署之集群介绍

一、传统web访问模型 传统web访问模型完成一次请求的步骤 1)用户发起请求 2)服务器接受请求 3)服务器处理请求(压力最大) 4)服务器响应请求 传统模型缺点 单点故障; 单台服务器资源有限&…

excel统计分析——多元线性回归

参考资料:生物统计学 多元线性回归(multiple linear regression)是具有一个因变量或多个(两个或以上)自变量的线性回归,是直线回归的拓展,其模型和计算过程与直线回归类似,只是在计算…

【软件工程】测试规格

1. 引言 1.1简介 本次的测试用例是基于核心代码基本开发完毕,在第一代系统基本正常运行后编写的,主要目的是为了后续开发与维护的便利性。 该文档主要受众为该系统后续开发人员,并且在阅读此文档前最后先阅读本系统的需求文档、概要设计文…

Qt事件学习案例

视频链接 https://www.bilibili.com/video/BV18B4y1K7Cs?p7&spm_id_frompageDriver&vd_sourcefa4ef8f26ae084f9b5f70a5f87e9e41bQt5跟着视频做即可,Qt6部分代码需要改动,改动的地方注释有写 素材 百度云 链接:https://pan.baidu.com/s/158j…

K8S - Deployment 的版本回滚

当前状态 先看deployment rootk8s-master:~# kubectl get deploy -o wide --show-labels NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES …

蓝桥杯嵌入式(G431)备赛笔记——LED

cubeMX配置: 原理图,其中PD2高电平使能锁存器,PC8-15默认给高电平,放置上电初始化LED亮 74HC573是八路输出锁存器 1脚是使能,低电平有效,高电平输出高阻 2~9是输入,PC8-PC15 19~12是输出 11是锁存,即PD2: 高电平是同步,即输出跟随输入变化 低电平锁存,即输出不再改变 …

RUST Rover 条件编译 异常处理

按官方处理发现异常 会报异常 error: failed to parse manifest at C:\Users\topma\RustroverProjects\untitled2\Cargo.toml 修改模式如下才能正常编译 网上说明 这样处理 https://course.rs/cargo/reference/features/intro.html RUST 圣经里描述 [features] print-a []…

如何用putty通过ssh连接ubuntu

1. 下载和安装PuTTY 访问PuTTY官网下载PuTTY的最新版本。 2. 打开PuTTY 解压下载的文件后,找到PuTTY文件并双击打开。 3. 配置SSH连接 在ubuntu下安装ssh服务在安装ssh时,我一直遇到一个问题,原因是我的虚拟机连不上网,反复实…

Linux之shell脚本编辑工具awk

华子目录 概念工作流程工作图流程(按行处理) awk程序执行方式1.通过命令行执行awk程序实例 2.awk命令调用脚本执行实例 3.直接使用awk脚本文件调用实例 awk命令的基本语法格式BEGIN模式与END模式实例awk的输出 记录和域(记录表示数据行&#…

若依:一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台

若依后台管理系统:一个基于Spring Boot、Spring Security、JWT、Vue和Element的全部开源快速开发平台 一、引言 随着软件开发技术的发展,前后端分离的开发模式逐渐成为主流。这种模式能够提高开发效率,降低维护成本,使前后端工程…

SketchUp Pro 2024 for mac 草图大师 专业的3D建模软件

SketchUp Pro 2024 for Mac是一款功能强大的三维建模软件,适用于Mac电脑。其简洁易用的界面和强大的工具集使得用户可以轻松创建复杂的3D模型。 软件下载:SketchUp Pro 2024 for mac v24.0.483 激活版下载 SketchUp Pro 2024 for Mac支持导入和导出多种文…

leetcode.面试题 02.07. 链表相交

题目 给你两个单链表的头节点 headA 和 headB ,请你找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 思路 假a在链表A上移动,b在链表B上移动,a移动完在B上开始&…

人脸识别:Arcface--loss+code

之前只接触过传统方法的人脸识别算法,本以为基于深度学习的方法会使用对比损失之类的函数进行训练,但是Arcface算法基于softmax进行了创新,本文未深究其详细的loss公式原理,在大致明白其方向下,运行了代码,…

加速度:电子元器件营销网站的功能和开发周期

据工信部预计,到2023年,我国电子元器件销售总额将达到2.1万亿元。随着资本的涌入,在这个万亿级赛道,市场竞争变得更加激烈的同时,行业数字化发展已是大势所趋。电子元器件B2B商城平台提升数据化驱动能力,扩…

云服务器ECS租用价格表报价——阿里云

阿里云服务器租用价格表2024年最新,云服务器ECS经济型e实例2核2G、3M固定带宽99元一年,轻量应用服务器2核2G3M带宽轻量服务器一年61元,ECS u1服务器2核4G5M固定带宽199元一年,2核4G4M带宽轻量服务器一年165元12个月,2核…

docker的安装及入门指令

目录 一、将docker安装到云服务器步骤 1.更新系统yum版本 2.安装所需依赖 3.添加docker仓库设置(使用的是阿里云) 4.安装docker引擎 5.启动docker并开启自动启动 6. 检查是否安装成功,成功会显示相应版本,否则安装失败 二、docker常用命令 1.从…

Chatgpt掘金之旅—有爱AI商业实战篇|专业博客|(六)

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业博客领域有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着AI技…