树莓派固定USB端口号的方法

    树莓派的USB端口接通时被映射为一个文件存在/dev/目录下,通常是ttyUSB0, ttyUSB1等等。实际应用它存在这样一个问题,树莓派并不是指定哪一个端口就是ttyUSB0,或哪一个就是ttyUSB1,而是把第一个接入设备的USB口定为ttyUSB0, 第二个是ttyUSB1,这在接一个设备时是优点,可是接多个设备,在程序里就分不清ttyUSB0,ttyUSB1到底指的哪一个设备了。  所以应给各个USB口定一个固定的名字,在程序中好让我们准确地找到它。方法如下:

1.查看USB

 

执行命令:ls -l /sys/class/tty

 

在树莓派系统里,其实对USB口是有区分的,反复插拔USB,并执行上面的命令,可以找出系统对USB口的命名规律。

不论怎样插拔USB,端口自身都是上面的编号,因此,只要给这几个编号指定别名就可以了

2.编辑配置文件

执行命令:sudo vi /etc/udev/rules.d/99-com.rules

在文件末尾加入下面内容

 

KERNEL=="ttyUSB*",KERNELS=="1-1.2",MODE:="0777",SYMLINK+="device2"
KERNEL=="ttyUSB*",KERNELS=="1-1.3",MODE:="0777",SYMLINK+="device3"
KERNEL=="ttyUSB*",KERNELS=="1-1.4",MODE:="0777",SYMLINK+="device4"
KERNEL=="ttyUSB*",KERNELS=="1-1.5",MODE:="0777",SYMLINK+="device5"

以上几句话的意思就是为USB编号指定别名。

3.重启服务

执行命令:sudo /etc/init.d/udev restart

4.查看结果

执行命令:ls -l/dev | grep ttyUSB

可见,不论ttyUSB*怎样变,端口都有一个自己的名字

5. 程序中访问

 

import serial
 
ser2 = serial.Serial('/dev/device2',9600)
ser3 = serial.Serial('/dev/device3',9600)
posted @ 2019-02-26 17:31  风在人舟  阅读(3741)  评论(0编辑  收藏  举报