树莓派绑定USB串口id

xiaoxiao2022-06-03  10

https://blog.csdn.net/lby0910/article/details/77586728?utm_source=blogxgwz1

project做到最近,遇到了一个尴尬的问题:一台树莓派接了多个设备,例如多个arduino、串口转USB和无线键鼠等等。物理上USB不够,直接将一个USB hub就可以了。  不过这就出现了问题:Linux是按照插入顺序对设备进行编号的,例如ttyUSB0,ttyUSB1或者ttyACM0,ttyACM1等等,那么每次重新开机的时候容易出现设备不对应编号的情况,这就无法在代码中固定设备的端口号,因此我们必须想办法将设备的端口号固定。笔者总结了网上相关的资料,发现大家写的还是比较详细了,因此就简单地总结一下具体用法,原理就不再赘述了。

1. 将单台设备端口号固定 【适用情况】:  适用于某个设备插上之后,它的ID是唯一的,与其他设备不同。

【查询ID】:

lsusb 1 应该会看到若干USB设备的信息:

Bus 001 Device 010: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light    Bus 001 Device 005: ID 0bda:5411 Realtek Semiconductor Corp.     Bus 001 Device 008: ID 24ae:1100      Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub 1 2 3 4 以Device010为例:其ID是:10c4:ea60

【修改文件】:

sudo nano /etc/udev/rules.d/99-com.rules 1 在后面添加:

KERNEL=="ttyUSB*",ATTRS{idVendor}=="10c4",ATTRS{idProduct}=="ea60", MODE:=“0777”, SYMLINK+="device0" 1 其中device0是我们将其重命名的设备,之后我们直接访问device0即可。换句话说,之后开机无论ID为10c4:ea60的设备被分配为ttyUSB0或者ttyUSB1,始终都可以通过device0来访问它。

【重启插拔】:  文件最后一行添加之后,执行:

sudo /etc/init.d/udev restart 1 并且插拔USB设备

【再次访问】:  再次访问:

ls -l /dev |grep ttyUSB 1 就能看到重定向的信息啦,我们之后在代码里直接访问/dev/device0即可访问该设备。

2. 多台相同ID的设备端口号固定 【适用情况】:  多台相同设备,例如多台arduino,它们被分配为ttyACM0和ttyACM1,通过第一个方法我们发现它们的ID都一样。

【查询】:

ls -l /sys/class/tty 1 这时应该会打印出来例如:

ttyACM0'/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1:1.0/': ttyACM1'/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2:1.0': 1 2 我们发现最后的一位1-2.1和1-2.2是有区别的

【修改文件】:

sudo nano /etc/udev/rules.d/99-com.rules 1 在后面添加:

KERNEL=="ttyACM*",KERNELS=="1-2.1",MODE:=“0777”, SYMLINK+="device1" KERNEL=="ttyACM*",KERNELS=="1-2.1",MODE:=“0777”, SYMLINK+="device2" 1 2 其中device1和device2是我们将两个arduino重命名的设备,道理同上。

【重启插拔】:  文件最后一行添加之后,执行:

sudo /etc/init.d/udev restart 1 并且插拔USB设备

【再次访问】:  再次访问:

ls -l /dev |grep ttyACM 1 就能看到重定向的信息啦,我们之后在代码里直接访问/dev/device1和/dev/device2即可访问该设备。

3. 参考资料 [1]http://blog.csdn.net/qq_33662195/article/details/71185063  [2]http://blog.csdn.net/zuoxi4621/article/details/75173536 ---------------------  作者:SYSU_LBY  来源:  原文:https://blog.csdn.net/lby0910/article/details/77586728  版权声明:本文为博主原创文章,转载请附上博文链接!

转载请注明原文地址: https://www.6miu.com/read-4915016.html

最新回复(0)