基于手机 APP 管理的智能门锁系统设计
扫描二维码
随时随地手机看文章
引 言
伴随计算机技术、网络技术及大规模集成电路的发展, 室内智能化倍受期待,智能化产品也越来越受到人们的关注和使用 [1]。门锁是家的第一道安全屏障,是家庭中每天都会用到的安全设备,在智能家居的大浪潮下,门锁的智能化已经形成了一种趋势,智能门锁应运而生。
本文提出一种较为新颖的智能锁工作模式,以 WiFi 网络为基础,将门锁、手机、服务器三者联接起来。手机用户通过 APP 发送指令控制开锁密码更变,开锁时发送即时开锁密码信息至手机用户,从而实时了解开锁情况,有效提升安全性能 [2]。
1 系统结构
智能锁系统包括智能锁具微控制器系统、云服务器、用户远程控制的手机 APP 以及实现这三者联系的无线通信系统 [3],系统结构如图 1 所示。
微控制器系统通过 WiFi 无线模块接入云服务器,手机客户端通过 3G/4G 通信网接入云服务器。通过云服务器,手机客户端的指令可转发至门锁端,门锁端上传的信息也可发送到手机客户端,实现用户对门锁的远程控制与信息跟踪 [4]。该系统的工作过程为 :用户通过手机 APP 设置解锁密码,主控芯片将此密码保存下来,并通过门锁端的密码输入界面输入密码,达到解锁的目的。
2 硬件电路设计
门锁硬件电路的整体设计主要考虑系统的稳定性、可靠性、高效性、实用性、简洁性等方面 [5]。系统硬件电路如图 2 所示。
主控芯片采用最常见的 51内核单片机 STC12C5A60S2 作为主控芯片, 其主频范围为 11~32MHz, 同时具有32个 I/O口, 且价格低廉, 技术实现难度低。为了提高与 WiFi模块传输的传输速率,该系统选择使用的波特率为115 200 b/s,晶振频率为 22.118 4 MHz[6]。
WiFi通信采用 ESP8266-12F模块, 它是高性能无线SoC,以最低成本提供最大实用性。该模块支持标准的 IEEE 802.11b/g/n协议,完整的 TCP/IP 协议栈。使用该模块使主控芯片与云服务器之间具备通信条件 [7]。
键盘采用 12 位电容式按键模块(10 个数字、“*”“#”),通过 I2C 接口进行控制,仅需要 2 个 I/O 口,相比于传统矩阵键盘更加美观且操作方便。其中,“#”设置为确认键,“*”设置为清除键。
显示采用 OLED 显示屏。OLED 分辨率高、功耗低,且可显示图片,相较于液晶屏幕操作性更高。
电子锁体驱动采用 TB6612FNG 模块,电机电源接口带有反接保护电路,相较于传统的 L298N 提高了效率,体积也大幅减小。
3 软件设计
3.1 门锁端
门锁端工作流程如图 3所示。接通电源后,系统进行初始化,随后不断地等待新事件发生。当用户按下电容键盘对 应区域时,便会保留此刻的键值,如果输入错误,可以按下“*”键删除。当获取到 4个键值并收到最终结束符“#”时, 主控开始对比密码,如果密码与主控中存有的所有正确密码 都不匹配,蜂鸣器将会发出短促声响,并提示密码输入错误 ; 如果密码输入正确,蜂鸣器将会发出“嘀”声长鸣,随后发 送控制信号至电机驱动芯片 TB6612FNG,控制电子门锁解锁,并通过 WiFi透传,将开门信息和开门密码传至服务器, 服务器收到后再传至手机端,从而得到每次开门的信息。若 想增加新的开门密码,只需在手机端 APP界面输入一个四位密码并点击确认,新的密码便通过服务器传输至门锁装置 端。确认新的密码信息后,主控使用一个数组空间保存这个 密码。若想删除密码,也需通过手机端将其中配置好的密码 删除,删除信息通过服务器传至门锁端,主控芯片删除原先 存放的密码。
3.2 手机端
手机端的主要功能为 :通过服务器从智能锁获取门锁密码信息并显示 ;设置门锁密码与密码权限,并发送至服务器 [8]。APP 界面如图 4 所示。
APP 功能流程如图 5 所示。APP 登录后将连接 TCP 服务器,从锁体端获取密码信息,并显示在 APP 界面上。若获取失败,则弹出提醒框,此时可再次点击,直到成功获取所有可开锁的密码为止。若设置密码,只需点击 0 ~ 9 编号锁定密码存放空间,随后弹出四个选项框,分别为设置普通密码(永久开锁密码)、设置临时密码(某一时间段内密码有效)、设置次数密码(密码开锁次数上限)、删除密码。点击设置类选项,将会弹出键盘,输入密码后将此密码发送至服务器 ;点击“删除密码”,原编号内的密码将被直接删除。
3.3 云服务器
云服务器的主要功能为转发信息。该系统使用 NodeJS 编写服务器程序 [9],建立 TCP 服务器和 WebSocket 协议,分别供门锁端和手机端连接以及信息传输[10],具体流程如图 6 所示。通过初始代码建立服务器,并生成连接到服务器端口, 等待客户端连接。建立连接后开始监听端口信息,判断信息来自门锁端或手机端,并将门锁端发来的信息转发至手机端或将手机端发来的信息转发至门锁端。
4 系统测试
硬件效果如图7 所示。系统工作时,OLED屏幕显示两行,第一行显示“hello world”,第二行显示“****”,代表输入的四位密码。通过电容触摸屏依次按下四位密码,每按下一位,对应的“*”就会变成相应的数字,当输入完四位密码后, 按下“#”键代表输入完成,蜂鸣器发出声响代表解锁成功。最终APP界面如图 8 所示,标号 0 ~ 2 以及 4,5 为普通密码,标号 6,7 为次数密码。
5 结 语
本文主要介绍了一款利用手机通过联网控制的智能密码锁系统,在传统锁的基础上进行改进与创新,使其具备了手机设置密码开锁、防盗提醒等功能。该门锁结合“互联网 +” 技术,大大提升了安全性,符合基本实际需求,对智能电子锁的进一步推广起到了促进作用。