基于ESP32的智能门锁系统测试

项目介绍

基于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射频门锁功能测试表如下:

2 RFID射频门锁功能测试

用例名称

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屏幕上能够成功显示显示时间,天气温度,室内温湿度以及日期信息,且无错误。

测试结论符合预期要求

3. 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能够正确显示门锁开关状态,室内                                   温湿度,预警信息。用户通过点击按钮能够远程控制门锁

测试结论符合预期要求

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/402110.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工商业和户用光伏区别及怎样运维

工商业光伏系统和户用光伏系统在设计、安装和运维方面存在一些显著的区别。首先,工商业光伏系统通常安装在工厂、办公楼、商场等大型建筑物的屋顶或空地上,而户用光伏系统则主要安装在居民住宅的屋顶上。工商业光伏系统的规模一般较大,发电量…

Unity | AmplifyShaderEditor插件基础(第二集:模版说明)

目录 一、前言 二、核心模版和URP模版 1.区别介绍 2.自己的模版 三、输出节点 1.界面 2.打开OutPut 3.ShderType 4.ShaderName 5.Shader大块内容 6.修改内容 四、预告 一、前言 内容全部基于以下链接基础以上讲的。 Unity | Shader基础知识(什么是shader…

Android 实现动态换行显示的 TextView 列表

在开发 Android 应用程序时,我们经常需要在标题栏中显示多个 TextView,而这些 TextView 的内容长度可能不一致。如果一行内容过长,我们希望它们能自动换行;如果一行占不满屏幕宽度,则保持在一行内。本文将带我们一步步…

仅12%程序员担心被AI取代 62%开发者在使用AI工具

**根据Stack Overflow近日发布的2024年开发者调查报告,只有12%的开发者认为AI威胁到了他们当前的工作,而高达70%的受访者已经将AI工具整合到了自己的工作流程中。**该调查共有超过6.5万名开发者参与,结果显示,使用AI工具的开发者比…

Java知识点一——列表、表格与媒体元素

显示表格边框&#xff1a;<table border"1"></table> 因为初始的表格是没有边框的 collapse相邻的单元格共用同一条边框&#xff08;采用 collapsed-border 表格渲染模型&#xff09;。 separate默认值。每个单元格拥有独立的边框&#xff08;采用 sep…

什么是实时数据仓库? 优势与最佳实践

在当今数据驱动的世界中&#xff0c;许多企业使用实时数据仓库来满足其分析和商业智能 (BI) 需求。这使他们能够做出更好的决策、推动增长并为客户提供价值。 数据仓库是一种数据存储和管理系统&#xff0c;其设计目标只有一个&#xff1a;管理和分析数据&#xff0c;以实现商…

掌握Jenkins自动化部署:从代码提交到自动上线的全流程揭秘

Jenkins自动化部署是现代软件开发中不可或缺的一部分&#xff0c;它不仅简化了代码的发布过程&#xff0c;还为整个团队带来了无与伦比的效率和协作力。想象一下&#xff0c;开发者们可以专注于编写高质量的代码&#xff0c;而不是为繁琐的手动部署所烦恼&#xff1b;测试人员能…

Python进阶之3D图形

Python进阶之3D图形 在数据可视化中&#xff0c;2D图形通常可以满足大多数需求。然而&#xff0c;对于一些复杂的数据或分析&#xff0c;3D图形可以提供更多的视角和洞察。在Python中&#xff0c;使用 Matplotlib 和 Plotly 等库可以轻松创建各种3D图形。本文将介绍如何使用这…

C++_2_ inline内联函数 宏函数(2/3)

C推出了inline关键字&#xff0c;其目的是为了替代C语言中的宏函数。 我们先来回顾宏函数&#xff1a; 宏函数 现有个需求&#xff1a;要求你写一个Add(x,y)的宏函数。 正确的写法有一种&#xff0c;错误的写法倒是五花八门&#xff0c;我们先来“见不贤而自省也。” // …

SpringCloud的能源管理系统-能源管理平台源码

介绍 基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 软件架构

提升体验:UI设计的可用性原则

在中国&#xff0c;每年都有数十万设计专业毕业生涌入市场&#xff0c;但只有少数能够进入顶尖企业。尽管如此&#xff0c;所有设计师都怀揣着成长和提升的愿望。在评价产品的用户体验时&#xff0c;我们可能会依赖直觉来决定设计方案&#xff0c;或者在寻找改善产品体验的切入…

【STM32F4】——DMA初始化结构体详解

一.DMA_InitTypeDef 初始化结构体 typedef struct {uint32_t DMA_Channel; //通道选择 uint32_t DMA_PeripheralBaseAddr;//外设地址uint32_t DMA_Memory0BaseAddr; //存储器 0 地址uint32_t DMA_DIR; //传输方向 uint32_t DMA_BufferSize; /…

opencascade Adaptor3d_CurveOnSurface源码学习

opencascade Adaptor3d_CurveOnSurface 前言 用于连接由Geom包中表面上的曲线提供的服务&#xff0c;以及使用这条曲线的算法所要求的服务。该曲线被定义为一个二维曲线&#xff0c;来自Geom2d包&#xff0c;位于表面的参数空间中 方法 1 默认构造函数 Standard_EXPORT Ada…

Windows设置定时任务进行oracle数据库备份

先找到“定时任务计划” 方法1.开始->所有程序->附件->系统工具->定时任务计划 方法2:控制面板->输入计划 进行查询操作 名称随便定&#xff0c;点击下一步 下一步 设置每天的定时执行时间&#xff0c;点下一步 点下一步选择启动程序&#xff0c;点下一步 点…

Lesson 64 Don‘t ... You mustn‘t ...

Lesson 64 Don’t … You mustn’t … 词汇 play n. 戏剧&#xff08;真人演的&#xff0c;话剧&#xff09;v. 玩耍 搭配&#xff1a;play with 物体 / 人    玩…… / 和……一起玩 例句&#xff1a;我正在和Leo玩。    I am playing with Leo.演奏&#xff08;乐器…

ddos造成服务器瘫痪后怎么办

在服务器遭受DDoS攻击后&#xff0c;应立即采取相应措施&#xff0c;包括加强服务器安全、使用CDN和DDoS防御服务来减轻攻击的影响。rak小编为您整理发布ddos造成服务器瘫痪后怎么办。 当DDoS攻击发生时&#xff0c;首先要做的是清理恶意流量。可以通过云服务提供商提供的防护措…

初步融合snowboy+pyttsx3+espeak+sherpa-ncnn的python代码

在前文《将Snowboy语音唤醒的“叮”一声改成自定义语言》中&#xff0c;我已经实现唤醒snowboy后&#xff0c;树莓派会说一句自定义文本。今天&#xff0c;会在此基础上增加ASR的应用&#xff08;基于sherpa-ncnn&#xff09;。 首先&#xff0c;编写一个asr.py的程序&#xf…

@DateTimeFormat 和 @JsonFormat 注解详解

目录 一、快速入门1.1 准备工作1.2、入参格式化&#xff08;前端传参到后端&#xff09;1.3、出参格式化&#xff08;后端返回给前端&#xff09;1.4、如果是请求体RequestBody传参 二、详细解释这两个注解1、JsonFormat2、DateTimeFormat注意&#xff1a;1、这两者的注解一般联…

大型、复杂、逼真的安全服和安全帽检测:SFCHD数据集和SCALE方法

智能守护工地安全&#xff1a;SFCHD数据集与SCALE模块介绍 在人工智能&#xff08;AI&#xff09;技术飞速发展的今天&#xff0c;其在建筑工地安全领域的应用正逐渐展现出巨大潜力。尤其是高风险行业如化工厂的施工现场&#xff0c;对工人的保护措施要求极为严格。个人防护装…

Vue 生命周期详解含demo、面试常问问题案例

Vue 生命周期详解、面试常问问题案例 含 demo 文章目录 Vue 生命周期详解、面试常问问题案例 含 demo一、Vue 生命周期是什么二、Vue 中如何使用生命周期钩子1. **beforeCreate**2. **created**3. **beforeMount**4. **mounted**5. **beforeUpdate**6. **updated**7. **beforeD…