新闻中心

EEPW首页 > 物联网与传感器 > 设计应用 > 基于蓝牙的智能门锁控制系统设计

基于蓝牙的智能门锁控制系统设计

作者:常国权 翟雁时间:2015-05-14来源:电子产品世界收藏
编者按:设计并实现了一种基于OMAP3730的低成本高清屏媒系统,能够充分发挥可编程C64+DSP的强大计算功能, 利用硬件实现常用视频格式的高清硬解码播放,利用软件兼顾不常有视频格式的解码播放,同时针对屏媒系统的特点利用DSP实现转屏,达到在横屏和竖屏上的自适应播放的效果。

3 系统软件设计

本文引用地址:http://www.eepw.com.cn/article/273270.htm

  系统软件设计主要包括门锁控制系统软件设计和智能移动设备客户端软件设计两部分,门锁控制系统软件在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 结论

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

参考文献:

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

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

  [3]宏晶科技公司.系列单片机器件手册[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

光耦相关文章:光耦原理


稳压二极管相关文章:稳压二极管的作用


c语言相关文章:c语言教程


霍尔传感器相关文章:霍尔传感器工作原理


蜂鸣器相关文章:蜂鸣器原理
霍尔传感器相关文章:霍尔传感器原理

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭