Projects
Archivedc++qtwebsocketserialporthttpjson

FirmWare Installer (Serial Debug Tool)

A Windows desktop multi-function serial debug and firmware burn tool built with Qt C++. Integrates serial TX/RX, file transfer, custom command panel, WebSocket client & server, online ad image carousel and upload, supports HUP custom protocol and AES encryption, with auto persistent configuration.

Project Highlights

  • Windows desktop application developed with Qt C++, built via Visual Studio project, using QTabWidget four-tab architecture (Serial, Advertise, WebSocket Client, WebSocket Server) with external QSS styling.
  • Full-featured serial debug: auto-enumerates and refreshes available ports, supports baud rate 110~3000000 (including custom baud dialog), stop bit 1/1.5/2, data bit 5/6/7/8, parity None/Odd/Even, DTR/RTS flow control.
  • Dual-mode TX/RX: receive supports text and HEX display, millisecond timestamp, save receive window to file and one-click clear; send supports text/HEX toggle, auto append newline, scheduled cyclic sending (configurable 1ms~24h).
  • Serial file transfer: sends selected local file via serial in 128-byte chunks with real-time progress bar, suitable for firmware burning scenarios.
  • Custom command panel: loads preset commands from cmds.json (text/hex/hup_text/hup_hex four data formats), displays as button grid, one-click send; supports dynamic add/delete commands and adjustable grid columns.
  • HUP custom protocol support: built-in HUP frame format (header aadd + length + payload + checksum), can directly send hup_text and hup_hex format commands.
  • Auto persistent configuration: uses QSettings to save serial parameters, checkbox states, send cycle, file path to config.ini, auto-restore on next launch.
  • WebSocket Client: connects to specified server address, sends/receives text messages in real time, supports disconnect.
  • WebSocket Server: listens on specified address and port, supports multiple concurrent clients, manages connection list via QMap, can send message to specific client, disconnect single client or stop server.
  • Ad image carousel: dedicated network thread fetches ad image list from heartgo.top API and downloads locally, QTimer auto-rotates (3.8s interval), supports prev/next manual switch, mutex ensures thread safety for images.
  • Image upload: integrates libcurl, uploads local images to server via multipart/form-data, returns HTTP status code and response content.
  • Third-party libraries integrated: nlohmann/json for JSON parsing, spdlog logging system (singleton wrapper), tinyAES/SimpleAES encryption, libcurl for HTTP requests, ready to use.
  • Multiple singleton wrappers: custom baud dialog, command add dialog, command setting dialog and logger all use singleton pattern for global sharing.

Projects

Net-Downloader

A desktop network resource download tool developed with Qt C++. It uses multi‑threading to handle network requests, integrates multiple third‑party open‑source libraries, and encapsulates file management and application configuration modules for downloading network‑accessible resources.

c++qtlibcurlhttplibnlohmann-json
Elderly Item Finder System

A desktop elderly item-finding management system built with Qt C++ and MySQL. Locates item storage positions via RFID tag scanning, supports item & position management, elderly profile management, search records & exception handling, query-count statistics and data export, with a TCP server for card-reader hardware integration.

c++qtmysqltcp
Vaccination Assistant (Nurse Client)

A desktop nurse-side vaccination management system built with Qt C++ and OpenCV, connected to MySQL, providing nurse registration/login, nurse information entry & query management, camera preview, photo capture and vaccination video recording.

c++qtmysql数据库OpenCV