ROS知识(22)----USB口映射固定名字
如果有多个usb链接到电脑,如果插入的先后顺序不同,那么会导致对应的usb口也会不同,例如当只有一个激光的usb链接到电脑,其设备名字为/dev/ttyUSB0;当如果有底盘的usb以及激光的usb连到电脑时,如果先插入底盘的usb,再插入激光的usb底盘的usb,那么激光的usb对应的设备名字就变成了/dev/ttyUSB1。在实际中我们想激光设备对应识别出来的设备名字是不变的,比如我们想它一直是名字/dev/ttyLaser。为了做到这样的效果,我们需要编辑linux提供的规则文件,来完成这样的功能。具体的步骤如下:
a.编辑激光usb的规则
sudo vim /etc/udev/rules.d/laser-usb-serial.rules
b.输入内容
SUBSYSTEM=="tty", ATTRS{idVendor}=="2d31", ATTRS{idProduct}=="5874", SYMLINK+="ttyLaser", MODE:="0666",OWNER:="root"
关于SUBSYSTEM、idVendor、idProduct属性的性质可以通过一下的命令查找到:
lsusb
或者
udevadm info --name=/dev/ttyUSBx --attribute-walk
请先插入激光的usb到电脑,然后执行以上的命令,注意 /dev/ttyUSBx 中的x表示对应的标识号,可以在/dev查找,例如可以输入人:ls /dev/ttyUSB 然后tab一下就能显示所有的设备名称
c.更新规则
sudo udevadm trigger
d.检查
如果一切顺利的话,会发现通过命令来检查:
ls -l /dev/ttyLaser
详细的设置方法,请参考:How to bind USB device under a static name?
Make Change - Focus on Computer Vision and Pattern Recognition
版权声明:本文为博主原创文章,未经博主允许不得转载
版权声明:本文为博主原创文章,未经博主允许不得转载