ROS知識(22)----USB口對映固定名字

horsetail發表於2017-08-23

如果有多個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?

相關文章