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

  • 相关阅读:
    .Net2.0 中 Page 页面的事件触发顺序
    vs 中自带的代码混淆器 Dotfuscator (图)
    SqlHelper 中文注释版(值得收藏)
    (原创)用重载实现 treeview 的无限分类递归调用(图)
    通过前置代码指定嵌套中的 Repeater 事件!
    vs2008 中提高开发效率的一些快捷键
    强内聚,弱耦合
    也谈 SQL 注入攻击。
    ASP.NET 页面中动态加载用户控件
    ASP 调用存储过程,同时返回记录集和输出参数
  • 原文地址:https://www.cnblogs.com/fuhang/p/9641473.html
Copyright © 2011-2022 走看看