zoukankan      html  css  js  c++  java
  • 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,只需要在代码实现连接的地方将串口设置为软连接名称就可以了。

  • 相关阅读:
    LNMP安装了哪些软件?安装目录在哪?
    mysql导入数据大小设置方法
    JavaScript中的execCommand()命令详解及实例展示
    【燕山星云】三十而立,四十不惑...这是我看过最好人生的解读
    es6入门教程完整版
    Fisher's exact test( 费希尔精确检验)
    R语言中的箱图介绍 boxplot
    matlab 中保存某几个变量
    matlab 在代码中,显示错误,退出程序
    matlab 设置横纵坐标刻度的字体!!
  • 原文地址:https://www.cnblogs.com/fuhang/p/9641473.html
Copyright © 2011-2022 走看看