项目背景
在教育信息化快速发展的背景下,学校需要高效收集学生学习情况数据,同时对教学环境进行实时监测。本系统解决以下问题:
1. 问卷调查效率低:传统纸质问卷收集困难、统计耗时
2. 数据分析不直观:缺乏可视化的数据展示方式
3. 环境监测缺失:教室温湿度等环境数据无法实时掌握
核心功能模块
模块1:学习情况问卷调查系统
- 年级选择(高一/高二/高三)
- 学习态度评估(主动进取/按部就班/佛系学习/抵触厌烦)
- 学习主动性评价
- 学习负担感受
- 作业完成时间统计
- 教学参考书使用评价
- 最满意学科及原因
- 9大学科满意度评分(1-5分制):语文、数学、英语、物理、化学、生物、政治、历史、地理
- 教学建议提交
模块2:管理员数据管理后台
- 安全登录:账号密码认证,Session会话管理
- 数据统计:各年级问卷提交数量统计
- 数据详情:分页查看所有问卷记录
- 数据导出:一键导出Excel报表
- 密码管理:管理员密码修改功能
模块3:物联网环境监测系统
- 实时数据采集:通过MQTT协议接收IoT设备数据
- 数据存储:温度、湿度、设备名称、采集时间
- 可视化展示:实时折线图展示温湿度变化趋势
数据流向:IoT设备 → MQTT服务器(broker.emqx.io) → Flask后端 → 数据库 → Web前端(ECharts)
数据流程
学生用户填写问卷 → 数据验证 → 存入SQLite数据库
管理员用户登录认证 → 权限校验 → 数据查询 → 数据可视化(ECharts) → 报表导出(Excel)
项目目录结构
智慧校园问卷与环境监测系统/
├── app.py # Flask主应用程序
├── database_model.py # 数据库模型定义
├── forms.py # 表单类定义
├── calculation.py # 数据计算工具
├── save_sheet.py # Excel导出模块
├── mqtt_client.py # MQTT物联网客户端
├── send_mqtt_test.py # MQTT测试工具
├── requirements.txt # 依赖包列表
├── data.db # SQLite数据库
├── output.xlsx # 导出的Excel文件
│
├── templates/ # HTML模板
│ ├── index.html # 问卷填写页面
│ ├── login.html # 登录页面
│ ├── result.html # 数据统计页面
│ ├── detail.html # 问卷详情页面
│ ├── update.html # 修改密码页面
│ ├── iot.html # 物联网数据页面
│ ├── success.html # 成功页面
│ └── faild.html # 失败页面
│
└── static/ # 静态资源
├── css/
├── js/
└── images/