温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
STM32
智能
门锁
系统
设计
翁盛
工业控制计算机2023年第36卷第2期*平顶山学院青年基金项目(PXY-QNJJ-202006)翁盛周瑞敏(平顶山学院信息工程学院,河南 平顶山467000)锁具具有悠久的发展历史,在发展历程中,锁具的安全性和实用性不断提高1。现如今,随着物联网和微电子技术的发展应用,解锁方式多样化、更为安全、智能的锁具应运而生。智能门锁的出现,是顺应时代发展的产物,凭借其高便捷、高安全、高颜值的特点深受越来越多人的青睐。同时,智能锁作为智能家居的第一个“入口”,其具有用户粘性高、使用频率高的“两高”特点。本文设计了一款基于STM32的智能门锁系统,用户可以通过密码、指纹、RFID、蓝牙四种方式进行解锁。成功解锁后,根据室内的光照度,控制全屋的照明系统,实现家居联动。给用户提供更具安全性、便利性、舒适性的入户体验。1总体设计方案智能门锁系统功能架构主要由门锁识别解锁、家居智能联动、门锁附加功能这3大模块组成,如图1所示:图1系统总体框图智能门锁的整个设计是基于STM32系列微控制器实现的,通过矩阵按键模块、指纹模块、RFID模块、蓝牙模块发送解锁信息给单片机,单片机对其进行识别比对,比对正确后,控制步进电机转动达到开锁的效果。成功解锁的同时,会根据室内光敏传感器传回的数据,以控制屋内的照明系统。智能门锁同时也集成了OLED显示屏模块和蜂鸣器模块,分别用来显示实时时钟、门锁信息、功能菜单页面和报警提示、播放门铃音乐。2硬件设计2.1核心控制芯片本设计中选用STM32F103C8T6作为主控芯片,是一款基于Cortex-M3内核的32位微控制器。包括以下资源:160 kBSRAM、512 kB Flash、3个通用定时器、1个高级定时器、2个SPI、2个IIC、3个USART、1个CAN、2个12位ADC以及37个通用I/O口2-4。2.2电源电路本设计采用一块14 500 mAh的锂电池(5 V)进行供电,如图2所示。5 V的电压经过自锁开关,一路直接给蜂鸣器模块和步进电机模块供电,另一路进稳压芯片(SPX3819/3.3 V),输出3.3 V的电压给系统芯片及其他的模块供电,SPX3819是一款固定输出低压差的正压稳压器,其低噪声输出性能特别适合于电池供电的场合。本系统充电电路采用CN3063充电管理芯片,可采用USB-A口直插给锂电池充电。充电管理电路如图3所示。内部RTC时钟通过一颗纽扣电池进行供电,掉电时以保持时钟运行5。2.3指纹模块AS608模块是一款集成了光路和指纹处理一体化的指纹模块,模块内置DSP运算单元,同时集成了指纹识别算法,能够快速高效地采集指纹图像并进行特征识别。用户只需通过操作串基于 STM32 的智能门锁系统设计*Design of Smart Door Lock System Based on STM32摘要:针对传统门锁的安全、开锁方式单一与智能化方面存在的问题,设计并开发一款基于STM32F103单片机的智能门锁系统。该系统可分别通过键入密码、指纹、RFID刷卡、手机蓝牙四种方式进行解锁。同时,集成光照度传感器,根据室内光亮度来控制屋内照明系统,达到智能家居设备联动的效果。整体设计具有较高的完整性和实用性,不仅提高了开锁的安全性、便捷性,还可与其他智能家居设备进行联动,更为智能化。最后,通过实物进行了实验验证,达到了预期结果。关键词:智能门锁;STM32F103;密码解锁;指纹解锁;RFID解锁;蓝牙解锁Abstract:Aiming at the existing problems in the safety,single unlocking mode and intellectualization of traditional doorlocks,an intelligent door lock system based on STM32F103 single-chip microcomputer is designed and developed in thispaper.The system can be unlocked by typing password,fingerprint,RFID card swiping and Bluetooth.At the meantime,the integrated illumination sensor controls the indoor lighting system according to the indoor brightness,so as to achievethe effect of smart home equipment linkage.The overall design has high integrity and practicality,which not only improvesthe safety and convenience of unlocking,but also can be linked with other smart home devices,making it more intelligent.Keywords:smart door lock,STM32F103,password unlocking,fingerprint unlocking,RFID unlocking,Bluetooth unlocking图2电源稳压电路图135基于STM32的智能门锁系统设计口,便可控制模块。该模块体积小、功耗低、接口简单,且可靠性高、识别速度快、干湿手指适应性好、指纹搜索速度快。本系统中通过AS608模块实现了指纹的录入与识别。2.4 RFID模块本系统选用的RFID模块型号为RC522,它是一款高度集成的非接触式的读写卡芯片,通过无线射频的方式在读写器和射频卡之间进行非接触双向数据传输。该模块的工作原理是利用调制和解调,当ID磁卡(电子标签)进入到磁场后,接受读写器发出的射频信号,凭借感应电流所获得的能量发送出存储在芯片中的产品信息,读写器读取到信息并解码后,送至处理单元进行数据处理。2.5 JDY-31蓝牙模块JDY-31是一款作为从机的蓝牙模块,工作频段2.4 GHz,调制方式GFSK,最大发射功率8db,最大发射距离30 m,其一大优点是在MCU上进行编程时无需设置AT指令,只需知道其名字、密码、波特率、地址这四个信息,直接通过串口发送信息即可使用,操作更为简单(相较于HC-O5)。通常使用时接入串口引脚,与蓝牙模块建立通信后会发送CONNECTED,蓝牙模块指示灯由闪烁变为常亮,即蓝牙连接成功。2.6步进电机模块本系统采用四相步进电机模拟锁具,型号为28BYJ-48。它是一款将电脉冲信号转变为角位移或线位移的开环控制电机,采用ULN2003驱动。在非超载的情况下,当步进驱动器,接收到一个脉冲信号,它就驱动步进电机按设定的方向转动一个固定步距角,以固定的角度一步一步运行。步进电机步距角的计算公式为:b=360mcZk(1)其中,m为相数,本系统中步进电机的驱动方法是四相八拍,此时C为2,Zk为转子小齿数。即步距角为360512。但步进电机经过一个18的减速器引出,实际的步距角为5.625。通过控制脉冲个数来控制角位移量,从而达到准确定位;同时可以通过控制脉冲频率来控制电机转动的速度和加速度,达到调速的目的。3软件设计本系统的软件设计主要是对用户键入的密码、按下的指纹、RFID卡和手机蓝牙发送的密码信息跟系统已录入的信息进行比对,当信息比对成功后,控制步进电机正转开锁。除了智能门锁基本的信息识别开锁的功能以外,本系统还设计有电子门铃、自动上锁和家居设备联动等附加功能,使得智能门锁集成度更高,更为智能化。总体软件流程图如图4所示。3.1菜单界面当成功解锁后,OLED显示屏上就会进入门锁的菜单界面。菜单界面的功能是用户可以对开锁信息的录入删除及门锁显示和工作状态的设置。本设计添加门常开态功能主要是为了方便需长时间开门,防止门锁自动落锁。菜单界面流程图如图5所示:图5菜单界面流程图3.2密码的安全性能针对智能门锁密码安全性能的问题,本系统添加了临时密码及虚位密码的功能,在有客人到来及键入密码提供安全保障,有效避免密码泄露,产生安全隐患。临时密码是门锁系统存储的另一个开锁密码,用户可以将临时密码提供给他人用作临时开锁,使用完之后再进行更改,以此保护常用密码的安全。虚位密码是在正确密码的前后添加混淆数字,系统对输入的密码按位扫描配对,当整串数字中有完整且未拆分的正确的密码,即可成功解锁。3.3指纹的录入与检测指纹录入是先初始化模块读状态,通过GetImage函数获取光学反射的指纹图像,再生成8位无符号的BuggerID的特征信息数据,经过两次的获取对比,在相似度高的情况下,合并特征生成模板,最后对模板附加ID号并存储。指纹检测是使用内置的高速搜索函数对特征模板进行快速搜索,在精确对比两枚指纹特征后返回解析结果6。3.4 RFID卡的识别与写入RFID卡的识别是当ID磁卡进入到磁场后,接受到读写器发图3电池充电电路图图4总体软件流程图136工业控制计算机2023年第36卷第2期(上接第109页)2颜于凤,沈勇.基于图像处理的网页篡改检测J.计算机与数字工程,2020,48(6):1479-1482,15183洪莎莎.互联网WEB网页防篡改技术研究J.电脑知识与技术,2021,17(30:121-122,1254WANG X,FENG D,LAI X,et al.Collisions for hash functionsMD4,MD5,HAVAL-128 and RIPEMD J.Cryptology ePrintArchive,20045赵素萍.MD5加密算法的改进及应用J.现代计算机,2017(15):60-626杨清虎.关于MD5摘要算法认识的几个误区J.保密科学技术,2012(6):61-637王永,陈燕,赵毅.基于分段Logistic映射的并行Hash函数构造算法J.计算机工程与应用,2018,54(15):38-43,1548和斌涛,刘丽华,邓方安,等.基于混沌消息扩展的Hash函数J.计算机工程与应用,2015,51(14):78-839STEVENS M,LENSTRA A K,WEGER B D.Chosen-PrefixCollisions for MD5 and Colliding X.509 Certificates for Differ-ent IdentitiesC/Proceedings of the 26th annual internationalconferenceonAdvancesinCryptology.Springer-Verlag,200710钟鸣,刘建东,刘博,等.三维动态整数帐篷映射设计与分析J.计算机工程与应用,2020,56(9):56-6411NIST.FIPS 180-2:Secure Hash standard S.USA:FederalInformation Processing Standards Publication,200212毛熠,陈娜.MD5算法的研究与改进J.计算机工程,2012,38(24):111-114,118收稿日期:2022-06-12出的射频信号,即完成寻卡的过程。寻到卡后通过防冲撞算法选择要操作的ID卡,凭借感应电流所获得的能量发送出存储在芯片中的ID信息,读写器读取到信息并解码后,送至处理单元进行数据处理。写入过程是以射频耦合方式对ID卡的可擦写数据区进行擦写或单纯写入7。RFID模块操作流程图如图6所示:图6RFID模块操作流程图3.5蓝牙的连接与通信蓝牙的连接与通信是通过串口通信实现的。先对蓝牙设备进行初始化,将蓝牙模块与控制端之间通信的设置相同的波特率,由于系统设计选用的是作为从机的蓝牙模块,即不用通过AT指令设置主从机模式,更为简单方便。用户在使用的时候,通过手机蓝牙连接上蓝牙模块,当我们需要开锁时,可直