Ubuntu usb設備端口號綁定


1.將串口設備插入USB口,通過lsusb查看端口信息。例如:

ID 1a86:7523 表示usb設備的ID(這個ID由芯片制造商設置,可以唯一表示該設備)

1a86 usb_device_descriptor.idVendor
7523 usb_device_descriptor.idProduct

2.在/etc/udev/rules.d/下創建任意名稱的規則配置文件,如:usb.rules。

KERNEL=="ttyUSB*", ATTRS{idVendor}=="067b", ATTRS{idProduct}=="2303", MODE:="0666", SYMLINK+="user_uart"
KERNEL=="ttyUSB*", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="7523", MODE:="0666", SYMLINK+="mcu_uart"

意思就是匹配sys中內核名為ttyUSB*的設備,屬性匹配依據生產商編號idVendor和產品號idProduct, 設定讀寫權限為0777, 符號鏈接名為user_uart-----PL2303串口轉USB, mcu_uart----CH340串口轉USB。

idVendor和idProduct由 lsusb  -vvv 命令查看。

sudo udevadm control --reload-rules
sudo udevadm trigger

重新拔插兩個串口設備

ls -l /dev |grep ttyUSB

 

 

 就可以看到/dev/user_uart指向/dev/ttyUSB0,  /dev/mcu_uart指向/dev/ttyUSB1. 這樣以來,我只要在程序里打開/dev/user_uart或/dev/mcu_uart就可以一直准確的打開指定的串口設備了。

二、綁定硬件序列號,查找serial(適用於相同生產商生產的相同USB串口)

插入需要綁定的串口,或者 lsusb 查看需要綁定的串口名

1.udevadm info --attribute-walk --name=/dev/ttyUSB0

 

 

 我的硬件序列號:ATTRS{serial}=="FTSYWCXZ"這個號是唯一的

2.vim /etc/udev/rules.d/usb.rules

ATTRS{serial}=="FTSYWCXZ", MODE:="0777", GROUP:="dialout", SYMLINK+="usb_0"

3.ls -l /dev |grep ttyUSB

 

 

 4.可以通過/dev/usb_0打開串口設備

fangfa3

 

KERNELS=="1-2.4:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_slaver"
KERNELS=="1-2.2:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_uwb"
KERNELS=="1-2.3:1.0",MODE:="0777", GROUP:="dialout", SYMLINK+="my_imu"

 


參考鏈接:https://blog.csdn.net/qq_35386301/article/details/84566214


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM