USB转串口固定名称
usb转串口固定Vendor ID和Product ID来做固定命名的映射方法
使用 lsusb 命令找到设备的Vendor ID和Product ID。例如
lsusb
找到自己的串口名字
nvidia@miivii-tegra:~/car_ws$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 005: ID 1a86:e018 QinHeng Electronics USB2.0 To Multi Serial Ports
Bus 001 Device 004: ID 13d3:3458 IMC Networks Bluetooth Radio
#USB-Serial这个是需要的串口,可以通过插拔usb串口来检测是否是它
Bus 001 Device 007: ID 1a86:7523 QinHeng Electronics HL-340 USB-Serial adapter
Bus 001 Device 006: ID 1ea7:0066 SHARKOON Technologies GmbH [Mediatrack Edge Mini Keyboard]
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 005: ID 1234:5678 Vendor_Name Product_Name
Bus 001 Device 006: ID 8765:4321 Vendor_Name Product_Name
在这个例子中,1234 是Vendor ID,5678 是Product ID。
目录中创建一个新的规则文件
sudo gedit /etc/udev/rules.d/99-usb-serial.rules
在文件中添加以下规则,以便识别并分配设备名称:
请确保将 idVendor 和 idProduct 替换为你的设备的实际Vendor ID和Product ID。
识别IMU设备
SUBSYSTEM=="tty", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", SYMLINK+="imu"
识别RTK设备
SUBSYSTEM=="tty", ATTRS{idVendor}=="8765", ATTRS{idProduct}=="4321", SYMLINK+="rtk"
重载 udev 规则:
sudo udevadm control --reload-rules
sudo udevadm trigger
重新插入你的设备,并验证设备是否正确映射:
ls -l /dev/imu
ls -l /dev/rtk
如果设备正确映射,你应该看到 /dev/imu 和 /dev/rtk 指向正确的设备节点。
启动前需要赋予权限:(可以写在脚本里,运行脚本即可)
sudo chmod 777 /dev/imu
sudo chmod 777 /dev/rtk
写入脚本set_permissions.sh
sudo gedit set_permissions.sh
#!/bin/bash
# 设置 /dev/imu 的权限
sudo chmod 777 /dev/imu
# 设置 /dev/rtk 的权限
sudo chmod 777 /dev/rtk