3.7 linux系统下串口设备和串口号绑定
3.7.1 问题由来
在ROS小车的开发过程中,需要使用ROS通信串口模块、激光雷达的串口模块、IMU的串口模块等,为了防止每次开机这些设备的串口号发生变动,所以需要对串口号与串口设备绑定;为了更好的识别串口,我们也可以对串口号进行设置静态名称;为了更好的使用串口,我们也可以对串口进行权限设置。
一次设置,终身受益。
3.7.2 原理
在linux系统下,虽然每一个固定的端口可能由于外接设备启动的时间差异分配的ttyUSB*不同,但是对于每一个固定的端口,都有固定的 KERNELS、idProduct、idVendor,并且每一个端口的KERNELS都不相同。
所以,我们只要固定串口设备的安装位置,还是可以从端口物理性质的不同解决这个问题。
3.7.3 方法
第一步:如何查询每一个端口的KERNELS、idProduct、idVendor?
这里需要使用下面这条命令
udevadm info -a -p $(udevadm info -q path -n /dev/ttyUSB0)
并且当每次独立插入一个串口