2.2 KiB
2.2 KiB
项目总文档
1. 项目概览
本项目是“人脸识别考勤系统”多端协同工程,包含:
- STM32 固件端(设备控制与签到逻辑)
- K210 识别端(视觉识别与人脸管理)
- C++ 服务端(加密签到、数据管理、同步控制)
- Qt 管理端(后台管理与可视化)
2. 推荐运行链路
建议使用以下版本组合:
- 服务端:
server/server_encrypted.cpp(HTTP 8082) - STM32:
User/main.c(加密上传 + 时间段同步) - K210:
k210/main.py(识别 + 照片上传 + 同步) - Qt:
QT/CMakeLists.txt构建的客户端
3. 总体架构
- K210 识别人脸,经 UART 上报 STM32。
- STM32 执行签到策略并加密上传服务端
POST /api/v1/attendance/checkins。 - 服务端写入
attendance.db并提供管理 API。 - 服务端在 SQLite 中维护全局同步版本,作为各端同步的权威版本。
- Qt 管理端通过统一同步接口拉取记录/统计、配置、人脸照片和映射。
- STM32 与 K210 分别按本地
last_version增量拉取时间段、人脸映射与待删除任务,保持端云一致。
4. 文档索引(分端)
- STM32 固件端:
docs/01_STM32固件端文档.md - K210 识别端:
docs/02_K210识别端文档.md - 服务端:
docs/03_服务端文档.md - Qt 管理端:
docs/04_Qt管理端文档.md - 项目审查问题清单:
docs/05_项目审查问题清单.md
5. 各端关键配置位置
- STM32 网络与班级配置:
User/main.c - K210 WiFi/服务器配置:
k210/main.py - Qt 默认服务地址与 API 封装:
QT/src/ApiClient.cpp、QT/src/AppController.cpp - 服务端端口与数据文件:
server/server_encrypted.cpp
6. 一致性要求
- AES Key/IV 必须在 STM32、服务端、Qt 三端一致。
- 服务端建议统一使用加密版本,避免接口行为不一致。
- 各端时间配置需统一时区(当前代码以 UTC+8 逻辑处理)。
7. 快速部署顺序
- 编译并启动服务端(确认
:8082可访问)。 - 启动 Qt,先做
/api/v1/system/health连通性验证。 - 烧录 STM32 固件并联网。
- 启动 K210 脚本并确认识别/同步正常。
- 用 Qt 检查签到记录、照片、映射与删除同步链路。