# SynCOM串口助手 **Repository Path**: synairy/SynCOM ## Basic Information - **Project Name**: SynCOM串口助手 - **Description**: 跨平台串口助手,基于tauri+svelte - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2026-02-15 - **Last Updated**: 2026-02-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SynCOM - 跨平台串口通讯助手 基于 **Tauri 2.0** 和 **Svelte 5** 构建的轻量级、高性能串口通讯调试工具。 ![image-20260215173914418](./assets/image-20260215173914418.png) ## 🚀 功能特点 - **实时通讯**:基于 Rust 后端线程实现的异步串口数据监听,响应极快。 - **多种显示模式**:支持 **文本 (ASCII/UTF-8)** 与 **十六进制 (Hex)** 两种收发模式。 - **自动管理**:支持串口自动扫描、一键刷新可用端口。 - **交互友好**: - 自动滚动至最新的接收记录。 - 实时连接状态反馈。 - 日志清空功能。 - 适配系统深色/浅色模式的专业终端界面。 - **跨平台支持**:支持 Windows、macOS 和 Linux。 ## 🛠️ 技术栈 - **前端**: [Svelte 5](https://svelte.dev/) (使用最新的 Runes 响应式语法) - **后端**: [Rust](https://www.rust-lang.org/) + [Tauri 2.0](https://tauri.app/) - **串口库**: [serialport-rs](https://github.com/serialport/serialport-rs) - **构建工具**: Vite ## 📦 环境准备 在开始之前,请确保你的开发环境已安装: 1. **Rust**: [安装 Rust](https://www.rust-lang.org/tools/install) 2. **Node.js**: [安装 Node.js](https://nodejs.org/) (建议 v18+) 3. **系统依赖** (针对不同 OS): - **Windows**: 安装 C++ 生成工具 (通过 Visual Studio Installer)。 - **Linux**: 需要安装 `libudev-dev`: ```bash sudo apt-get update sudo apt-get install libudev-dev ``` ## 🛠️ 快速开始 1. **安装前端依赖**: ```bash npm install ``` 2. **配置 Rust 依赖**: 进入 `src-tauri` 目录检查 `Cargo.toml` 是否已包含 `serialport`: ```bash cd src-tauri cargo add serialport ``` 3. **启动开发服务器**: ```bash npm run tauri dev ``` 4. **构建正式版本**: ```bash npm run tauri build ``` ## ⚠️ 注意事项 ### 权限问题 (Linux) 在 Linux 上,普通用户默认可能没有访问串口的权限。请将当前用户添加到 `dialout` 组: ```bash sudo usermod -a -G dialout $USER ``` *注意:修改后需注销并重新登录才能生效。* ### 串口占用 如果在尝试连接时提示“串口已占用”,请检查是否有其他串口助手或终端程序(如 Putty, Serial Monitor)正在使用该端口。 ## 🗺️ 开发计划 (TODO) - [ ] 支持配置校验位 (Parity)、停止位 (Stop Bits) 和数据位 (Data Bits)。 - [ ] 增加数据波形实时展示 (Canvas/Chart.js)。 - [ ] 自动保存串口配置。 - [ ] 定时发送功能。 --- *Created with ❤️ using Tauri & Svelte.*