摘要:设计了一种基于51单片机和WiFi无线通信的红外智能密码锁。密码锁由红外解码锁具、液晶密码钥匙和用于设置参数的手机端应用软件组成。通过手机无线设定密码到锁具端和钥匙,钥匙将密码显示为点阵图形,锁具端识别图形并判断,一致则开锁。
关键词:单片机,红外,WiFi,密码锁
中图分类号:TP368.2文献标识码:B
0 引言
随着科技进步发展,智能密码锁的使用越来越多。机械或电子密码锁通常采用转盘或按键,每次开锁都通过人工转动转盘或按键输入密码进行。靠转盘开锁,锁具磨损大,寿命低;用按键输入密码开锁,输入繁琐,存在密码多次输错被锁死的问题。鉴于此,设计了一种基于单片机和WiFi通信的红外智能密码锁。
1红外智能密码锁组成
红外智能密码锁由红外解码锁具、液晶密码钥匙和手机端应用软件三部分组成。红外解码锁具包括51单片机和多个解码单元,每个解码单元包括一对红外发射管、接收管;单片机接收红外接收管的信号。液晶密码钥匙包括单片机和点阵液晶屏,单片机控制液晶屏上黑色点阵的显示位置即密码图形,图形组数,每组图形切换的间隔时间。
用户手机下载“智能密码锁”App应用,以每套锁具唯一的用户名和密码注册登录后,在设置界面上可随意设置密码图形,图形组数和每组图形切换时间,点击“设置”按钮,即可更改开锁密码。
2红外智能密码锁工作原理
钥匙端单片机驱动液晶屏在设定的时间内显示规定组数的不同图形;锁具端单片机不工作时处于休眠状态,一旦钥匙靠近即被唤醒,单片机驱动所有红外发射管发射红外线,遇到液晶屏上非黑色点阵被反射,由与其配对的红外接收管接收,单片机读取红外接收管的状态并通过软件解析出密码图形;若解码图形和密码图形一致,则开锁。液晶屏可以被设置成多组图形,且每组图形切换时间也可被设置。锁具端解码每组图形的切换时间,图形组数和每组图形样式必须和钥匙端的设置一致才能开锁。锁具端和钥匙端的单片机串口均连接有串口WiFi模块,用于接收手机端App发送来的密码图形组数,图形切换时间等参数。工作原理示意如图1所示。
3 红外智能密码锁硬件设计
本系统采用AT89C51作为核心控制部件。51系列单片机是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU,随机存储器RAM,只读存储器ROM,多种I/O口中断系统、定时器/计数器等功能集成到一块硅片上构成的一个小而完善的嵌入式计算机系统,是目前性价比高、应用最为广泛的8位单片机之一。锁具端和钥匙端各采用一片单片机作为控制核心。
锁具端单片机的P0口控制三极管导通或截止,三极管驱动红外发射管发射红外线;P1 和P2端口分别连接8个红外接收管,读取红外接收管的状态并解析。如果解密成功则驱动继电器通电,接通锁头马达转动开锁。P3.3连接蜂鸣器报警,一旦解析出的密码和锁具端的不一致,则蜂鸣器报警。锁具端电路如图2所示。
液晶密码钥匙端单片机连接点阵液晶屏,通过软件控制液晶屏幕显示不同的点阵图形。本设计采用LCD1602液晶屏,可以显示两行,每行16个字符,字符库中有全黑“■”字符,软件控制液晶显示各个字符为全黑或空白。由两行字符构成的图形共有6.5万余种,即每组图形是6.5万多种中的一种。通过编程可设置两组、三组,甚至更多组密码图形,每组图形之间的切换时间也可以设置。如此,密码的复杂度极高。sw1为启动按钮,唤醒钥匙端单片机工作,sw2为钥匙关按钮,控制单片机进入休眠状态,节省电池电量。钥匙端电路如图3所示。
锁具端和钥匙端都有连接有串口WiFi模块,本设计采用ESP8266串口WiFi模块,是新一代嵌入式WiFi模块,体积小,功耗低。采用UART接口。串口WiFi模块是基于通用串行接口特性,符合IEEE802.11 协议栈网络标准,内置TCP/IP协议栈,能够实现用户串口、以太网、无线网(WIFI)3个接口之间的任意透明转换,使传统串口设备更好的加入无线网络,通过串口WiFi模块,传统的串口设备在不需要更改任何配置的情况下,即可通过Internet网络传输自己的数据。模块的UTXD和单片机的TXD相连,URXD和单片机的RXD相连。如此,手机App中设置的参数即可通过WiFi转串口模块发送到钥匙和锁具端单片机,省去了用专用下载器下载程序的麻烦。
4 红外智能密码锁软件设计
用C语言编写软件,可调用库函数多,编程简单,移植性好。锁具和钥匙端程序均采用单片机C语言进行编写。
锁具端单片机平时处于休眠状态,当钥匙靠近时被唤醒,然后开始连续读取连接红外接收管的P1、P2端口的状态,当P1、P2口状态为全0时,即红外接收管没有接收到信号,表示液晶钥匙还没贴在锁具上,当P1、P2口状态为全1时,表示钥匙已贴紧锁具,进入读取图形阶段。将读到的图形和设置的密码图形比对,如果一致,按设定的時间间隔读取第二幅图形;如此按照设定的图形样式、组数,每组图形切换的间隔时间,读取P1、P2口的状态并进行解析。直到解析到的每组图形均和设置的图形完全一致,单片机P3.2口驱动继电器打开锁头。若不一致,通过P3.3口连接的蜂鸣器报警。开锁后,单片机进入休眠状态。锁具端程序流程如图4所示。
液晶钥匙端单片机平时也处于休眠状态,开锁时按下钥匙上按钮sw1唤醒单片机。启动后单片机驱动液晶屏全部点亮以通知锁具端进入开锁阶段。接着按设置的和锁具端一致的图形样式、图形组数和每组图形切换的时间间隔驱动液晶显示。为和锁具端单片机同步,上述全黑点阵和密码图形将循环显示,直到开锁结束。按下钥匙端开关sw2,钥匙端单片机进入休眠。钥匙端程序流程如图5所示。
用户在手机App上根据需要设置图形样式、图形组数和每组图形切换时间后,利用手机WiFi和连接锁具端和钥匙端的串口WiFi模块并将参数发送给此两模块保存。
5手机App软件设计
本系统手机App基于Android Studio开发,用户首先需要根据购买密码锁时提供的用户名和密码进行注册并登录,界面上有图形样式设置、图形组数设置和每组图形切换时间设置框,用户自行填写或通过下拉框选择数据(下拉框中数据随机生成),点击App界面上的“确定”按钮,用户设置的参数即刻通过WiFi发送到锁具和钥匙的单片机并存储。限于篇幅,App的软件设计不再赘述。
6结论
利用51单片机和WiFi无线通信技术实现红外密码锁的设计,用户通过手机App设置参数来修改密码锁的密码,操作简单,设置安全可靠。通过单片机C语言编写钥匙端和锁具端程序,密码设置方法独特,难破解,安全性、可靠性高。此设计已申请发明专利并授权,本文将其具体实施并准备推入市场。
参考文献
[1]单片机,https://baike.baidu.com/item/%E5%8D%95%E7%89%87%E6%9C%BA
[2]串口WIFI模块,https://baike.baidu.com/item/%E4%B8%B2%E5%8F%A3WIFI%E6%A8%A1%E5%9D%97/10391107
[3] 苏建财,权晓亮,屈汐,林金平,胥震,红外密码锁设计[J],微计算机信息,2012年第28卷第8期:77-78
[4]王侠,王进军,基于单片机的红外电子密码锁系统的设计[J],信息通信,2012年第1期:60-61
[5]李云强,基于单片机的红外遥控电子密码锁设计与仿真[J],南阳理工学院学报,2018年3月第10卷第2期:29-32
[6]张天慈,刘胜前,基于智能手机的无线电子密码锁设计[J],大众科技,2018年11月总第20卷231期:4-7
[7]王有力,基于ARM的WIFI無线通信终端技术研究[J],中国新通信,2016年11月:6
[8]贾浩强,李耀,基于WiFi无线通信的温湿度检测节点设计[J],单片机与嵌入式系统应用,2014年第5期:70-72
[9]袁良凤,基于ARM的WiFi无线通信终端技术探讨[J],数字技术与应用,2018年5月第36卷第05期:40-41
作者简介:冯蓉珍,女,1970年11月出生,江苏苏州人,副教授/高级工程师。研究方向:嵌入式系统,移动互联网技术应用、物联网技术。
通信地址:江苏省苏州市经贸职业技术学院信息技术学院苏州国际教育园北区学府路287号,
邮编:215009
电话:13451982192
E-mail:1124070649@qq.com