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

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

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

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

1
lsusb

查看对应的usb端口信息

1
2
3
4
5
6
7
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串口

我的串口设备信息

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

  

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

 创建生效后重新插拔USB

1
ls -l /dev |grep ttyUSB

  显示

1
2
3
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)即可。

http://www.cnblogs.com/CZM-/p/6113475.html

最新文章

  1. Thinking in Java 学习笔记(一)
  2. 【BZOJ-1090】字符串折叠 区间DP + Hash
  3. Apache配置代理服务器的方法(2)
  4. javascript onload队列
  5. 结构体用于map,set时要重载运算符<
  6. ASP.NET MVC 学习8、Controller中的Detail和Delete方法
  7. js中的一些零碎方法
  8. 发现可高速缓存的 SSL 页面
  9. ucos 创建 空闲任务的目的
  10. java变量和数据类型总结
  11. 【原创】Ionic单页应用跳转外链,构造路由返回的解决办法及代码
  12. 002-zookeeper 基本配置、安装启动 windows环境
  13. jQuery中$.ajax()方法参数解析
  14. ProtocolBuffer for Objective-C 运行环境配置及使用
  15. 装完Centos7提示Initial setup of CentOS Linux 7 (core)
  16. hadoop启动
  17. js事件监听
  18. 两种常量类型-readonly和const
  19. 【jsp】配置错误页面
  20. 微软正式开源Blazor,将.NET带回到浏览器

热门文章

  1. Beta——代码规范与计划
  2. 20190712_mysql执行sql脚本语句_Failed to open file_error
  3. PriorityQueue 优先队列的实现
  4. 部署 Prometheus 和 Grafana 到 k8s
  5. Zabbix监控使用进阶
  6. PyQt(Python+Qt)学习随笔:QTabWidget选项卡部件设置tabsClosable后不能关闭选项卡的原因
  7. 百度前端技术学院-基础-day20-21
  8. Springboot websocket学习Demo
  9. 本地安装yum源脚本
  10. 从零开始了解多线程 之 深入浅出AQS -- 上