已归档c++qtwebsocketserialporthttpjson
固件安装器(串口调试工具)
基于 Qt C++ 开发的 Windows 桌面多功能串口调试与固件烧录工具,集成串口收发、文件传输、自定义命令面板、WebSocket 客户端与服务端、网络广告图片轮播与上传等功能,支持 HUP 自定义协议与 AES 加密,配置自动持久化。
项目亮点
- 基于 Qt C++ 开发 Windows 桌面应用,Visual Studio 工程构建,采用 QTabWidget 四标签页架构(串口、广告、WebSocket客户端、WebSocket服务端),QSS 外部样式表美化界面
- 全功能串口调试:自动枚举并刷新可用串口,支持波特率 110~3000000(含自定义波特率弹窗)、停止位 1/1.5/2、数据位 5/6/7/8、校验位 None/Odd/Even、DTR/RTS 流控配置
- 收发数据双模式:接收支持文本与 HEX 显示、毫秒级时间戳、接收窗口保存为文件与一键清空;发送支持文本/HEX 切换、自动追加换行、定时循环发送(周期可配 1ms~24h)
- 文件串口传输:选择本地文件后按 128 字节分包通过串口发送,实时进度条显示发送进度,支持固件烧录场景
- 自定义命令面板:从 cmds.json 加载预设命令(text/hex/hup_text/hup_hex 四种数据格式),以按钮网格形式展示,点击即发送;支持动态添加/删除命令、调整网格列数
- HUP 自定义协议支持:内置 HUP 协议帧格式(帧头 aadd + 数据长度 + 载荷 + 校验),可直接发送 hup_text 和 hup_hex 格式命令
- 配置自动持久化:通过 QSettings 将串口参数、勾选状态、发送周期、文件路径等写入 config.ini,下次启动自动恢复
- WebSocket 客户端:可连接指定服务器地址,实时收发文本消息,支持断开连接
- WebSocket 服务端:监听指定地址与端口,支持多客户端同时接入,QMap 管理连接列表,可向指定客户端发送消息、断开单个客户端或停止服务
- 广告图片轮播:独立网络线程从 heartgo.top API 获取广告图片列表并下载到本地,QTimer 定时自动轮播(3.8秒切换),支持上一张/下一张手动切换,互斥锁保证图片线程安全
- 图片上传功能:集成 libcurl,通过 multipart/form-data 表单将本地图片上传至服务器,返回 HTTP 状态码与响应内容
- 集成第三方库:nlohmann/json 解析 JSON、spdlog 日志系统(单例封装)、tinyAES/SimpleAES 加密、libcurl 网络请求,开箱即用
- 多种单例模式封装:自定义波特率对话框、命令添加对话框、命令设置对话框、日志器均采用单例模式,全局共享