一.系统概述

系统功能概述如下

  1. 通信机制:采用Wi-Fi技术实现APP与单片机之间的数据交互与指令传输。

  2. 用户账户体系:学生可通过APP自主完成账号注册及密码设置;教师端采用预设账号(用户名为teacher,密码为123456)登录系统。

  3. 签到签退流程:操作对应按键(按键1为签到,按键2为签退)后,系统启动人脸识别验证。验证通过时,绿色指示灯点亮;验证失败则触发红色指示灯,并伴随蜂鸣器发出3声报警提示。

  4. 信息展示与反馈:签到/签退操作成功后,相关人员姓名及对应状态将同步显示在本地显示屏和APP界面上。

  5. 请假审批功能:学生可通过APP提交请假申请,教师在APP端完成审批操作。审批通过后,系统自动将该学生记录从未签到状态更新为对应签到/签退状态。

  6. 数据统计功能:按下统计按键(按键3)后,系统自动生成统计报告,包含实到人数与应到人数信息,并在显示屏和APP上同步展示。

  7. 人数基准设定:班级总人数(应到人数)默认设定为3人,实到人数根据人脸识别结果进行实时动态统计更新。

  8. 签到状态监管:教师可通过APP实时查看3名学生的详细签到与签退记录。

  9. 人脸库配置:为便于演示,系统预置三张人脸数据(1张用户照片及2张明星照片),作为人脸识别的基准样本库。
    在这里插入图片描述

二.电路设计

电路图采用Altium Designer进行设计:

  1. 主控电路:选用STM32F103C8T6单片机作为系统控制核心,其最小系统电路构成整个电路的基础控制单元。

  2. 人脸识别电路:采用K210高精度摄像头模块实现人脸识别功能,该模块通过UART串口与单片机建立连接,完成数据交互。

  3. 签到按键电路:设计独立按键用于签到操作,按键一端接地,另一端连接至单片机的GPIO接口,实现签到指令的输入。

  4. 无线传输电路:通过ESP8266-01S模块将数据上传至上位机,模块与单片机采用UART串口通信方式,实现数据的无线传输。

  5. 显示电路:配备1.8英寸TFT屏(ST7735驱动)用于数据展示,该模块支持SPI和IIC两种总线通信方式,可灵活与单片机连接。

  6. 报警电路:采用有源蜂鸣器作为报警装置,通过NPN三极管构成驱动电路,实现报警功能的控制。

在这里插入图片描述

在这里插入图片描述

三.程序设计

#include “sys.h”
#include “delay.h”
#include “adc.h”
#include “math.h”
#include “key.h”
#include “OLED_I2C.h”
#include “Beep_Led_Relay.h”
#include “Control_Report_To_Police.h”

int main(void)
{

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置中断优先级分组为组2:2位抢占优先级,2位响应优先级
delay_init();	    	 //延时函数初始化	
 
Beep_init();
Beep=0;//蜂鸣器初始化   系统上电后先让蜂鸣器停止叫
 
TIM4_Init(300,7200);
OLED_Init();            //OLED初始化
Led0_init();						//PA11 PA12
Led0_1=1;
Led0_0=1;
KEY_Init();             //PB12 PB13 PB15
Usart1_Init(115200);    //PA9 PA10
OLED_CLS();              //OLED清屏


ALi_ESP8266_GPIO_Init();
MQTT_Buff_Init();

AliIoT_Parameter_Init();

while(1)
{
  OLED_Display_Cotrol(); //显示控制函数
}	 

}

四.资料内容

在这里插入图片描述

24-32-139

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐