usb端口号绑定
由于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)即可。
最新文章
- RabbitMQ 集群安装过程详解
- [ASP.NET MVC 大牛之路]02 - C#高级知识点概要(1) - 委托和事件
- 使用IO流实现一个简单的小Dome
- hibernate----1-1-----两表关联属性放在另一个表里面
- DataGridView列排序混乱的处理方法
- PHP 5.4 中经 htmlspecialchars 转义后的中文字符串为空,DeDeCMS在PHP5.4下编辑器中文不显示问题
- PHP调用WebService
- 曾经的岁月之maya
- C++中的四种转型操作符
- Reorder List [leetcode] 这两种思路
- 关于WannaCry病毒的见解与预防,我有话说!
- 阿里云服务器实战(二): Linux MySql5.6数据库乱码问题
- 使用EasyPOI导出excel示例
- css3 media
- Redis和MySQL的结合方案
- 网络爬虫(一):配置selenium、pycharm(windows平台)
- 七周七语言之用Io编写领域特定语言
- P2540 斗地主增强版
- 集合类HashMap,HashTable,ConcurrentHashMap区别?
- 【BZOJ 1770 】 [Usaco2009 Nov]lights 燈 dfs+异或方程组