目录:

  • 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

查看需要绑定的设备的idVendoridpProduct,我这里是绑定一个陀螺仪,首先通过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模块数据相关推荐

  1. js实现modbus_nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据

    nodejs中使用modbus-serial库创建Modbus TCP读取设备的数据 在nodejs中安装modbus-serial库 本人使用的开发环境是Windows10下的VSCode,安装并配 ...

  2. Linux中USB端口映射

    由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插, 在网上找到一种方法:udev的规则 udev的规则说明,可以参考博客说明:ht ...

  3. Ubuntu中eclipse端口被占

    我的eclipse有时候会闪退,然后再次打开运行HTML程序的时候会提示端口被占,即使之前改过端口也会提示,然后我就在网上搜索解决办法,目前亲测有效的是 输入以下命令: lsof -i:8888 // ...

  4. php mysql 绑定变量,在MYSQL中,怎么用PDO绑定变量的方式插入数据?

    比如我的SQL语句是 INSERT INTO `man_db_write`.`man_articles` (`title`,`content`,`created`) VALUES (:0_title, ...

  5. ROS读取手机GPS数据(1)

    昨天学习了原创文章,并得以实现< 在ROS(indigo)中读取手机GPS用于机器人定位~GPS2BT在ubuntu和window系统下的使用方法~> http://blog.csdn.n ...

  6. ubuntu中抓包工具tcpdump使用详解

    简介 用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具. tcpdump可以将网络中传送的数据包的 ...

  7. Ubuntu系统 USB设备端口绑定

    前言 在Ubuntu中,有时使用多个USB设备时,出现USB端口号混乱: 比如:A设备本来对应 /dev/ttyUSB0,B设备对应 /dev/ttyUSB1: 发现重启系统后,A设备本来对应 /de ...

  8. ubuntu共享usb接口给虚拟机_如何在虚拟机的Ubuntu12.04中使用外部USB设备

    2016-10-26 回答 让虚拟机可以使用host机上的外设,就必须在host中开启虚拟机的此项服务 本例为usb接口, 计算机右击选择管理,在弹出的计算机管理对话框中在左边一栏中选中"服 ...

  9. 把Linux下外设的USB端口号映射到固定的名字

    目录 1. 固定USB设备的端口号的原理 2..rules文件的编写方法 3.映射结果查看 1. 固定USB设备的端口号的原理 近期调试了一款云台,控制方面需要用到串口通信,调试过程中发现了一个问题, ...

  10. python关机usb端口_使用python关闭windows中的特定USB端口

    这是我的第一篇文章,我已经看到了越具体越好,所以我会尽量说得非常清楚,并提前感谢!在 我想要的: 我需要同时扫描2台或更多扫描仪的图像,这些扫描仪来自同一品牌和型号,在这种情况下爱普生完美V600,我 ...

最新文章

  1. 积少成多 Flash(ActionScript 3.0 Flex 3.0) 系列文章索引
  2. Linux性能研究(总)
  3. linux里grep和egrep,fgrep的区别
  4. 客户说有了PAI-AutoML,一下子可以节约半年开发周期
  5. winform分页案例简单实现方式~
  6. [转载] 【Java】将一个字符串的字符排序,按ASCII表的顺序从小到大
  7. STM32----摸石头过河系列(三)
  8. 解决Flash挡住层用z-index无效的问题
  9. ssm返回oracle序列,SSM之JSON通用返回格式
  10. redis 安装填坑记录
  11. android安卓技能进阶篇
  12. jenkins插件镜像源
  13. 2019.7.summary
  14. saas系统和php mysql的区别_saas系统和传统erp的区别是什么?
  15. Java输出PPT文件(二) - 占位符数据替换
  16. filebeat7.7.0相关详细配置预览- Filebeat inputs
  17. Python爬虫解决推广链接(跳转网页)的办法
  18. asp mysql 留言本_手把手教你用ASP制作留言本
  19. 石康炮轰《金婚》《士兵突击》 它们俩得奖太不靠谱
  20. JavaScript:替换原段落中的文字并将其变成红色

热门文章

  1. 微信小程序 组件传值(一) properties 父传子
  2. VS Code插件安装位置
  3. base16、base32和base64转码原理
  4. app录制回放 jmeter_Jmeter使用之脚本录制回放
  5. Go-Redis使用手册
  6. AI再造一个“李佳琦”,难嘛?
  7. 毕业设计-基于汇编语言的at89c52单片机可调数字钟的设计,基于AT89S52单片机数字钟的仿真设计(汇编语言程序)...
  8. vue 2.0项目中使用tinymce富文本框遇到的问题
  9. 《软件开发》串口调试助手
  10. 想要学习C++,就必须要学习C语言吗?