4.8 KiB
4.8 KiB
平衡体态检测系统 - 软件开发技术方案(Electron + Python,Windows单机版)
一、项目目标
构建一套适用于康复医学、运动健康等场景的 单机本地运行型体态检测系统,具备图形界面、设备数据采集、实时可视化、视频记录、数据管理与导出等能力。用户可在 Windows 系统中一键安装、双击运行,无需联网与额外配置。
二、系统架构与技术栈
2.1 总体架构图
+---------------------------+
| Electron 桌面客户端 |
| +----------------------+ |
| | Vue3/React 前端界面 | |
| +----------------------+ |
| ⇅ API调用 |
| +----------------------+ |
| | Python 后端服务(Flask)|
| +----------------------+ |
+---------------------------+
⇅ 硬件通信
+---------------------------+
| 深度相机 / IMU / 足底压力板 |
+---------------------------+
2.2 技术选型
层级 | 技术选型 | 说明 |
---|---|---|
前端界面 | Electron + Vue3 / React | 构建跨平台 GUI 桌面应用 |
后端服务 | Python Flask / FastAPI | 提供设备控制、数据处理、本地API |
本地数据库 | SQLite | 嵌入式数据库,无需独立部署 |
视频处理 | FFmpeg | 实现屏幕与摄像视频录制 |
打包工具 | electron-builder | 生成 Windows .exe 安装包 |
Python打包 | PyInstaller | 将 Python 服务打包为 .exe 可执行程序 |
三、模块功能与实现
3.1 Electron 主程序
- 负责显示用户界面(患者档案、检测流程、视频回放)
- 在启动时自动调用后端 Python
.exe
服务 - 与本地后端通信(HTTP API)
- 控制设备数据展示与交互逻辑
3.2 Python 后端服务
- 使用 Flask/FastAPI 提供本地接口(127.0.0.1:5000)
- 管理设备连接、数据采集、滤波处理、存储与导出
- 可扩展实现深度图处理、压力图分析、IMU姿态分析等功能
3.3 视频录制模块
- 利用 FFmpeg 实现屏幕+外部摄像头录制
- 支持时间戳叠加、截图保存、同步回放
- 可打包进 Electron 安装目录中统一调用
四、部署方式与启动流程
4.1 打包流程
-
将 Python 服务使用 PyInstaller 打包:
pyinstaller -F -n app backend/app.py
-
Electron 主进程中启动 Python 服务:
const { spawn } = require("child_process"); const scriptPath = path.join(__dirname, "backend", "app.exe"); const pythonProcess = spawn(scriptPath, { detached: true, stdio: 'ignore' }); pythonProcess.unref();
-
使用 electron-builder 打包为安装包:
npm run build electron-builder --win --x64
4.2 安装后运行流程(用户视角)
- 用户双击安装包
.exe
安装程序; - 桌面自动生成快捷方式;
- 双击运行程序:
- 启动 Electron 界面;
- 自动后台启动 Python 服务;
- 自动检测设备连接;
- 进入检测界面,开始数据采集。
五、目录结构(部署后)
体态检测系统/
├─ main.exe # 主程序(Electron 打包)
├─ backend/
│ ├─ app.exe # Python 后端打包文件
│ └─ model/ # AI模型文件(可选)
├─ ffmpeg/ # 视频录制工具
├─ resources/ # 前端界面构建产物
├─ logs/ # 日志输出目录
└─ uninstall.exe # 卸载程序
六、安全性与稳定性设计
项目 | 说明 |
---|---|
端口限制 | 后端服务仅监听 127.0.0.1,防止外部访问 |
自动重启 | Electron 检测后端未启动可尝试自动重启 |
日志记录 | 所有错误输出写入 logs 目录,便于故障排查 |
安全存储 | 用户/患者数据保存至 SQLite,本地隔离存储 |
进程管理 | Python 服务进程随 Electron 一起退出或独立运行 |
七、后续拓展建议
版本 | 升级方向 |
---|---|
V2.0 | 加入关键点识别、自动评估报告导出、双次记录对比 |
V3.0 | 云端同步、在线远程管理、多终端协同 |
V4.0 | 移动版(Android/iOS)测量与数据同步 |
八、推荐工具与资源
- Electron 官网:https://www.electronjs.org/
- electron-builder:https://www.electron.build/
- Flask:https://flask.palletsprojects.com/
- PyInstaller:https://pyinstaller.org/
- FFmpeg:https://ffmpeg.org/
本技术方案支持通过 AI 代码生成平台辅助开发,可作为 ChatGPT Copilot、CodeWhisperer 等平台的 Prompt 基础文件。