实验室设备智能管理系统设计与实现
📌
技术栈:ESP32、RC522-RFID、OpenCV-LBPH 人脸识别、Python Flask、SQLite、WiFi 物联网通信
项目简介:针对高校实验室传统纸质人工登记管理效率低下的痛点,实现一套软硬件一体化自助借还管理系统。硬件终端完成设备识别与人脸采集,Web 后台实现设备、人员、借阅记录全量管理,实现设备自助借还、状态监控、Excel 台账导出,提升实验室设备管理智能化水平。
图:用户界面图
系统总体架构
系统由嵌入式硬件终端、Windows 业务处理端、Flask Web 后台、SQLite 数据库组成,硬件通过 WiFi 向上位机传输传感器与图像数据。
图:系统总体架构框图
- ESP32 主控模块:驱动 RFID 射频读卡、LCD1602 显示模块,采集设备 RFID 标签数据,WiFi 网络上传数据。
- ESP32-WROVER-CAM:搭载 OV2640 摄像头采集人脸视频流,通过 WiFi 传输图像至 Windows 端。
- Windows 业务处理端:接收硬件数据流,完成 OpenCV 人脸识别校验,执行业务逻辑,读写数据库更新借还状态。
- Flask Web 管理后台:浏览器访问,完成设备、用户、借阅记录管理,支持数据导出 Excel。
- SQLite 数据库:存储设备、人员、借阅业务记录。
硬件模块设计
| 模块 | 功能说明 |
|---|---|
| ESP32 | 主控制器,SPI 驱动 RC522,I2C 驱动 LCD1602,WiFi 通信 |
| RC522 RFID 射频模块 | 读取设备 RFID 标签 ID,作为实验设备唯一身份标识 |
| LCD1602(I2C PCF8574 扩展) | 现场显示识别到的设备编号,方便核验 |
| ESP32-WROVER-CAM + OV2640 | 采集人脸图像,输出视频流用于人脸识别 |
业务流程设计
设备借出流程
借出业务流程图:RFID 识别设备 → 数据库校验设备存在 → 人脸识别身份校验 → 成功写入借阅记录,标记状态为借出。
设备归还流程
归还业务流程图:RFID 识别设备 → 校验设备借出记录 → 人脸识别核验归还者 → 更新归还时间、修改设备状态。
软件功能实现
人脸识别实现
基于 OpenCV,使用 LBPH 局部二值模式直方图人脸识别算法:
- 预先采集人脸样本,训练人脸特征模型,绑定用户 ID;
- 借还业务时摄像头获取画面,图像灰度化、人脸检测;
- 比对人脸特征置信度,完成借阅人身份鉴权。
Flask Web 后台管理功能
基于 Python Flask + Jinja2 模板引擎开发 B/S 管理后台:
- 登录鉴权
系统登录界面,账号密码校验,错误返回提示信息
- 设备管理
设备管理:设备信息增删改查、搜索、导出 Excel
- 用户管理
用户管理:维护实验室人员姓名、性别、学号信息
- 借阅信息管理
借阅记录管理,查看借出/归还状态,维护台账
SQLite 数据库核心表
device设备表:设备编号、设备名称;user用户表:姓名、性别、学号;device_manage借阅记录表:关联用户与设备,记录借出时间、归还时间、借阅状态。
项目难点 & 优化方向
现存问题
ESP32 嵌入式算力不足,人脸识别运算放在 Windows 上位机执行;网络质量较差时视频流传输卡顿,识别延迟升高。
后续优化
- 将人脸识别推理下沉到嵌入式终端,减少对上位机与网络依赖;
- 增加设备预约、借还逾期提醒、邮件消息通知功能。
图:用户界面图