设备ID不同时
首先说一下当设备ID不同时,怎么配置rules。
在Ubuntu下绑定USB串口的几种方式:
https://blog.csdn.net/walleva96/article/details/78347612
udev规则文件的写法:
https://blog.csdn.net/smfwuxiao/article/details/7640614
特别指出
在下面的rules中:
KERNEL=="ttyUSB*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",MODE:="0666", SYMLINK+="laser"
结尾的SYMLINK+=“laser”相当于把开头的KERNEL内容重命名。在launch文件内使用串口时,可以使用KERNEL内的值:ttyUSB0
<param name="serial_port" value="/dev/ttyUSB0"/> #雷达连接的串口
也可以使用重命名后的值:laser
<param name="serial_port" value="/dev/laser"/> #雷达连接的串口
设备ID相同时
当设备ID相同时,
使用dmesg | grep -i usb检测USB的情况
通过插拔可以得到变化的USB设备详细信息,就算是设备的ID相同,那硬件的kernel值也是不同的。假设我们的目标硬件是1-3。
我们进入rules进行编辑:
KERNELS=="1-3*", ATTRS{idVendor}=="0403", ATTRS{idProduct}=="6001",MODE:="0666", SYMLINK+="laser"
在这里要注意的是开头并不是KERNEL而是KERNELS。
保存,重新插拔设备后就可以使用了。