文献标识码:A
DOI:10.16157/j.issn.0258-7998.190128
中文引用格式:柏佳,魏鑫,朱广. 基于FPGA蓝牙通信技术的智能电子锁系统[J].电子技术应用,2019,45(8):128-130.
英文引用格式:Bai Jia,Wei Xin,Zhu Guang. Intelligent electronic lock system based on FPGA Bluetooth communication technology[J]. Application of Electronic Technique,2019,45(8):128-130.
0 引言
智能家居日趋火热,而智能电子锁是其重要组成部分。传统的机械锁安全性能不强,容易出现翻找钥匙的麻烦情况和忘带钥匙或丢失钥匙的尴尬情况[1]。一般的智能电子锁加密性不强,基于FPGA蓝牙通信技术的智能电子锁保密性强、灵活性好、安全系数高、功能多样化,可以让人们的生活变得更安全,更便捷,更智能[2-4]。
1 智能电子锁系统总体设计
1.1 智能电子锁系统架构
智能电子锁系统使用支持蓝牙4.0的手机与FPGA板卡上的蓝牙模块建立连接,通过手机APP发送命令,通过串口发送和串口接收模块来完成与蓝牙模块的数据传输。通过命令解析模块与命令响应模块来对简单的串口命令进行解析、识别和判断及执行,进而控制与FPGA板卡连接的继电器的通断,来实现电子锁的开关功能。FPGA在接收到蓝牙模块传输进来的串口数据后,会将相应数据以及命令响应通过蓝牙模块发送给手机APP,在这个过程中采用FIFO来存储所需要发送的数据。智能电子锁系统架构如图1所示。
1.2 智能电子锁设计
若将此智能电子锁应用于办公室,锁A是办公室大门,锁1、锁2、锁3是用户1、用户2、用户3的储物柜。若用户输入的手机号存在于该系统中,则办公室大门打开,再输入密码,若用户和密码与某一个储物柜匹配,则该储物柜打开,如图2所示。该系统的电子锁对应的用户密码信息保存在一张动态表中,如表1所示(初始化的用户密码信息表)。此表会随着管理员增添用户、删除用户以及成员管理员修改密码而实时更新[2]。
2 智能电子锁系统具体设计
2.1 蓝牙模块
蓝牙无线技术是使用范围最广泛的全球短距离无线标准之一。系统的蓝牙模块是基于TI公司CC2541芯片的蓝牙4.0模块,具有256 KB配置空间,遵循V4.0 BLE蓝牙规范。本系统中的蓝牙模块出厂默认设置为通过串口协议与FPGA进行通信,按照UART串口通信协议来处理发送与接收的数据。
UART串口协议是将传输数据每一个字符一位一位地传输。UART的数据帧格式为起始位1位,数据位5~8位,奇偶校验位1位或无校验,停止位1位、1.5位或2位。UART的数据帧格式如图3所示。为了加快开发进程,本系统没有设置奇偶校验位。采用的帧格式为1位起始位、8位数据位、无奇偶校验位、1位停止位[5]。
2.2 电子锁设计
此系统具有开锁、增添开锁用户信息、删除开锁用户信息、修改密码四个功能。用户分管理员和成员两个级别。管理员拥有全部的功能,而成员只拥有开锁和修改密码两个功能。四个功能的具体过程如下。
2.2.1 开锁
开锁的具体过程如下:
(1)用户输入手机号,系统判断手机号是否为全0,如果是全0,不开锁A,更不会开锁1、锁2、锁3。如果不是全0,则在表1查找,若输入的手机号存在于此表中,则锁A开,否则不开锁A,更不会开锁1、锁2、锁3。
(2)如果步骤(1)中锁A开,用户可再输入密码,系统则用输入的密码与表中该用户对应的密码比较,若匹配锁1的手机号和密码,则开锁1;若匹配锁2的手机号和密码,则开锁2;若匹配锁3的手机号的密码,则开锁3;否则,不开锁1、锁2、锁3。
2.2.2 增添用户信息
增添用户信息具体过程:管理员输入增添的手机号和密码,系统寻找表中手机号和密码为全0的用户,然后将该用户的手机号和密码用输入的手机号和密码代替。比如输入23456789和2345,则表1更新为表2。
2.2.3 删除用户信息
删除用户信息具体过程:管理员输入删除的手机号,系统寻找表中手机号与输入的手机号相同的用户,然后将该用户的手机号和密码用全0代替。比如输入23456789,则表2更新为表3。
2.2.4 修改用户密码
修改用户密码具体过程:用户输入手机号、旧密码和新密码,系统寻找表中手机号与输入的手机号相同且密码相同的用户,然后将该用户的密码用新密码代替。比如输入23456789、2345、2346,则表2更新为表4。
3 智能电子锁系统功能测试
基于FPGA蓝牙通信技术的智能电子锁系统的功能实现,测试过程如下:
(1)在安装BLE蓝牙串口终端APP,并打开手机蓝牙,与FPGA板卡上的蓝牙模块进行连接配对。
(2)在APP中输入对应的命令来完成开锁、增添用户信息、删除用户信息、修改用户密码四个功能。
(3)如图4所示,输入用户手机号存在于系统中,办公室大门锁A开(LED全亮);输入密码正确则储物柜1开(数码管显示00000001)。
备注:*Wxxxxxxxx:输入手机号(开锁),*Nxxxx:输入密码(开锁),*Rxxxx:输入新密码(修改用户密码),*Sxxxx:输入手机号(增添用户信息),*Pxxxx:输入密码(增添用户信息),*Gxxxxxxxx:输入手机号(删除用户信息)。
4 结论
此系统是基于安卓手机的智能电子锁控制系统,FPGA对手机APP中输入的信息进行数据接收,以此数据作为双重加密数据,控制电子锁的打开,安全性高,加密性强,灵活性好。而且此系统功能多样化,动态化,在打开办公室大门锁的基础上,不同的用户打开不同的储物柜锁,在公共环境又拥有私密空间。不仅可以为空的储物柜分配新的用户,而且可以删除用户信息腾出储物柜以便他人使用,用户可以修改储物柜的开锁密码,实时更新储物柜的占用情况和开锁条件。
参考文献
[1] 熊军洲.基于FPGA的电子密码锁控制电路设计[J].石家庄职业技术学院学报,2018,30(6).
[2] 赵静芬,阮海鹏,李境学.基于FPGA手机控制智能密码锁的设计与实现[J].计算机光盘软件与应用,2013(2):228.
[3] 崔岩,吴国兴,顾媛媛,等.基于FPGA的红外遥控密码锁的设计[J].电子技术应用,2013,39(11):44-46.
[4] 朱航江,潘振福,朱永利.“互联网+”智能门禁控制系统[J].电子技应用,2017,43(3):124-126,131.
[5] 刘博.基于FPGA的UART模块设计与实现[J].无线电工程,2018,48(5):433-438.
作者信息:
柏 佳,魏 鑫,朱 广
(成都理工大学 信息科学与技术学院,四川 成都610059)