界面与图形:利用Qt与OpenGL实现高性能UI渲染,支持流畅的QML动画与2D/3D图形加速。
系统与底层:运行于Linux操作系统,依托其稳定内核与驱动支持,管理进程、内存及外设资源。
通信与协议:通过Socket编程实现TCP/IP及HTTP/HTTPS网络通信,完成与云端或服务器端的数据交互;同时支持串口通信,用于对接GPS、传感器等外围硬件模块。
数据与媒体:采用SQLite作为轻量级本地数据库,存储订单、配置等结构化数据;集成FFmpeg库,实现音视频流的解码、处理与回放(如行车记录或实时监控)。
工程与协作:使用Git进行版本控制,保障代码管理与团队协作效率。
电子音乐教室是一个基于 Qt/C++ 开发的一对多音乐教学系统,由一台教师 PC 连接最多 112 个学生终端,底层是 FPGA 硬件,PC 与 FPGA 之间通过自定义 UDP 帧协议走局域网通信。
核心流程:教师端通过 QAudioSource 采集麦克风音频,经 FFmpeg AudioFilterProcessor 滤波处理后,SupervisionSingleTask 根据当前授课模式(讲解、互动、分组教学、自习、分组练习、考试评测共 6 种)动态调度 MixSingleTask 完成实时混音,再交由 SenderTask 按 1024 字节定长帧打包(帧头 0xAA55、22 字节设备地址、命令类型/码、990 字节数据区、CRC16-CCITT 校验、帧尾 0x55AA),通过 6 个 WaitAndSendTask 子线程按地址段分组轮发到各学生终端的 FPGA 上播放。
学生端回传的数据——音频流、MIDI 键盘、NFC 刷卡、举手信号等——经 FPGA 同样按定长帧打包,通过 UDP 上报到 PC 端端口 6102,9 个 OperationTask 线程并发解析,分派到对应业务模块处理。
整个系统的线程模型采用生产者-消费者架构:全局消息队列 messages[112] 配合 std::mutex 和 QWaitCondition 实现线程安全的数据入队与消费,SenderTask 作为主调度协调所有发送子线程,ReceiverTask 绑定端口接收数据并推入队列唤醒解析线程。
| 角色 | 职位 |
| 负责人 | 嵌入式工程师 |
| 队员 | 产品经理 |
| 队员 | 前端工程师 |
| 队员 | 后端工程师 |
数字音乐教室系统是一套面向一对多音乐教学场景的交互式平台,由教师端PC上位机与最多112台学生终端FPGA下位机构成,通过局域网UDP自定义帧协议实现双向通信。系统以Qt 6.6.3为开发框架,前端QML构建界面,后端C++多线程架构支撑高并发实时数据处理。 系统支持六种授
该软件是一套面向城市地下管道检测的桌面级智能控制系统,技术栈为 Qt 6.6.3 + QML + C++17 + PCL 1.13 + VTK 9.2 + OpenCV 3.4 + FFmpeg,下位机为 Jetson Orin,通过 UDP/TCP 双通道与机器人实时通信。核心