• ROS 设置串口USB软连接


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

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

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

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

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

    ll /dev

    出现如下:

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

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

    ll /dev

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

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

    也是通过命令:

    ll /dev

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

    cd /dev
    sudo chmod 666 ttyUSB0

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

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

    lsusb -vvv

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

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

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

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

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

    使用如下命令进行复制:

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

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

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

    ll /dev

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

    总结:

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

  • 相关阅读:
    老了老了呜呜呜呜
    我们的焦点在哪里
    visual studio 2010
    饥饿游戏2 影评
    两个极端
    关于怀旧
    进程 线程 碎角料
    拥塞控制
    [zz] 几种类间关系:继承、实现、依赖、关联、聚合、组合及UML实现图
    Markdown 的使用
  • 原文地址:https://www.cnblogs.com/fuhang/p/9641473.html
Copyright © 2020-2023  润新知