在ubuntu下經常插入多個usb設備則需要知道端口號但是每次都是隨即分配/dev/ttyUSB0~9
一,綁定usb芯片,但是同型號芯片不能同時插
則通過一下方法綁定設備串口名稱
首先
lsusb
出現如下
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub Bus 001 Device 008: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter Bus 001 Device 007: ID 046d:c534 Logitech, Inc. Unifying Receiver Bus 001 Device 002: ID 2109:3431 VIA Labs, Inc. Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
以第2個為例
記下ID 1a86:7523
sudo vim /etc/udev/rules.d/com_port.rules
內容如下
KERNEL=="ttyUSB*" , ATTRS{idVendor}=="1a86",ATTRS{idProduct}=="7523",MODE:="0 777" ,SYMLINK+="mpu9250"
然后
sudo sudo udevadm trigger
使其生效
查閱別的看到有使用 sudo service udev reload sudo service udev restart 但是我這里沒啥效果
然后查看
pi@raspberry:~$ ls -l /dev/mpu9250 lrwxrwxrwx 1 root root 7 12月 16 08:53 /dev/mpu9250 -> ttyUSB0
二,綁定usb硬件端口,只要插入該usb端口即為設定設備名
pi@raspberry:~$ ls /sys/class/tty/ttyUSB* -l lrwxrwxrwx 1 root root 0 12月 18 03:20 /sys/class/tty/ttyUSB0 -> ../../devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.2/1-1.2:1.0/ttyUSB0/tty/ttyUSB0 lrwxrwxrwx 1 root root 0 12月 18 03:20 /sys/class/tty/ttyUSB1 -> ../../devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4:1.0/ttyUSB1/tty/ttyUSB1 lrwxrwxrwx 1 root root 0 12月 18 03:20 /sys/class/tty/ttyUSB2 -> ../../devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.3/1-1.3:1.0/ttyUSB2/tty/ttyUSB2
黃色字體極為固定串口編號
sudo vim /etc/udev/rules.d/com_port.rules
內容如下
ACTION=="add", KERNELS=="1-1.2:1.0" , SUBSYSTEMS=="usb" , MODE:="0777" , SYMLINK+="mpu9250" ACTION=="add", KERNELS=="1-1.4:1.0" , SUBSYSTEMS=="usb" , MODE:="0777" , SYMLINK+="arduino2560" ACTION=="add", KERNELS=="1-1.3:1.0" , SUBSYSTEMS=="usb" , MODE:="0777" , SYMLINK+="rplidar"
保存退出后重新插拔設備即可生成固定設備名
通過該方式 設定的激光雷達不能正常驅動錯誤如下
Error, cannot bind to the specified serial port /dev/rpliadr.
解決
ACTION=="add", KERNELS=="1-1.3:1.0" , SUBSYSTEMS=="usb" , MODE:="0777" , SYML INK+="rplidar" ,TAG+="systemed"
https://answers.ros.org/question/248066/integrating-voxel_layer-into-the-costmap/