A GUI tool for reading and writing serial port configurations. Features a traditional Chinese woodworking (Ming-style mortise and tenon) inspired design.
-
🔌 Serial Port Management
- Auto-detect available serial ports
- Refresh port list anytime
- Configurable baud rate
-
📖 Dynamic Configuration
- Read configuration from device
- Auto-adapt to different board types
- Display configuration in table format
-
✏️ Configuration Editing
- Modify any configuration parameter
- Write configuration back to device
- Real-time validation
-
🎯 Custom Commands
- Send arbitrary commands to serial port
- View command responses in log
-
🌐 Bilingual Interface
- Switch between English and Chinese
- All UI elements translated
-
🎨 Design Philosophy
- Inspired by Ming-style mortise and tenon joinery
- Wood-tone color palette
- Zero border-radius, sharp corners
- Shadow effects mimicking tenon structure
- Download
serial_config_tool.tar.gzfrom Releases - Extract the archive:
tar -xzf serial_config_tool.tar.gz
- Run the executable:
./serial_config_tool
-
Clone the repository:
git clone https://github.com/Vince-0906/Serial-Config-Tool.git cd Serial-Config-Tool -
Create virtual environment and install dependencies:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
Run the application:
./serial_config_gui.py
-
Connect to Serial Port
- Select serial port from dropdown
- Choose baud rate (default: 115200)
- Click "Connect" button
-
Read Configuration
- Click "Read Config" button
- Configuration table will populate automatically
- Supports different board configurations
-
Modify Configuration
- Edit values directly in the table
- Click "Write Config" to save changes
-
Custom Commands
- Enter command in custom command field (e.g.,
$test=value) - Click "Send" button
- View response in operation log
- Enter command in custom command field (e.g.,
-
Language Toggle
- Click 🌐 button in top right to switch languages
Commands sent to device:
- Read:
$command=read_config\n - Write:
$key=value\n
Expected device response format:
$wifi_ssid=MyWiFi
$wifi_pswd=password123
$server_ip=192.168.1.100
$server_port=8080
...
- Linux x86_64
- Qt libraries (PyQt6 or system Qt)
- For binary: No additional dependencies
- For source: Python 3.8+, see
requirements.txt
- pyserial - Serial port communication
- pywebview - Web-based GUI
- QtPy - Qt bindings adapter
- PyQt6 - Qt GUI framework
Contributions are welcome! Please read CONTRIBUTING.md for details on how to contribute.
See CHANGELOG.md for version history and changes.
MIT License - see LICENSE file for details.
serial-port configuration-tool gui pyqt6 python embedded iot arduino esp32 stm32 串口 配置工具
一个用于读取和写入串口配置的图形界面工具。采用明式榫卯木作工艺设计风格。
-
🔌 串口管理
- 自动检测可用串口
- 随时刷新串口列表
- 可配置波特率
-
📖 动态配置
- 从设备读取配置
- 自动适配不同板子类型
- 表格展示配置项
-
✏️ 配置编辑
- 修改任意配置参数
- 写入配置到设备
- 实时验证
-
🎯 自定义命令
- 发送任意命令到串口
- 在日志中查看命令响应
-
🌐 双语界面
- 中英文切换
- 所有界面元素完整翻译
-
🎨 设计理念
- 明式榫卯木作工艺风格
- 木色调色板
- 零圆角,直线直角
- 榫头投影效果
- 从 Releases 下载
serial_config_tool.tar.gz - 解压文件:
tar -xzf serial_config_tool.tar.gz
- 运行可执行文件:
./serial_config_tool
-
克隆仓库:
git clone https://github.com/Vince-0906/Serial-Config-Tool.git cd Serial-Config-Tool -
创建虚拟环境并安装依赖:
python3 -m venv venv source venv/bin/activate pip install -r requirements.txt -
运行应用程序:
./serial_config_gui.py
-
连接串口
- 从下拉列表选择串口
- 选择波特率(默认:115200)
- 点击「连接」按钮
-
读取配置
- 点击「读取配置」按钮
- 配置表格自动填充
- 支持不同板子配置
-
修改配置
- 直接在表格中编辑值
- 点击「写入配置」保存更改
-
自定义命令
- 在自定义指令框输入命令(如
$test=value) - 点击「发送」按钮
- 在操作日志中查看响应
- 在自定义指令框输入命令(如
-
语言切换
- 点击右上角 🌐 按钮切换语言
发送到设备的命令:
- 读取:
$command=read_config\n - 写入:
$key=value\n
预期设备响应格式:
$wifi_ssid=MyWiFi
$wifi_pswd=password123
$server_ip=192.168.1.100
$server_port=8080
...
- Linux x86_64
- Qt 库(PyQt6 或系统 Qt)
- 二进制版本:无需额外依赖
- 源码版本:Python 3.8+,参见
requirements.txt
- pyserial - 串口通信
- pywebview - Web 界面
- QtPy - Qt 绑定适配器
- PyQt6 - Qt 图形界面框架
MIT License