科技> 正文

全球百事通!基于蓝牙的智能门锁控制系统怎么设计?设计原理是什么?

时间: 2022-07-29 10:45:26 来源: IT专家网

随着社会越来越发达,大家都选择在网络上汲取相关知识内容,比如基于蓝牙的智能门锁控制系统设计,为了更好的解答大家的问题,小编也是翻阅整理了相应内容,下面就一起来看一下吧!


【资料图】

3 系统软件设计

系统软件设计主要包括门锁控制系统软件设计和智能移动设备蓝牙客户端软件设计两部分,门锁控制系统软件在Keil C开发环境中用C语言编写,智能移动设备蓝牙客户端软件主要在Android开发环境下用Java语言编写。

门锁控制系统上电以后,STC15单片机从EEPROM中读取系统的参数信息并完成系统的初始化工作,这包括初始化蓝牙串口模块的工作方式、初始化门锁状态、初始化ADC、初始化IO口等操作,STC15单片机通过串口把配对地址、验证密码等参数信息发给蓝牙串口模块,并把蓝牙串口模块设置为从模式,等待主设备扫描、地址配对等,而门锁状态则是通过限位开关进行检测的。完成系统初始化操作之后,STC15单片机检测按键按下标志位KeyFlag是否为1,如果为1并且按键没有被屏蔽,则执行相应的开锁、闭锁操作。按键K1和K2是在中断中进行检测的,当有K1或K2按下时KeyFlag为1,如果按键没有被软件屏蔽,则程序在执行完相应的开锁、闭锁操作后把KeyFlag的值清零。ValidFlag是按键屏蔽标志位,ValidFlag=1时将会屏蔽K1、K2的开锁、闭锁操作,这就保证了即使在屋内要通过按键开锁也有一定的安全条件限制。

当有智能移动蓝牙设备作为主设备通过密码验证后,双方以3DES加密方式进行数据通讯。数据接收采用串口中断方式,数据包包括数据长度,命令字、数据和一个字节的校验码,当串口中断服务子程序接收到长度和校验都符合要求的数据后把CMDValid标志位设置为1,然后在主函数中进行3DES解密,并从解密后的数据中分离出命令码,根据命令码执行相应的操作,如开锁、闭锁、参数设置等。下位机软件设计流程图如图5所示。

基于Android系统客户端软件设计是采用Android系统提供的蓝牙API实现的,主要用到了以下几个类:BluetoothAdapter类、BluetoothDevice类、Bluetoothsocket类、Blueboothserversocket类、Bluetoothclass类。Android系统提供的蓝牙API可以实现蓝牙设备之间的通信,两个蓝牙设备的通信主要包括了四个步骤:设置蓝牙设备、寻找局域网内可能或者匹配的设备、连接设备和设备之间的数据传输[7]。通过调用静态方法getDefaultAdapter()获取蓝牙适配器BluetoothAdapter就可以启动蓝牙功能,使用BluetoothAdapter类里的方法来实现扫描查找蓝牙设备,这需要注册一个BroadcastReceiver来接受设备扫描到的信息,当点击查询到的蓝牙设备时,就能获取到该蓝牙的MAC地址,通过MAC地址就能实现蓝牙设备之间的连接[8,9 ]。蓝牙设备的连接如下:

BluetoothDevice device = intent.getParcelableExtra(BluetoothDevice.EXTRA_DEVICE);

BluetoothSocket socket = device.createRfcommSocketToServiceRecord(uuid); //固定的uuid

socket.connect();

蓝牙设备连接成功后就可以实现发送和接收数据,通过流的方式将数据发送到蓝牙串口模块,STC15单片机在中断服务子程序中读取到完整的数据包后,分离出命令码,根据命令码执行相应的操作,实现对门锁系统的控制或设置。

OutputStream os = socket.getOutputStream(); //向蓝牙串口模块发送数据

InptuStream is = socket.getInptuStream(); //从蓝牙串口模块接收数据

打开Android系统客户端先要输入账号和密码,登陆成功后才能进入主控界面,用户可以修改密码,该密码是保存在手机文件中的。进入主控页面点击“手机连接蓝牙门锁”就会搜寻在附近能检测到的蓝牙设备,如果蓝牙门锁在Android客户端能接收到的范围内就能发现这个蓝牙设备,点击该设备会提示输入蓝牙的配对密码,密码输入正确就可以实现蓝牙模块和手机客户端的连接及数据通讯了。基于Android系统客户端软件测试界面如图6所示。

4 结论

以STC15F2K32S2单片机和蓝牙串口模块为核心,并扩展继电器、电机、锁闩电流监测模块等设计的无线智能门锁控制系统无需机械钥匙,非接触、无磨损,通过智能手机等智能蓝牙设备可以实现对门锁的开锁、闭锁、报警提示、参数设置等人机交互操作,并采用密码验证、数据加密等方式保证系统的安全性。经过实践证明,该系统安全性高、操作简便、成本低廉,并具有很高的实用价值。

参考文献:

[1]周文超.基于单片机的蓝牙智能门锁设计与实现[J].信息技术,2013(7)

[2]National Semiconductor Corporation.LM2576 Series SIMPLE SWITCHER 3A Step-Down Voltage Regulator[P].2004

[3]宏晶科技公司.STC15F2K32S2系列单片机器件手册[P].2014

[4]徐爱钧.STC15增强型8051单片机C语言编程与应用[M].北京:电子工业出版社,2014,10

[5]上海移摩通讯技术有限公司.蓝牙串口模块FBT-06使用手册.[DB/OL] http://www. modiatek. com /

[6]Allegro MicroSystems, Inc.ACS712ELC, Fully Integrated, Hall Effect-Based Linear Current Sensor with 2.1 kVRMS Voltage Isolation and a Low-Resistance Current Conductor [P].2008

[7]毋建军.Android应用开发案例教程[M].北京:清华大学出版社,2013

[8]刘乃琦.Java应用开发与实践[M].北京:人民邮电出版社,2012

[9]张硕.基于Android的蓝牙多点文件传输系统[D].内蒙古:内蒙古大学,2013

摘要:为了实现门锁的安全性、可靠性和智能化,采用STC15F2K32S2单片机、蓝牙串口模块、驱动电机、限位开关、电流监测模块等设计了一种无线智能门锁控制系统,该系统和智能手机等智能蓝牙设备进行人机交互,实现对门锁的开锁、闭锁、参数设置等操作,并采用密码验证、数据加密等方式保证系统的安全性。经过实践证明,该系统安全可靠、操作方便,完全达到了实际使用要求。

引言

门锁是与人们日常生活联系最为紧密的物品之一。随着社会、科技、文化的进步,人们对门锁的安全性、可靠性、便捷性等要求也越来越高,传统机械门锁的安全性已经越来越不能满足人们的需求,传统机械门锁正在面临着严峻的挑战,技术及科技含量较高的智能锁具,如密码锁、IC卡锁、指纹锁、无线遥控锁等以其智能化和成熟的技术正逐步取代传统锁具[1]

1 系统概述

为了增强门锁的安全性、可靠性,并进一步实现智能化,设计了一种基于蓝牙的无线智能门锁控制系统,该系统可以单独使用,也可配合传统机械锁共同使用,该系统主要由门锁控制系统和智能移动设备蓝牙客户端软件两部分构成,门锁控制系统由STC15F2K32S2单片机、蓝牙串口模块、继电器、驱动电机、锁闩、限位开关等模块组成,蓝牙串口模块以从模式进行广播,等待智能移动设备作为主设备进行扫描、地址配对以及密码验证等,完成密码验证后,双方以3DES加密方式进行数据通讯。STC15单片机对蓝牙串口模块传输的数据进行加密或者解密,当收到合法的开锁或闭锁命令后,STC15单片机控制继电器使电机正转或者反转,带动门闩完成开锁、闭锁操作,并通过监测限位开关和电流传感器来保证操作的准确性和安全性。设计的两个按键方便在屋内进行开锁和闭锁操作,LED灯和蜂鸣器起到提示和报警作用,霍尔开关用来检测门是否关好。智能移动设备蓝牙客户端软件主要完成系统登录、蓝牙地址配对、密码验证、数据加密、解密、开锁、闭锁命令、系统参数设置等操作,是实现人机交互的主要手段,并可对按键操作实现屏蔽。该系统无需机械钥匙,非接触、无磨损,并具有三道安全技术保障,批量投入使用,将会产生较好的社会效益。系统的总体结构示意图如图1所示。

2 系统硬件设计

2.1 系统电源设计

由于系统的STC15F2K32S2单片机、继电器和ACS712ELC芯片等模块的工作电压都是5V, 5V电源需要的功率较大,电源设计采用了效率更高、功能更强的DC-DC转换器LM2576-5.0。LM2576系列是美国国家半导体公司生产的3A电流输出降压开关型集成稳压电路,它内含固定频率振荡器和基准稳压器,并具有完善的保护电路,包括电流限制及热关断电路等,利用该器件只需极少的外围器件便可构成高效稳压电路[2]。电机的工作的电压是12V,由电源变压器和备用蓄电池通过J2供电。自恢复保险丝F1和稳压二极管D3构成电压保护电路,当因其他原因致使输出电压超过5.3V以上时,D2导通,从而使自恢复保险丝F1断开,起到自动保护作用。D4、D5是系统的LED状态指示灯。系统电源设计原理图如图2所示。

2.2 系统主控电路接口设计

综合成本、性能等各方面考虑,主控芯片选用的是宏晶科技公司设计生产的SOP28封装单片机STC15F2K32S2,它是单机器周期(1T)的单片机,具有高速、高可靠、超低功耗、超级抗干扰等优点,指令代码完全兼容传统8051。内部集成高可靠复位电路,可用在高速通信、智能控制、强干扰等场合[3]。它内部具有2K RAM、32K Flash以及29K EEPROM,利用该单片机内部的EEPROM可以存储系统密码、配对地址、设置参数等,无需再外扩存储器[4]

系统采用的蓝牙串口模块是FBT-06,FBT-06是小尺寸蓝牙转串口模块,它内置PCB天线,具有成本低、体积小、收发灵敏度高等优点,专为嵌入式智能无线数据传输而打造,只需配备少许的外围元件就能实现强大功能[5] 。蓝牙模块的EN使能端和单片机的P3.4相连接,高电平有效;模块工作电压为3.3V~6V,此处5V供电即可;通过STC15单片机的串口把AT指令发给蓝牙模块,实现蓝牙串行数据无线透传;蓝牙串口模块的STATE端口和单片机的P3.2相连接,单片机通过检测该端口可以了解蓝牙模块的工作状态,P3.2端口为高电平时表示蓝牙设备连接成功。

STC15单片机自带的12位高精度A/D转换器可以完成对电流传感器信号VOUT的采集、转换功能,通过和设定的电流阀值比较来保证电机和系统的安全。按键K1、K2可以在屋内实现手动开锁、闭锁等功能,并且按键K1、K2的功能可通过手机蓝牙客户端软件进行屏蔽,进一步增加了系统的安全性、方便性和灵活性。限位开关用来检测锁闩在开锁、闭锁时是否运行到位,一旦STC15单片机检测到P2.4或P2.5为低电平,则说明锁闩运行到位,并立即控制电机停止转动,达到安全保护目的。U7是霍尔开关传感器,如果门没有关好,它会向单片机输出高电平信号,单片机则控制蜂鸣器发出报警提示。系统主控电路设计原理图如图3所示。

2.3 锁闩控制系统电路设计

锁闩由直流电机通过齿轮带动,考虑到直流电机的工作电压较高,STC15单片机驱动继电器采用了光耦隔离。当光耦U4导通、U5截止时,继电器JDQ1的1引脚接+12V,而继电器JDQ2的1引脚接地,此时电机M1实现正向转动,并带动锁闩锁门;当光耦U4截止、U5导通时则电机M1反向转动,并带动锁闩开门;而当光耦U4、U5同时截止或导通时,电机因其两端的电压相同而停止转动。为防止电机因所受阻力过大而损坏,采用了电机电流监测传感器ACS712ELCTR-05B,它是Allegro公司生产的基于霍尔效应的线性电流传感器,它的最大工作电流是±5A,灵敏度是185mV/A。ACS712ELC具有高绝缘电压、单电源操作、极低内部传导电阻等优点,可为工业、汽车、商业和通信系统中的交流或直流电流感测提供经济实惠的精密解决方案[6] 。ACS712ELC电流传感器监测通过电机的电流值,并传递给STC15单片机实时处理,当电机负载增大到一定程度,通过电机的电流值超过预先设定阀值时,STC15单片机立即控制继电器使电机停止转动,从而起到安全保护作用。其中,D6和D7是保护二极管,C6-C9是高压电容,可以起到保护电路的作用。锁闩电机控制系统电路设计原理图如图4所示。

关键词: 控制系统 密码验证 限位开关

责任编辑:QL0009

为你推荐

关于我们| 联系我们| 投稿合作| 法律声明| 广告投放

版权所有 © 2020 跑酷财经网

所载文章、数据仅供参考,使用前务请仔细阅读网站声明。本站不作任何非法律允许范围内服务!

联系我们:315 541 185@qq.com