项目介绍
基于ESP32的智能门锁系统。可以运用在商务办公、家用住宅、酒店以及公租房短租公寓等领域。基于esp32的智能门锁系统是生物识别技术和嵌入式系统技术的完美结合,基于ESP32系统进行开发,同时在云端服务器搭建了MQTT服务器并连接开源的家庭自动化控制管理平台。主要功能为用户可通过指纹,RFID射频卡来开启门锁,门锁背部屏幕可显示天气、日期室内温湿度等信息,也可以通过云端管理平台,对门锁状态,警报状态,室内温湿度等信息进行查看并且可以远程控制门锁开关。
测试用例设计与执行
1. 指纹门锁功能测试
该功能有两类用户(普通用户和管理者),管理者可以进行此模块功能的使用,以下分别介绍不同用户以及非用户的功能测试。
1.1 管理者验证
当管理者将手指放上指纹模块后,OLED屏幕显示管理页面,其中有添加指纹、删除指纹、清库、返回命令的功能,如图1所示。

图 1
若用户非管理者则会省略管理页面的显示,如图2所示。

图 2
1.2 添加指纹
进入管理页面后,通过按键一实现添加指纹操作功能。按下按键一可以进行添加指纹操作,此时会提示用户放上需要添加的指纹,如图3所示。

图 3
若指纹已经存在,则提示用户,如图4所示。

图 4
检测无误,将指纹添加成功提示信息,如图5所示。

图 5
1.3 删除指纹
进入管理页面后,通过按键二实现删除指纹操作。按下按键二,OLED屏幕进入删除指纹页面,如图1-6所示。

图 6
此时通过按键一和二来对指纹ID号的十位和个位进行操作,如图7所示。

图 7
点击按键四确认,删除成功图8所示。

图 8
1.4 清库
进入管理页面后,通过按键三实现清库操作。按下按键三,对已有指纹库进行删除,此时将已经录入手指放上后,验证失败。如图9所示。

图 9
1.5 返回功能
进入管理页面后,通过按键四实现返回操作。按下按键四,退出管理模式进入指纹验证模式如图10所示。

图 10
在其他功能模式中也可通过该按键返回,如图11所示。

图 11
1.6 普通用户验证
管理者添加指纹后,用户可以将手指放到指纹模块上,成功验证后开锁如图12所示。

图 12
非用户则会验证失败,如图13所示。

图13
指纹门锁功能测试表如下:
表 1 指纹门锁功能测试表
|------|------------------------------------|
| 用例名称 | RFID射频门锁功能测试 |
| 测试条件 | 用户使用IC卡成功开启门锁 |
| 测试步骤 | 1. 将IC卡放到指定位置 2. 查看MG90S舵机的状态 |
| 测试结果 | 用户可以通过指定的IC卡来进行开锁的操作,未指定的IC卡无法通过验证 |
| 测试结论 | 符合预期要求 |
2.RFID射频门锁功能测试
该功能对IC卡用户和非用户开锁功能进行测试。若位预设用户,则OLED屏幕上显示信息,如图14所示。

图 14
非用户则无法通过验证,如图15所示。

图15
RFID射频门锁功能测试表如下:
表 2RFID射频门锁功能测试
|------|-------------------------------------|
| 用例名称 | RFID射频门锁功能测试 |
| 测试条件 | 用户使用IC卡成功开启门锁 |
| 测试步骤 | 1. 将IC卡放到指定位置 2. 查看MG90S舵机的状态 |
| 测试结果 | 用户可以通过指定的IC卡来进行开锁的操作,未指定的IC卡 无法通过验证 |
| 测试结论 | 符合预期要求 |
2. 夜间停留预警功能测试
2.1 有无光照
对光敏传感器的灵敏度进行测试,在遮挡前控制台输出0,遮挡后输出1。如图16、17所示。

图 16

图17
2.2 人体红外检测
在光照情况下,当有人经过时红外检测不启用,如图5-18所示。

图 18
在无光照情况下,当有人经过时,控制台打印输出经过时间,如图19所示。

图19
2.3 停留预警
在无光照情况下,当有人停留超过1分钟时,蜂鸣器警报,并将数据传上home assistant供用户查看,如图20、21所示。

图 5-20

图21
夜间停留预警功能测试表如下:
表 5-3 夜间停留预警功能测试表
|------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| 用例名称 | 夜间停留预警功能测试 |
| 测试条件 | 有人停留超过1分钟时,蜂鸣器警报,并上传Home assistant |
| 测试步骤 | 1. 对光敏传感器进行遮挡和不遮挡操作 2. 遮挡光敏传感器,用手停留在HC-SR501处 |
| 测试结果 | 光敏传感器以及HC-SR501在无光条件下控制台打印,当有人停留时间超过一分钟时蜂鸣器警报且Home assistant上收到警报,说明该功能正常 |
| 测试结论 | 符合预期要求 |
3.天气时钟+室内温湿度显示功能(门内)测试
在1.3寸TFT屏幕上显示时间,当地天气温度,以及日期等信息。如图22所示。

图 5-22
在TFT上显示由DHT11获取的温湿度数据,如图23所示。

图 23
天气时钟+室内温湿度显示功能测试表如下:
表 4 天气时钟+室内温湿度显示功能测试表
|------|-----------------------------------------|
| 用例名称 | 天气时钟+室内温湿度显示功能 |
| 测试条件 | TFT屏幕上显示时间,天气温度,室内温湿度以及日期 |
| 测试步骤 | 1. 将屏幕接入ESP32下载代码 2. 屏幕显示信息 |
| 测试结果 | TFT屏幕上能够成功显示显示时间,天气温度,室内温湿度以及日期信息,且无错误。 |
| 测试结论 | 符合预期要求 |
- home assistant远程控制功能测试
3.1 信息显示
在用户home assistant移动端上显示室内温湿度,门锁状态,警报等信息。如图24所示。

图 24
3.2 控制门锁
在用户home assistant移动端通过点击按钮,控制门锁的开关。如图25、26所示。

图 25

图 26
home assistant 远程控制功能测试表如下:
表 5 home assistant远程控制功能功能测试表
|------|--------------------------------------------------------------|
| 用例名称 | home assistant远程控制功能 |
| 测试条件 | TFT屏幕上显示时间,天气温度,室内温湿度以及日 |
| 测试步骤 | 1. 打开移动端home assistant,查看信息 2. 点击开锁按钮,查看同时查看门锁状态 |
| 测试结果 | 用户移动端home assistant能够正确显示门锁开关状态,室内 温湿度,预警信息。用户通过点击按钮能够远程控制门锁 |
| 测试结论 | 符合预期要求 |