Files
crosstyanandClaude Opus 4.8 74905def9a Add Chinese RFC 2217 serial-over-frp deployment guide
Split the manual into a README index plus docs/ sections covering
hardware selection, Linux and Windows serial servers, shared frpc
configuration via env templating, client testing, security, and
troubleshooting. Store real frpc credentials in an ignored .env and
track images with Git LFS.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-17 15:04:52 +08:00

93 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
[返回首页](../README.md)
# USB 转 RS-485 转换器选型与识别
## 概述
本方案使用 USB 转 RS-485 转换器把 Linux 主机连接到 RS-485 设备,再由串口服务器以 **RFC 2217** 模式提供远程访问。
RFC 2217 与普通的原始 TCP 串口桥接不同:兼容客户端可以远程修改串口的波特率、数据位、校验位、停止位和控制线。
硬件链路如下:
```text
Linux 串口服务器
|
v
USB 转 RS-485 转换器
|
v
RS-485 设备
```
转换器在 Linux 中通常显示为 `/dev/ttyUSB0``/dev/ttyACM0`,也可能使用厂商驱动提供的名称,例如 `/dev/ttyCH343USB0`
## 转换器选型
产品图见 [`assets/converter.jpg`](../assets/converter.jpg),提供以下芯片方案:
| 端口数 | FTDI 方案 | WCH 方案 |
|---|---|---|
| 2 | FT2232H | CH342F |
| 4 | FT4232H | CH344Q |
### 推荐方案
如需尽量降低 Linux 部署难度,建议选择:
- 四路 RS-485**FT4232H 隔离型**
- 两路 RS-485**FT2232H 隔离型**。
FTDI 的 `ftdi_sio` 驱动已获得广泛的 Linux 内核原生支持。产品图中标出的型号也是隔离型 FT4232H 四口版本。
WCH 型号通常成本更低,也可作为合理选择。但多口 CH342/CH344 板卡可能以 USB CDC ACM 设备运行,也可能依赖 WCH 多口驱动,具体取决于产品和固件;它们并不都会以相同方式映射到主线内核的 `ch341` 驱动。采用 WCH 前,应在目标 Linux 镜像上测试具体板卡,并确认:
- 每个通道的设备枚举方式;
- 断开并重新连接后的稳定性;
- 重启后的设备映射稳定性。
### 电气隔离
在以下场景中,强烈建议选择带电气隔离的型号:
- RS-485 设备使用不同电源;
- 线缆距离较长;
- 设备之间可能存在地电位差。
实际部署中,电气隔离和浪涌保护的重要性可能高于 USB 桥接芯片的品牌。
## 在 Linux 中识别转换器
连接转换器后,检查 USB 设备和内核日志:
```bash
lsusb
sudo dmesg --follow
```
在另一个终端中查看稳定的串口设备链接:
```bash
ls -l /dev/serial/by-id/
ls -l /dev/serial/by-path/
```
如需检查单个端口,请把以下命令中的 TTY 替换为目标主机上实际生成的设备:
```bash
udevadm info --query=property --name=/dev/ttyUSB0
```
根据转换器及其驱动,还应检查 `/dev/ttyACM*``/dev/ttyCH*`
## 使用稳定设备路径
不要在长期配置中直接使用 `/dev/ttyUSB0` 等动态名称。系统重启或连接其他 USB 串口设备后,其编号可能发生变化。
应按实际情况选择:
- `/dev/serial/by-id/...`:每个通道都有唯一且可靠的标识时使用;
- `/dev/serial/by-path/...`:需要让通道身份跟随物理 USB 插口和接口时使用。
对于多口转换器,部署前应执行一次断开和重新连接,逐一确认每条稳定路径对应的物理 RS-485 端子,并为各端口贴上标签。