您好, 访客   登录/注册

智能手机蓝牙密码锁的设计

来源:用户上传      作者:

  摘 要:日常工作生活中,住宅的安全防范、单位的文件档案、财务报表以及个人证件等重要材料一般加锁保存。现在流行指纹锁配一把备用的机械钥匙,避免指纹系统某天出问题或没电等从而打不开门。但密码可更改,指纹一生不可更改,所以一旦指纹信息泄露,指纹识别这个功能就完全不能使用,如果机械锁钥匙丢失,换锁成本也很高。因此研究保密性能高的电子密码锁成为迫切需求。文中以STC89C52单片机为核心,基于MIT APP Inventor平台制作APP,实现了用户通过实物上的矩阵按键和智能手机APP均可开锁和修改密码的功能,具有保密性好、编码量多、操作简单、成本低等优势,提高了密码锁的安全性。
  关键词:智能手机;蓝牙;密码锁;APP;STC89C52;安全性
  中图分类号:TP242.6 文献标识码:A 文章编号:2095-1302(2020)03-0-04
  0 引 言
  机械锁[1-2]必须有钥匙。如果忘带或者弄丢钥匙,就只能找专业开锁的来开锁;如果进门后忘了拔钥匙就会给自家的安全埋下隐患。
  指纹锁[3-4]不用担心忘记带钥匙,也不用担心出现钥匙被盗等问题。除此之外,有的指纹锁还有密码、感应卡、应急钥匙等多种开门方式,再也不用被一把钥匙束缚。但是,通常指纹锁选用普通的机械弹子锁作为应急锁,这种结构会给指纹锁留下安全隐患,成为指纹锁的致命瑕疵。同时,指纹锁扫描表面面积大、且为塑料材质,容易被恶性破坏导致不正当开锁。比对指纹信息在锁具中,一旦锁具被恶意破坏,指纹信息很容易盗取。
  本系统设计的密码锁具有保密性好、密码可变、误码输入保护、操作简单等优势。系统控制程序基于Keil4[5-6]环境编程,采用Proteus进行部分功能模拟仿真,智能手机客户端通过APP Inventor 2开发平台[7]完成APP设计。
  1 系统总体设计
  本系统的硬件设计采用STC89C52单片机作为核心控制器,由电源输入、晶振、复位、矩阵键盘、蓝牙、开锁、报警和储存等模块组成。系统硬件结构如图1所示。
  本系统以单片机为主控模块,24C02存储芯片存储密码,蜂鸣器报警,继电器组成的开锁模块,智能手机客户端连接的蓝牙模块,LCD1602显示密码的输入与修改的显示模块所组成。智能手机客户端运用APP Inventor 2开发平台,设计一款可以使蓝牙模块与电子密码锁之间进行通信的APP,实现智能手机作为虚拟钥匙远程控制电子密码锁开锁及密码的修改等功能。
  电源输入电路为系统提供直流电。晶振电路的主要作用是为系统提供基准频率,产生震荡时钟脉冲。复位电路是使系统中的各个功能部件处于一个初始状态,各个功能部件从这个初始状态开始工作。单片机的复位引脚是RST引脚,开机的瞬间使引脚RST获得一个高电平或者利用开关都可以完成复位操作。
  矩阵键盘实现按键输入6位密码,主要有数字键0~9、确定键、修改键等。
  开锁模块主要功能是实现密码锁的开关。用户输入密码正确,单片机向开锁模块发送开门信号,开锁模块驱动电磁锁开锁,通过控制电路的导通来达到电路开锁的目的。
  报警模块用于输入错误时的发出提示音,加电后不发出声音。输入密码错误次数达到3次时发出警报提示音。
  蓝牙模块的作用是与智能手机蓝牙匹配接收数据,并将接收的数据交给单片机处理。
  储存模块为了保证系统正确密码的可靠性且断电不丢失,所以需要外部储存器来保存密码。本设计选用AT24C02芯片作为系统的外部存储设置。该芯片在通电后的工作电压1.8~5.5 V,每次最多可以写入8位数据,其还具有较大的存储空间,同时具有很强的干扰能力,可以防止电压不稳定造成的数据丢失。AT24C02完全符合本设计对6位数字密码的需求。
  本系统设计的开锁密码为6位密码,单片机接收矩阵键盘或智能手机客户端的密码输入,通过和储存芯片中的六位密码进行比对,判断输入密码是否正确。如果密码输入正确,则驱动电磁执行器开锁功能,红色小灯泡发光。如果密码输入错误,蜂鸣器发出短暂提示声,且开锁次数加一。若密码输入错误次数超过3次,则单片机通过通信线路向报警模块发出报警信号,蜂鸣器发出连续刺耳的报警声。用户可以通过按键设置和修改电子密码锁的密码。蓝牙接收模块接收智能手机客户端发送的指令,并传递给单片机处理。
  2 APP Inventor设计
  APP Inventor 2的开发环境对使用者非常友好,几乎不用提前系统性地学习,只需要进行简单了解,即可以上手编辑。其优势概括为:简单的操作方式、可视化的编辑、方便理解的模块化、逻辑鲜明、正确性相对较高。
  APP Inventor 2是一个基于网页、可拖拽的Android程序开发平台,可以将枯燥无味的一行行代码转变成不同颜色的语句模块栏。它能让原本不熟悉编程,甚至不懂编程的人也能坚持开发出自己的Android APP。
  APP Inventor 2具体使用如下:登录网站http://app.gzjkw.net/选用“登录”方式后,点击“新建项目”,创建新的项目;在组件设计界面设置界面,在表格布局中添加按钮,并选择一个列表选择框,给各个按钮命名;非可视组件中添加蓝牙客户端以及对话框;在素材中添加图片作为APP背景即可。对应本系统设计的APP,让用户直接在手机上操控,实现电子密码锁的开锁或者修改密码等功能。
  2.1 蓝牙连接和通信
  本文通过蓝牙连接[8]按钮来完成手机与电子密码锁的连接与通信,如图2所示。
  2.2 与下位机的通信
  12个按钮分别设定为数字键0~9、确认键以及修改键。由控制面板中的發生条件,到调用蓝牙客户端发送文本,由文本内容决定该按钮功能。如图3所示,发送文本“0”则该按键无功能。发送文本“ONA”则该按键的功能为确定。   2.3 打包APK
  完成APK[9]组件设计和逻辑设计后,点击打包APK按钮,选择打包APK并显示二维码,如图4所示。然后下载到智能手机上,安装客户端并调试。
  3 主程序设计
  用户输入密码,若输入密码错误蜂鸣器发出响声,输入次数加1;密码错误次数达到3次报警系统报警,蜂鸣器发出连续蜂鸣声报警。若输入密码正确LED灯泡亮起,等待输入命令,用户可以自行更改密码,新密码写入24C02中。系统采用C语言编写,主要包括主程序和子程序。主程序完成系统的初始化、电子密码锁的开启、关闭以及密码的修改功能。子程序主要完成输入状态的显示、按键识别和蓝牙连接等功能。主程序流程如图5所示。
  4 系统调试
  硬件通电完成后,开始对实物进行功能调试,具体调试功能分为:开锁、密码修改、蓝牙模块、智能手机客户端和报警等功能调试,具体的调试过程如下。
  4.1 开锁电路调试
  接通电源,液晶显示器初始状态如图6(a)所示,LCD显示“Password Lock Input:”光标提示输入密码;通过矩阵键盘输入初始6位密码“123456”,6位数字密码均被用“*”加密显示,再点击“确认”按钮。若输入密码正确,则呈开锁状态,且红色LED点亮,如图6(b)所示。
  4.2 密码修改调试
  密码输入正确后,点击“修改”按钮可以进行密码的修改。初始界面如图7(a)所示,LCD显示“Input1:”和“Input2:”,通过矩阵键盘输入新的6位密码,输入两遍,点击“确认”按钮,密码修改完成。密码修改完成界面如图7(b)所示,LCD显示“Password Succeed”。
  4.3 蓝牙模块调试
  打开智能手机客户端,点击“蓝牙连接”按钮,选择蓝牙名称”BT04-A”,点击连“连接”,如图8(a)所示。蓝牙模块连接成功发出一声”嘀”的提示音,同时智能手机屏幕跳转到“0~9”“修改”“确定”按键和“蓝牙已连接”界面,如图8(b)所示。
  4.4 智能手机客户端调试
  智能手机与蓝牙模块连接后,通过智能手机上键盘输入6位密码,实物硬件上LCD以*加密显示,点“确定”开锁,如图9(a)所示。接着,智能手机客户端点击“修改”按钮,通过手机键盘输入新的6位密码,如图9(b)所示。
  4.5 报警模块调试
  输入6位密码,点击“确认”,密码正确,则电子密码锁打开,蜂鸣器无响应;若输入密码错误,蜂鸣器发出一声报警提示声。当输入密码的错误连续3次时,蜂鸣器持续报警。
  5 结 语
  本系统实现了智能手机作为虚拟钥匙[10],可以远程控制电子密码锁的开锁及密码修改等功能,文章对系统软硬件设计与实现过程做了详细介绍,系统稳定可靠。但是该设计功能仍需进一步完善,后期可以安装门铃、语音报警和报警信息发送功能,加强电子密码锁的安全等级。
  参 考 文 献
  [1]曾雄飞.一种机械电子锁[J].机电工程技术,2015,44(2):65-67.
  [2]傅强,唐岚,张兴敢.一种新型电子机械锁的设计[J].现代电子技术,2012,35(8):171-174.
  [3]黎安庆,唐飞龙.基于WiFi的指纹锁设计[J].机电信息,2019(18):118-119.
  [4]马馨雅.基于STM32的指纹识别门禁系统[J].电子世界,2018(24):157.
  [5]邓力.基于Keil时序逻辑和Proteus的电路仿真[J].实验室研究与探索,2017,36(1):80-83.
  [6]王超,符晓玲.基于Proteus和Keil的单片机演奏乐曲的仿真[J].电子设计工程,2014,22(14):103-106.
  [7]李文川,曾玉.APP Inventor2的项目应用及教学策略[J].电子技术与软件工程,2018(11):55-56.
  [8]李洋博,赵泽林,李圆,等.基于32单片机控制的智能语音刷卡系统[J].电脑编程技巧与维护,2019(3):125-127.
  [9]石宗育,刘凯,谢飞帆.Andorid应用程序逆向分析及应用[J].电脑知识与技术,2018,14(19):96-98.
  [10] DANIEL Thunberg.安全的汽車虚拟钥匙[J].上海信息化,2019(3):66-68.
转载注明来源:https://www.xzbu.com/8/view-15151391.htm