87 lines
1.7 KiB
Markdown
87 lines
1.7 KiB
Markdown
# USB 串口设备权限设置指南
|
|
|
|
## 文件说明
|
|
|
|
| 文件 | 说明 |
|
|
|------|------|
|
|
| `99-usb-serial.rules` | udev 规则文件,固定设备名称和权限 |
|
|
| `setup_usb_permissions.sh` | 自动化设置脚本 |
|
|
|
|
## 操作步骤
|
|
|
|
### 方法一:使用自动化脚本(推荐)
|
|
|
|
```bash
|
|
cd ~/code/amadeus_26
|
|
./setup_usb_permissions.sh
|
|
```
|
|
|
|
### 方法二:手动设置
|
|
|
|
1. **识别设备 VID/PID**
|
|
|
|
```bash
|
|
# 查看 CH340 设备信息
|
|
udevadm info -a -n /dev/ttyUSB0 | grep -E "idVendor|idProduct"
|
|
|
|
# 查看 IMU 设备信息
|
|
udevadm info -a -n /dev/ttyUSB1 | grep -E "idVendor|idProduct"
|
|
```
|
|
|
|
2. **安装 udev 规则**
|
|
|
|
```bash
|
|
sudo cp 99-usb-serial.rules /etc/udev/rules.d/
|
|
sudo udevadm control --reload-rules
|
|
sudo udevadm trigger
|
|
```
|
|
|
|
3. **添加用户权限**
|
|
|
|
```bash
|
|
sudo usermod -aG dialout $USER
|
|
```
|
|
|
|
4. **生效**
|
|
|
|
- 重新插拔 USB 设备,或重启系统
|
|
- 注销并重新登录,使权限生效
|
|
|
|
## 设备映射
|
|
|
|
设置完成后,设备将以固定名称出现:
|
|
|
|
| 设备 | 固定名称 | 原名称 |
|
|
|------|----------|--------|
|
|
| CH340 发送模块 | `/dev/ttyCH340` | `/dev/ttyUSB0` |
|
|
| IMU 模块 | `/dev/ttyIMU` | `/dev/ttyUSB1` |
|
|
|
|
## 验证
|
|
|
|
```bash
|
|
# 检查设备链接
|
|
ls -la /dev/ttyCH340 /dev/ttyIMU
|
|
|
|
# 检查权限
|
|
ls -la /dev/ttyUSB*
|
|
```
|
|
|
|
## 使用
|
|
|
|
修改 launch 文件中的默认设备路径:
|
|
|
|
```python
|
|
# launch/uart_transmitter.launch.py
|
|
serial_port_arg = DeclareLaunchArgument(
|
|
'serial_port',
|
|
default_value='/dev/ttyCH340', # 使用固定名称
|
|
description='CH340 串口设备路径'
|
|
)
|
|
```
|
|
|
|
运行节点:
|
|
|
|
```bash
|
|
ros2 launch amadeus_26 uart_transmitter.launch.py
|
|
# 或指定 IMU 设备
|
|
ros2 launch amadeus_26 uart_transmitter.launch.py serial_port:=/dev/ttyIMU |