智能锁项目
一、项目介绍
1、项目基本需求
按键功能:输入密码,并能根据密码来决定开门还是进入管理员模式 --IIC
密码功能:能够更换开门密码/管理员密码,且具有掉电不丢失功能
刷卡功能:能够判断卡片是否登记;刷卡开门;删除/登记开门卡片 --SPI
指纹功能:指纹开门;删除/登记指纹 集成的模块 -- UART
语音功能:播放不同功能的语言提示 – 播放40段固定语音信息
门铃功能:机械开关控制门铃响
显示功能: LCD屏幕显示 --SPI
阿里云服务器接入:连接阿里云服务器,可以上报设备信息,也可以通过服务器端无线控制,如修改密码、恢复出厂设置、调节音量大小、远程开门等
2、硬件设计框图
- 主控芯片:
型号:STM32F401RET6;核心:Cortex-M4;主频:84Mhz;内部Flash:512KB;管脚:64个。
- EEPROM:
芯片型号:AT24C04;内部结构:AT24C04芯片分为2个数据区,每个可存256Bytes。
- FLASH:
芯片型号:W25Q64;内部结构64M 位/8M 字节。
- 触摸按键:
BS8116电容触摸传感器控制芯片来管理数字密码键盘的操作。具有12个按键输入通道以及1个触摸感应中断输出,一旦有按键被按下,则中断脚IRQ则输出低电平。BS8116电容触摸传感器控制芯片采用I2C总线方式进行数据读写。
- RFID射频识别模块:
射频识别即RFID(Radio Frequency IDentification)技术,又称电子标签、无线射频识别,是一种通信技术,可通过无线电讯号识别特定目标并读写相关数据,而无需识别系统与特定目标之间建立机械或光学接触。常用的有低频(125k~134.2K)、高频(13.56Mhz)、超高频,无源等技术。RFID读写器也分移动式的和固定式的,目前RFID技术应用很广,如:图书馆,门禁系统,食品安全溯源等。
- LCD显示屏:
智能锁开发平台使用1.3英寸彩色LCD液晶屏,液晶屏分辨率为240×240。LCD液晶屏显示控制器型号为:ST7789VW。
- 指纹模块:
智能锁开发平台项目采用MG200电容式指纹采集器。MG200电容指纹识别模块使用电容指纹传感器,可完成指纹的采集、比对、储存以及相关的扩展功能。模块包含硬件和软件(核心算法及管理程序)两部分。
- 语音芯片:
智能锁开发平台项目板载一个语音芯片和一个8欧1W的喇叭,可以通过语音芯片和喇叭来播放40段语音提示信息以及门铃音乐等。语音芯片内的语音数据出厂时已经固化,用户不能自行烧录改变。
- ESP32-WIFI&蓝牙双模模组:
ESP32 可作为独立系统运行应用程序或是主机 MCU 的从设备,通过 SPI / SDIO 或 I2C / UART 接口提供 Wi-Fi 和蓝牙功能。
- 门锁电机
直流电机
二、项目架构
1、什么是架构思想
无具体功能但有具体的进出逻辑
2、架构的作用特点
提高开发效率
稳定性
通用性
3、项目流程
软件层面:
- 需求可行性分析 ①分析需要做什么功能 ②需要做的功能是否行得通
- 搭建程序架构
- 测试架构 空套跑架构,按下按键是否能递进到下一个界面
- 写各个功能的底层驱动以及应用功能 并移植到架构中测试
4、如何搭建架构
基于LCD屏幕和BS8116触摸按键搭建架构,按下按键能层层递进到下一个界面或者返回上一界面再或者返回主界面
搭逻辑
调函数
程序架构 :
硬件初始化部分--->各个功能模块的初始化
中断部分--->利用定时中断,实时更新时间并显示到屏幕;利用串口中断,分别接收指纹模块与esp32解析后的数据包
主循环逻辑(状态机扫描)是门锁程序的核心部分,它负责不断地检测输入设备(如RFID读卡器、按键等)的状态,根据输入调用相应的功能模块进行处理,并更新门锁的状态和显示信息。