系统架构图

项目的流程
一、需求分析阶段(1-1.5 个月):明确 "做什么",锚定核心目标
技术可行性评估:结合现有技术栈(STM32、C++11、FFmpeg),判断需求是否可落地
二、方案设计阶段(1.5-2 个月):确定 "怎么做",输出技术蓝图
按 "分层设计" 原则拆分模块 ------ 例如视频监控系统分为 "视频采集层(摄像头 SDK 对接)、传输层(Reactor 网络模型)、解码层(FFmpeg)、应用层(Qt 客户端)",并定义模块间接口(如视频流采用 RTSP 协议,数据交互用 TLV 格式);嵌入式软件需设计任务调度逻辑(如 FreeRTOS 的任务优先级分配:数据采集任务优先级高于 UI 显示任务),输出《软件架构设计文档》。
三、开发实现阶段(4-5 个月):落地方案,完成 "从 0 到 1" 搭建
软件开发与模块联调:按 "分模块开发→逐步联调" 的逻辑推进 ------
嵌入式软件:先开发基础驱动(如 SPI 驱动 W25Q64 Flash、ADC 采集传感器数据),再实现业务逻辑(如阈值告警算法、FreeRTOS 多任务调度);
C++ 软件:先完成服务器端 Reactor 架构搭建、FFmpeg 视频解码模块开发,再对接 Qt 客户端,实现 "视频画面实时渲染 + 传感器数据同步显示";每个模块开发完成后,通过单元测试(如用 Wireshark 抓包验证 MQTT 协议数据传输),再与其他模块联调(如测试 "传感器数据超阈值时,客户端是否触发视频画面自动聚焦")。
四、测试优化阶段(1-1.5 个月):发现问题,提升系统稳定性
功能测试:验证所有需求是否落地 ------ 例如测试 "智能监测系统能否在温湿度超阈值时,同时触发本地声光告警与云平台推送""视频监控系统能否支持 10 路摄像头同时播放、录像回放",对未达标功能(如录像回放卡顿),定位问题根源(如硬盘读写速度不足)并优化。
性能测试:测试系统极限能力 ------ 例如通过压力测试工具模拟 20 + 客户端同时连接视频服务器,验证 "视频传输延迟是否≤300ms""丢包率是否≤0.2%";对嵌入式系统,测试 "FreeRTOS 任务切换是否流畅""Flash 存储数据的读写速度是否满足需求",优化资源占用(如减少线程栈大小,释放内存)。
环境测试:模拟工业场景恶劣条件 ------ 例如将硬件设备放入恒温箱(-10℃~60℃)测试稳定性,通过粉尘试验箱测试传感器抗干扰能力;对软件,测试 "车间网络波动时,Wi-Fi 模块是否能自动重连""服务器断电后,数据是否能正常恢复",确保系统适配工业环境。

开发环境
客户端开发环境
操作系统:Windows 11(主力开发)、兼容 Linux/macOS(依托 Qt 跨平台特性)。
开发工具:Qt 5.14.2、Qt Creator 4.11.1、libvlc 3.0.8(Win32 版本)。
依赖库:libvlc(音视频解码)、Qt Core/Widgets(UI 开发)QCryptographicHash(MD5 加密,用于界面优化)
服务端开发环境
操作系统:Ubuntu22.04 编译器 vim 编程语言C++11