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 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:="", SYMLINK+="rplidar"
在硬件编码(idVendor)和产品编码(idProduct)对应位置填入4步中获得的编码。
使用如下命令进行复制:
cp rqlidar.rules /etc/udev/rules.d
进入该路径下查看是否存在该文件,也可以通过gedit打开文件进行查看。
6.拔下USB接口,并再次插入,在终端下输入:
ll /dev
在列表中会存在如下条目:表示已经实现了软连接。

总结:
通过以上的方法我们实现了串口USB的软连接,不需要再去考虑COMx,只需要在代码实现连接的地方将串口设置为软连接名称就可以了。
ROS 设置串口USB软连接的更多相关文章
- T450设置插入USB鼠标时自动禁用触摸板
刚入手T450,打字时经常碰到触摸板,很是恼火,于是求助万能的度娘,找了卡饭基佬的教程,实测可行,大家可以试试.<win7下如何设置插入USB鼠标时自动禁用触摸板>,地址:www.kafa ...
- Linux设置串口波特率等参数
转自 http://blog.csdn.net/zoomdy/article/details/50921336 mingdu.zheng at gmail dot com stty查看串口参数 stt ...
- ROS学习笔记七:在ROS中使用USB摄像头
下面是一些USB摄像头的驱动(大多数摄像头都支持uvc标准): 1 使用软件库里的uvc-camera功能包 1.1 检查摄像头 lsusb ----------------------------- ...
- Ubuntu16.04 + ROS下串口通讯
本文参考https://blog.csdn.net/weifengdq/article/details/84374690 由于工程需要,需要Ubuntu16.04 + ROS与STM32通讯,主要有两 ...
- 串口USB单一映射及重命名
本文针对在开发过程中有时会出现用到多个串口设备,usb端口号会发生变化,如设备的灯指示信号和其他控制器都是ttyUSB* .其序号与控制接入的顺序有关,对于写好的launch每次修改串口连接名很麻烦. ...
- Jetson AGX Xavier ROS下调用USB单目摄像头
Jetson AGX Xavier安装的ROS是Melodic版本的,所以部署的时候用到的包都是Melodic的. 1. 查看USB摄像头 摄像头连接Xavier设备,调用命令查看. ls /dev/ ...
- Windows Server 2008 R2域控组策略设置禁用USB
问题: Windows Server 2008 R2域控服务器如何禁用客户端使用USB移动存储(客户端操作系统需要 Windows Vista以上的操作系统,XP以下的操作系统不能禁用USB移动存储) ...
- MSP430设置串口波特率的方法
给定一个BRCLK时钟源,波特率用来决定需要分频的因子N: N = fBRCLK/Baudrate 分频因子N通常是非整数值,因此至少一个分频器和一个调制阶段用来尽可能的接 ...
- 设置tomcat支持软连接
一般开发时不会在tomcat安装目录/data/tomcat/webapps/ROOT 下去,上传部署:而是建立软连接,在tomcat安装目录之外操作,比如执行git pull拉取项目,而tomcat ...
随机推荐
- TZ_06_SpringMVC的入门程序
SpringMVC的入门程序 1. 创建WEB工程,引入开发的jar包 1. 具体的坐标如下 2. 配置核心的控制器(配置DispatcherServlet) 1. 在web.xml配置文件中核心控制 ...
- [LOJ2114][HNOI2015]-菜肴制作-拓扑排序+贪心
<题面> 一个蒟蒻的痛苦一天 在今天的节目集训中,麦蒙将带领大家学习9种错误的解题策略 $15\%$算法(看两个就往下走吧) 1> puts("Impossible!&qu ...
- SpringBoot集成lombook让代码更简洁
1)添加lombok依赖 <dependency> <groupId>org.projectlombok</groupId> <artifactId>l ...
- 使用Spring Data Redis时,遇到的几个问题
需求: 1,保存一个key-value形式的结构到redis 2,把一个对象保存成hash形式的结构到redis 代码如下: // 保存key-value值 pushFrequency ...
- Vue.之.项目开发工具选用
Vue.之.项目开发工具选用 上篇文章记录了创建项目,这篇文件记录,如何对创建的项目进行开发.这里选择一个工具:Visual Studio Code (请自行下载安装) 1. 打开VSCode工具,并 ...
- Robbin负载均衡
Robbin是在Spring Cloud中的一个组件,是由Netfix发布的负载均衡器,有助于控制HTTP和TCP客户端的行为.它给我们提供了默认的轮询.随机等负载均衡算法.同时也可以由我们定义自己的 ...
- linux设置变量的三种方法
1在/etc/profile文件中添加变量对所有用户生效(永久的) 用VI在文件/etc/profile文件中增加变量,该变量将会对Linux下所有用户有效,并且是“永久生效”. 例如:编辑/etc/ ...
- 洛谷P2667 超级质数 [2017年6月计划 数论05]
P2667 超级质数 题目背景 背景就是描述,描述就是背景...... 题目描述 一个质数如果从个位开始,依次去掉一位数字,两位数字,三位数字......直到只剩一位数字中间所有剩下的数都是质数,则称 ...
- shared_from_this bad_weak_ptr的原因
原因:创建类A的对象的时候没有用智能指针包裹,而是直接new的裸指针. enable_from_this 的使用与实现原理说明: shared_from_this()是enable_shared_fr ...
- Django 用 userena 做用户注册验证登陆
django-admin startproject userena2 cd userena2python manage.py startapp accounts vim userena2/settin ...