树莓派USB端口绑定

  在利用树莓派搭建移动机器人的时候,需要利用USB转串口实现树莓派和stm32单片机的通讯、树莓派与激光雷达的通讯,此外树莓派还需要通过USB连接RGB-D深度相机。然而linux是按照设备的插入顺序进行编号命名的,那么就会出现一个USB端口对应错乱的问题,导致程序与设备无法进行对应。幸运的是,我们可以通过使用设备的唯一识别码固定端口号。

一、查询设备ID

将设备插入树莓派usb的端口,运行:

lsusb

结果如下:

 

对设备分别进行插拔以对应设备的设备号。

 

二、修改文件

sudo vim /etc/udev/rules.d/99-com.rules

打开文件后在最后一行添加:

KERNEL=="ttyUSB*",ATTRS{idVendor}=="1a86",ATTRS{idProduct}=="7523", MODE:=“0777”, SYMLINK+="ttyUSB1"
KERNEL=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:=“0777”, SYMLINK+="ttyUSB0"
KERNEL=="video*",ATTRS{idVendor}=="05e3",ATTRS{idProduct}=="0610", MODE:=“0777”, SYMLINK+="video0"

如果绑定的是串口设备,则KERNEL项写“ttyUSB*”,如果是摄像头设备则写“video*”,将32位ID按顺序写入后两项中,将预绑定的设备名称写入SYMLINK项中

 

三、重启设备

sudo /etc/init.d/udev restart

重启后,再次查看当前连接的摄像头设备和串口设备,可以看到新名称,无论之后如何插拔,只要识别到相同的设备ID,linux都会将其命名为刚刚设置的名称。

然后就可以通过/dev/ttyUSB0等来直接访问对应的设备

posted @ 2020-08-24 20:25  寒灵oay  阅读(1175)  评论(0编辑  收藏  举报