Ubuntu中USB端口与外设绑定,ROS读取IMU模块数据
目录:
- 1、根据设备ID绑定
- 1.1 查看ID
- 1.2 编写USB规则文件
- 1.3 查看绑定结果
- 2、 根据电脑USB口绑定
- 2.1 找到USB端口名称
- 2.2 编写绑定规则
- 3、 通过ROS读数据
1、根据设备ID绑定
方法原理:根据设备使用的串口芯片的型号来进行绑定
好处:不需要固定设备插入的USB口,每次拔插到计算机上的任意USB口都可以识别为同一个设备
坏处:如果计算机中有多个设备并且使用的是同一款串口芯片就会混乱,因为设备ID都是一样的
1.1 查看ID
查看需要绑定的设备的idVendor
和idpProduct
,我这里是绑定一个陀螺仪,首先通过usb把设备连接到电脑
$ lsusb
可以看到这块陀螺仪使用的串口芯片是CP210x,设备ID是10c4:ea60
1.2 编写USB规则文件
首先进入到我们usb设备规则存放的目录下
$ cd /etc/udev/rules.d
可以看到这里存放着各种规则,我们新建一个USB端口映射规则
$ sudo vim com_imu.rules
写入如下内容
1.3 查看绑定结果
查看一下我们的外设
$ ls /dev/tty*
可以看到没有起效,因为我们还需要重新载入一下我们的规则才能实现端口映射
$ sudo udevadm trigger
再次查看设备
可以看到设备已经绑定成功了,之后不管设备插入哪个USB口最后都会被识别为 /dev/IMU0
2、 根据电脑USB口绑定
实现原理:根据电脑自身的USB硬件地址进行绑定
好处:可以解决设备使用同一款串口芯片导致ID相同的问题
坏处:对应的设备必须每次都要插入同一个USB端口
2.1 找到USB端口名称
先拔掉设备,输入命令
$ ls /dev/tty*
插入设备,输入命令
$ ls /dev/tty*
可以看到当前设备插入的USB端口为 /dev/ttyUSB0
, 查看这个端口的信息
$ udevadm info --attribute-walk --name=/dev/ttyUSB0
可以看到现在使用的端口号为“1-4.3:1.0”
2.2 编写绑定规则
同样地在/etc/udev/rules.d/
目录下新建一个绑定规则
$ sudo vim /etc/udev/rules.d/ttyUSB_Link_imu.rules
写入如下内容:
保存并重启电脑,在终端中查看是否绑定成功
可以看到已经绑定成功,后面我们尝试在ROS里面把IMU数据读出来。
3、 通过ROS读数据
我这里已经编译好了IMU的功能包,直接roslaunch启动IMU节点,通过rostopic list
查看当前话题
可以看到已经有/imu话题了,下面我们看看话题的数据
可以看到一帧数据中包含了:姿态角、加速度、角速度
Ubuntu中USB端口与外设绑定,ROS读取IMU模块数据相关推荐
- js实现modbus_nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据
nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据 在nodejs中安装modbus-serial库 本人使用的开发环境是Windows10下的VSCode,安装并配 ...
- Linux中USB端口映射
由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...
- Ubuntu中eclipse端口被占
我的eclipse有时候会闪退,然后再次打开运行HTML程序的时候会提示端口被占,即使之前改过端口也会提示,然后我就在网上搜索解决办法,目前亲测有效的是 输入以下命令: lsof -i:8888 // ...
- php mysql 绑定变量,在MYSQL中,怎么用PDO绑定变量的方式插入数据?
比如我的SQL语句是 INSERT INTO `man_db_write`.`man_articles` (`title`,`content`,`created`) VALUES (:0_title, ...
- ROS读取手机GPS数据(1)
昨天学习了原创文章,并得以实现< 在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~> http://blog.csdn.n ...
- ubuntu中抓包工具tcpdump使用详解
简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...
- Ubuntu系统 USB设备端口绑定
前言 在Ubuntu中,有时使用多个USB设备时,出现USB端口号混乱: 比如:A设备本来对应 /dev/ttyUSB0,B设备对应 /dev/ttyUSB1: 发现重启系统后,A设备本来对应 /de ...
- ubuntu共享usb接口给虚拟机_如何在虚拟机的Ubuntu12.04中使用外部USB设备
2016-10-26 回答 让虚拟机可以使用host机上的外设,就必须在host中开启虚拟机的此项服务 本例为usb接口, 计算机右击选择管理,在弹出的计算机管理对话框中在左边一栏中选中"服 ...
- 把Linux下外设的USB端口号映射到固定的名字
目录 1. 固定USB设备的端口号的原理 2..rules文件的编写方法 3.映射结果查看 1. 固定USB设备的端口号的原理 近期调试了一款云台,控制方面需要用到串口通信,调试过程中发现了一个问题, ...
- python关机usb端口_使用python关闭windows中的特定USB端口
这是我的第一篇文章,我已经看到了越具体越好,所以我会尽量说得非常清楚,并提前感谢!在 我想要的: 我需要同时扫描2台或更多扫描仪的图像,这些扫描仪来自同一品牌和型号,在这种情况下爱普生完美V600,我 ...
最新文章
- 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引
- Linux性能研究(总)
- linux里grep和egrep,fgrep的区别
- 客户说有了PAI-AutoML,一下子可以节约半年开发周期
- winform分页案例简单实现方式~
- [转载] 【Java】将一个字符串的字符排序,按ASCII表的顺序从小到大
- STM32----摸石头过河系列(三)
- 解决Flash挡住层用z-index无效的问题
- ssm返回oracle序列,SSM之JSON通用返回格式
- redis 安装填坑记录
- android安卓技能进阶篇
- jenkins插件镜像源
- 2019.7.summary
- saas系统和php mysql的区别_saas系统和传统erp的区别是什么?
- Java输出PPT文件(二) - 占位符数据替换
- filebeat7.7.0相关详细配置预览- Filebeat inputs
- Python爬虫解决推广链接(跳转网页)的办法
- asp mysql 留言本_手把手教你用ASP制作留言本
- 石康炮轰《金婚》《士兵突击》 它们俩得奖太不靠谱
- JavaScript:替换原段落中的文字并将其变成红色
热门文章
- 微信小程序 组件传值(一) properties 父传子
- VS Code插件安装位置
- base16、base32和base64转码原理
- app录制回放 jmeter_Jmeter使用之脚本录制回放
- Go-Redis使用手册
- AI再造一个“李佳琦”,难嘛?
- 毕业设计-基于汇编语言的at89c52单片机可调数字钟的设计,基于AT89S52单片机数字钟的仿真设计(汇编语言程序)...
- vue 2.0项目中使用tinymce富文本框遇到的问题
- 《软件开发》串口调试助手
- 想要学习C++,就必须要学习C语言吗?