由于ubuntu USB设备号为从零开始依次累加,所以多个设备每次开机后设备号不固定,机器人每次开机都要蛋疼的按顺序插,

在网上找到一种方法:udev的规则

udev的规则说明,可以参考博客说明:http://blog.csdn.net/cokewei/article/details/8281239

将端口重映射到新的固定的名字,并且设置其权限为可读。使用对应的id端口映射到固定的名字上。

lsusb

查看对应的usb端口信息

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 001 Device 004: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

udev的规则

$kernel, %k:设备的内核设备名称,例如:sda、cdrom。

ID  10c4:ea60     表示usb设备的ID(这个ID由芯片制造商设置,可以唯一表示该设备)
    10c4    usb_device_descriptor.idVendor
    ea60    usb_device_descriptor.idProduct

依据上面信息写udev文件:我用的是rplidar的激光雷达usb串口

我的串口设备信息

Bus 001 Device 005: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
sudo vi /etc/udev/rules.d/rplidar.rules

  

KERNEL=="ttyUSB*", ATTRS{idVendor}=="10c4", ATTRS{idProduct}=="ea60", MODE:="0777", SYMLINK+="rplidar"

 创建生效后重新插拔USB

 ls -l /dev |grep ttyUSB

  显示

lrwxrwxrwx  1 root   root           7 Nov 29 14:03 rplidar -> ttyUSB1
crw-rw-rw- 1 root dialout 188, 0 Nov 29 14:03 ttyUSB0
crwxrwxrwx 1 root dialout 188, 1 Nov 29 14:03 ttyUSB1

多个不同型号设备可使用这种方法来区分

 打开设备时,用(/dev/rplidar)即可。

  

  

最新文章

  1. 小制作-css+html旋转木马
  2. 不可或缺 Windows Native (14) - C++: 文件
  3. perl检查变量是否定义
  4. content.boundingRectWithSize计算出来的高度不准
  5. Android ListView不响应OnItemClickListener解决办法
  6. 如何写出性能好的sql
  7. cakephp recursive -1,0,1,2 速查
  8. 【android】Android检查是否已经连接到网络
  9. Uploadifive 使用教程【结合七牛】
  10. lucene全文搜索之一:lucene的主要功能和基本结构(基于lucene5.5.3)
  11. PE文件详解(五)
  12. python+xlsxwriter+PIL自动压图贴图到Excel小工具
  13. mongoDB介绍、安装、搭建简单的mongoDB服务器(一)
  14. hibernate多对多 一对多 及简单入门 主键生成策略
  15. Tomcat如何发布web项目
  16. window.onload和jquery等待加载的区别
  17. python 函数编程
  18. jvm的调优
  19. Android开发之Activity生命周期篇
  20. Dotfuscator Professional Edition获取代码发布和混淆代码

热门文章

  1. for循环嵌套的优化
  2. synergy 两台Windows电脑配置过程
  3. [Python]实现简单决策树
  4. Google开源SLAM软件cartographer中使用的UKF滤波器解析
  5. FUNCTION
  6. SQL知识整理一:触发器、存储过程、表变量、临时表
  7. 【解决方法】magento paypal快速结账 不跳转
  8. Python_Day12_python mysql and ORM and redis
  9. 【OS】分页和分段
  10. RedHat下Bugzilla的安装和配置