原创:未经同意,请勿转载

我们在windows 通过USB连接串口,在设备串口中可以观测到COM0或者COMx.当我们插入不同的USB口时会显示不同的COM。

在UBUNTU下,ROS下接收串口信息时,也需要设置COM接口,特别是当有两个串口接入的时候,需要区分对应COM端口号。

接下来我们就来解决在ROS下串口变动的问题,通过软连接固定COM口。

1.首先我们打开一个终端,输入如下命令:

  1. ll /dev

出现如下:

发现里边没有关于USB COM信息,这是因为我们还没有接入串口。

2. 我们将串口数据线通过USB接入UBANTU系统,在终端输入输入以上命令。

  1. ll /dev

出现如下:可以看到有了一个ttyUSB0

3.查看USB接口权限,若为一个rw,则需要修改USB权限,将其设置为所有用户可读可写模式,这样做是为了实现对USB0进行访问。

也是通过命令:

  1. ll /dev

若这里只有一个rw,则需要修改权限。通过以下命令修改。在修改之前首先要进入dev路径

  1. cd /dev
  1. sudo chmod ttyUSB0

修改之后就会发现USB0变为了可读可写模式。

4.获取该USB的硬件编码(idVendor)和产品编码(idProduct),不同的USB有着不同的硬件编码和产品编码,在终端输入如下命令:

  1. lsusb -vvv

出现如下界面:可以找到USB硬件编码和产品编码。

5.在home下创建文件rqlidar.rules文件,并将其复制到/utc/udev/rules.d/路径下。

在rqlidar.rules中写入如下内容:其中"rplidar"是软连接名称。

  1. KERNEL=="ttyUSB*", ATTRS{idVendor}=="1d6b", ATTRS{idProduct}=="0002", MODE:="", SYMLINK+="rplidar"

在硬件编码(idVendor)和产品编码(idProduct)对应位置填入4步中获得的编码。

使用如下命令进行复制:

  1. cp rqlidar.rules /etc/udev/rules.d

进入该路径下查看是否存在该文件,也可以通过gedit打开文件进行查看。

6.拔下USB接口,并再次插入,在终端下输入:

  1. ll /dev

在列表中会存在如下条目:表示已经实现了软连接。

总结:

通过以上的方法我们实现了串口USB的软连接,不需要再去考虑COMx,只需要在代码实现连接的地方将串口设置为软连接名称就可以了。

ROS 设置串口USB软连接的更多相关文章

  1. T450设置插入USB鼠标时自动禁用触摸板

    刚入手T450,打字时经常碰到触摸板,很是恼火,于是求助万能的度娘,找了卡饭基佬的教程,实测可行,大家可以试试.<win7下如何设置插入USB鼠标时自动禁用触摸板>,地址:www.kafa ...

  2. Linux设置串口波特率等参数

    转自 http://blog.csdn.net/zoomdy/article/details/50921336 mingdu.zheng at gmail dot com stty查看串口参数 stt ...

  3. ROS学习笔记七:在ROS中使用USB摄像头

    下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...

  4. Ubuntu16.04 + ROS下串口通讯

    本文参考https://blog.csdn.net/weifengdq/article/details/84374690 由于工程需要,需要Ubuntu16.04 + ROS与STM32通讯,主要有两 ...

  5. 串口USB单一映射及重命名

    本文针对在开发过程中有时会出现用到多个串口设备,usb端口号会发生变化,如设备的灯指示信号和其他控制器都是ttyUSB* .其序号与控制接入的顺序有关,对于写好的launch每次修改串口连接名很麻烦. ...

  6. Jetson AGX Xavier ROS下调用USB单目摄像头

    Jetson AGX Xavier安装的ROS是Melodic版本的,所以部署的时候用到的包都是Melodic的. 1. 查看USB摄像头 摄像头连接Xavier设备,调用命令查看. ls /dev/ ...

  7. Windows Server 2008 R2域控组策略设置禁用USB

    问题: Windows Server 2008 R2域控服务器如何禁用客户端使用USB移动存储(客户端操作系统需要 Windows Vista以上的操作系统,XP以下的操作系统不能禁用USB移动存储) ...

  8. MSP430设置串口波特率的方法

    给定一个BRCLK时钟源,波特率用来决定需要分频的因子N:               N = fBRCLK/Baudrate 分频因子N通常是非整数值,因此至少一个分频器和一个调制阶段用来尽可能的接 ...

  9. 设置tomcat支持软连接

    一般开发时不会在tomcat安装目录/data/tomcat/webapps/ROOT 下去,上传部署:而是建立软连接,在tomcat安装目录之外操作,比如执行git pull拉取项目,而tomcat ...

随机推荐

  1. hdu 2586 (lca-RMQ)

    #include <iostream> #include <cstdlib> #include <cstring> #include <queue> # ...

  2. poj 1144 Network(割点 入门)

    Network Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 10907   Accepted: 5042 Descript ...

  3. UML类图解释

    那个动物矩形框,它就代表一个类(Class).类图分三层,第一层显示类的名称,如果是抽象类,则就用斜体显示.第二层是类的特性,通常是字段和属性.第三层是类的操作,通常是方法或行为.注意前面的符号,“+ ...

  4. hibernate 查询最大值(数据条目数)

    如下 使用 SELECT COUNT(*) 然后获取最大值 Integer.parseInt(query.list().).toString()); 比如 StringBuffer hql1; hql ...

  5. 常用长度单位PX/EM/PT/百分比转换公式与对照表

    PX.PT.EM.ex和in等都是我们常用的长度单位,尤其在网页的字体大小中经常用到.但是你知道PX.PT和EM之间是如何进行准换的吗?这里icech为大家找到了一个px.pt.em和percent大 ...

  6. java-io流入门

    一 概述 已学习过的API常见对象解决的问题: 字符串String--操作文本数据.字符串缓冲区---容器,可以存储很多的任意类型的数据--字符串. 基本数据类型包装类---解决了字符串和基本数据类型 ...

  7. LUOGU P2827 蚯蚓 (noip 2016)

    传送门 解题思路 第一眼以为是一个二叉堆,直接上优先队列60分...后来听ztz11说有单调性,新加入的蚯蚓一定比原先在的蚯蚓长度长,开三个队列,分别放原先的长度,切掉后大的那一半,切掉后小的那一半. ...

  8. linux下监测进程是否存在

    因为有的统计脚本需要执行很久,而有不能总去人工的检查进程是否在跑,所以就用shell脚本来循环监测进程是否存在 尝试了网上说的$?表示上一条命令返回值总是达不到预期的结果,后来直接改成用一个变量记录返 ...

  9. 杨柳絮-Info:春天将不再漫天飞“雪”,济源治理杨柳絮在行动

    ylbtech-杨柳絮-Info:春天将不再漫天飞“雪”,济源治理杨柳絮在行动 1.返回顶部 1. 天气暖和了,连心情都是阳光的.然而,在这美好的时刻,漫天飞舞的杨柳絮,甚是煞风景.<ignor ...

  10. php thrift TServerSocket实现端口复用

    <?php namespace Message\Controller; use Think\Controller; use Thrift\Exception\TException; use Th ...