新闻中心

EEPW首页 > 设计应用 > 基于Zigbee的智能门锁控制终端设计

基于Zigbee的智能门锁控制终端设计

作者:沈凡 席飞 杭磊 陈城时间:2018-10-25来源:电子产品世界收藏
编者按:本文介绍了基于Zigbee通信协议的智能门锁,从低成本、低功耗的角度出发,设计了一种具有实用价值的智能门锁控制终端,智能门锁控制终端以CC2530作为处理器,以Zigbee协议栈为通信载体,设计了相应外围电路,如门锁驱动电路、液晶显示电路、键盘输入电路和RFID读卡器电路。实现了以RFID读取卡号与密码输入的方式采集身份信息,将身份信息发送至上位控制机进行身份核实,上位控制器返回核实信息结果,智能门锁控制终端根据核实后的结果进行开关门操作及液晶显示页面的更新。

作者 沈凡 席飞 杭磊 陈城 淮阴工学院 电子信息工程学院(江苏 淮安223001)

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

摘要:本文介绍了基于Zigbee通信协议的智能门锁,从低成本、低功耗的角度出发,设计了一种具有实用价值的智能门锁控制终端,智能门锁控制终端以CC2530作为处理器,以Zigbee协议栈为通信载体,设计了相应外围电路,如门锁驱动电路、液晶显示电路、键盘输入电路和读卡器电路。实现了以读取卡号与密码输入的方式采集身份信息,将身份信息发送至上位控制机进行身份核实,上位控制器返回核实信息结果,智能门锁控制终端根据核实后的结果进行开关门操作及液晶显示页面的更新。

0 引言

  现代人的生活越来越信息化,人们对于生活质量的要求也越来越高,家庭房屋安全就变成头等大事,现在的犯罪分子盗窃手段也在日益进步,入室偷窃也是频繁发生,对于偷窃问题目前还很难做到完全杜绝,只能够通过提升家庭安防技术,来提高安全系数。现在市场上的一些智能门锁设备,都是自带处理功能的,很难抵御不法分子的盗窃手段。所以方式控制的智能门锁应运而生,他的优点在于不进行数据对比处理,只做数据采集以及数据传输,更为安全可靠,而且无线智能门锁使用较为方便,不需要大量布线;而且可以和智能家居控制系统相结合,以提高家庭安防性能 [1-2]

1 Zigbee技术

  1.1 Zigbee技术

  Zigbee技术是一种短距离、低功耗的无线网络通讯技术,其采用了IEEE802.15.4协议规范,具有低数据速率、低功耗、低成本、安全可靠,具有自组网和自恢复能力等优点。本文选用的是TI公司的第二代片上系统CC2530,相比以前的产品,CC2530具有更优越的RF性能,支持多种协议如ZigbeePRO、ZigbeeRF4CE等。本文介绍的智能门锁控制终端使用到CC2530作为处理器,用来驱动液晶显示电路、AD模拟键盘以及读取控制电路,以达到优化智能门锁的目的,从而降低成本。

  1.2 Zigbee无线传输优势与其余方式的比较

  本文采用Zigbee技术进行,是因为相比于蓝牙技术而言Zigbee传输距离比蓝牙远的多, WiFi相比Zigbee传输速率快但是耗电量较高,WiFi适合快速发送数据,而Zigbee相比于蓝牙虽然传输速率慢,但是功耗比蓝牙低,通过电池供电就能维持较长时间,适合传输数据量不大、传输不频繁的设备。正因为Zigbee的功耗低和数据传输不频繁的特点,所以采用Zigbee无线传输技术。

2 系统结构

  2.1 智能门锁控制终端系统结构

  本文智能门锁控制终端内部包括:ZigbeeCC2530通信模块、RFID阅读器、按键键盘和19232显示液晶,系统结构图如图1所示。

  使用ZigbeeCC2530读取RFID卡号与键盘输入的密码数据,将读取的RFID卡号数据或密码数据打包成数据包,通过Zigbee通信模块无线传输数据,将数据传输至终端设备,终端设备返回数据对比信息至智能门锁控制终端,用于是否进行开门操作。液晶的主要是用于显示使用者的当前操作状态。具体设计制作产品如图2所示。

  2.2 硬件设计

  1)Zigbee处理器电路

  本文选用TI公司最新Zigbee芯片CC2530F256作为处理器,以Zigbee协议栈为通信载体,此芯片射频组是在2.4GHz频段,电路图如图3所示。

  CC2530芯片是最实用的片上系统首选,不仅成本低而且功耗也很小,是TI公司专门设计基于IEEE 802.15.4协议的Zigbee芯片,这块芯片上集成了8051内核,带有256 KB的内存和8 KB的RAM,足以提供智能门锁控制终端的信息处理与控制操作[4]

  2)门锁控制电路

  本文智能门锁控制终端所使用的机械门锁为灵性锁,灵性锁使用的是步进电机进行锁芯的伸缩控制,由于步进电机的工作电压是直流12 V,而CC2530的驱动电压为直流3.3 V,所以本文采用一个复合管电路进行门锁的控制,电路图如图4所示。

  门锁驱动端口接CC2530的P2_0端口,作用是CC2530可以通过P2_0驱动门锁电路,发送一个低电压信号就可控制12 V驱动电机工作。低电压信号控制高电压信号也可以采用继电器来进行驱动,但是本文为了门锁功耗、安全性能与门锁设计体积的考虑,采用复合管电路进行门锁驱动控制。

  3)RFID读卡接口电路

  本文采用的RFID读卡器电路为RC522读卡器电路,射频识别技术是不需要接触就可以实现数据通信,它主要是通过交变的电磁场进行通信。RC522读卡器电路是由阅读器、天线、应答器三大部分组成。阅读器主要是用来读取应答器的信息;天线是在应答器与阅读器之间进行数据的传递;应答器主要由耦合电路元件和芯片组成,每一个应答器都有一个独一无二的ID码,这个码在芯片制作的时候就储存在芯片的ROM中,无法进行更改,智能门锁设计中主要就是利用这个编码来确认应答器的身份。RFID读卡器与CC2530接口电路图如图5所示。

  RC522读卡器部分只用了5个接口连接到CC2530芯片处理器,SDA是RC522的数据接口用来传输数据,连接在CC2530芯片上的P1_7口;SCK是RC522的时钟接口,连接在芯片的P0_1口;MOSI是RC522的主输出从输入,连接在芯片上的P1_2口;MISO是RC522的主输入从输出,连接在芯片上的P0_4接口;RST为RC522的复位接口,连接在芯片上的P1_3口用来复位电路。

  4)模拟键盘电路

  本文为了节省端口数量,所使用的按键采用了分压式模拟,电路图如图6所示。

  当不同的按键被按下后,输出不同的电压信号,使用Zigbee自带的AD转换器,采集电压信号,根据不同的电压值来判定不同的按键。根据计算可得,二极管钳制了大约0.6 V电压,一共13个200 Ω电阻,理想情况下,大约每个电阻分的0.2 V电压,通过CC2530芯片P0_0端口使用AD转换器功能将模拟信号转化为数字信号识别按键。

  4)液晶显示电路

  本文中使用的液晶为19232液晶显示器,液晶显示器与CC2530之前采用的是串行传输的方式,硬件电路连接只需要3根线,与CC2530数据传输也只需要3个IO口,占用芯片的引脚少,接口6是液晶显示屏的使能端,与CC2530芯片的P0_7引脚连接;接口5是液晶显示屏的数据输入端,与芯片的P0_6引脚连接;接口4是液晶显示屏的时钟输入端,与芯片的P0_5引脚连接。并且可以通过调节RT可变电阻可以调节液晶的的对比度,使液晶显示屏上的字更加清晰。

  2.3 软件设计

  1)主流程设计

  在系统软件程序设计时,选择IAR公司的IAR Embedded Workbench作为开发环境,智能门锁控制端作为Zigbee无线传输网络中的一个终端节点,终端设备作为一个协调器来工作。主程序流程图如图7所示。

  首先进行各个部分的初始化操作,如将液晶进行初始化以及RFID读卡器进行模式设置等一些操作,初始化完成后;调用液晶显示子函数,显示欢迎光临页面,接着液晶会根据不同的状态而现实不同的页面。接着调用RFID读卡程序与按键检测程序,同时检测读取RFID卡号与密码键入,当读取到RFID卡号或4位密码后,发送身份审核数据包,并且等待上位终端返回审核结果,以执行门锁驱动操作。

  2)RFID读卡流程设计

  RFID读卡流程图如图8所示。

  RFID射频卡放到读卡器上时,则进入读卡程序。首先是开始寻找RFID卡,读取RFID序列号,为了RFID的读卡稳定,在程序中设计了两次寻卡过程,当两次读卡号为相同时则会保存下来。同时为了避免多张射频卡同时放在读卡器上面时会数据碰撞,在寻卡结束后会进行防冲撞检测,当通过防冲撞检测后,则确认为有效卡号,并将卡号打包成数据包后加密发送至上位控制器审核身份,等待返回信息,以返回信息来判断是否进行开门操作[5-6]

  3)键值读取流程设计

  按键读取程序程序设计由CC2530处理器不断检测按键AD端口的数据,判断转换的数据是否在有效键值内的数据,如果是则将数据保存下来,如果连续保存下16个相同的有效键值后,则可以确认为按下了一个有效按键,等待4位密码输入完成后,将4位密码打包成数据包加密后发送给上位控制器,等待审核信息,进行开关门操作。

3 基于密码本的数据加密技术

  本文中为了提高安全性能,所使用的无线传输数据包是需要数据加密的,所采用的数据加密方式是基于普通加密方式上的一种升级版,是为了增加安防的可靠性而设计的,将Zigbee传输的串口ASCLL码数据进行加密,在我们现实生活中,普通的加密方式有很多,比如:移位加密、DES和CC2530自带的AES等;本文采取的数据加密方式核心是基于同或及异或的一种加密方式,我们通过将数据所需加密的数据进行一定的加密;所需加密的数据可以查询密码本得到,密码本内数据是通过外部软件随机获得,写入到ROM中,为了使加密的数据可以达到更高等级安全系数,密码本的数据可以更加具有随机性,或者可以进行多次加密计算。

  本文中所传输中的数据包是一个具有16位的字符型数据的数组,格式如图9所示;其中包括5位发送者ID位、8位数据位、2位加密位和1位结束位(0xff),加密位即是将5位发送者ID和8位数据位加密,加密程序如图10所示,2位加密位本文中设计的是前者为同或加密,后者为异或加密,具体过程为:首先将同或加密位数据在密码本中查找到真正的有效数据,本文采用的是双重提取的方式提取数据,比如同或位为0时,我们在密码表中查得数据为0x67,此时再次查找0x67位置的数据就是真正的有效同或数据,将有效数据与数据相同或后,再使用同种方式将后者的异或加密的有效数据取出,将同或后的数据再进行异或操作。操作完成后,即是加密后所需传输的数据。解密方式即与加密方式是个相同操作,即可将数据还原。

  本次密码加密设计可以多种方式来提高安全性能,比如通过更改密码本中数据位置提高安全性能,密码本中一共有256个数据,即0x00~0xff;通过电脑软件Excel将256个数据随机排列,制作成密码本,256个数据排列顺序有256256的数据排列方式。还可以通过增加加密位来提高安全性能,本次设计只执行了同或和异或两次运算,如增加加密位,再进行相应运算,可以在同或与异或的基础上添置加减移位等一系列计算,会使加密更为安全。

4 结论

  本文设计了实现密码或者射频卡打开门锁,为了能让它低功耗又能减少浪费资源,所以在硬件设计时使用Zigbee与终端设备进行通信连接,使用方便简单,只需要对它软件进行设计,将Z-Stack协议栈导入到Zigbee核心芯片CC2530中,节点与协调器之间会实现自动组网,即可驱动液晶显示与RFID读卡器进行显示与读卡,而且根据分压原理制作的AD式输入键盘,优点在于只需要一根线即可检测键值,减少了不必要的资源浪费。还有智能门锁使用频率较低,无线信号传输的速率无需太频繁,Zigbee无线传输足以满足要求。

  参考文献:

  [1]邱凌.浅谈智能家居[J].网络信息技术应用与自动化,2008,(5):01-02.

  [2]秦茂盛. 基于Zigbee的智能家居系统设计[D].太原理工大学,2011.

  [3]孙华,李扬.热释电红外传感器原理及其应用[J].内江科技,2010,31(12):116+160.

  [4]孙静,陈佰红.Zigbee协议栈及应用实现[J].通化师范学院学报,2007(04):35-37.

  [5]高金转,彭旭锋,张会新,等.基于Zigbee无线传感网络的环境监测系统的设计[J].电子器件,2016,39(3):546-550.

  [6]罗凯. 基于Zigbee的智能家居控制节点设计与实现[D].电子科技大学,2013.

  本文来源于《电子产品世界》2018年第11期第46页,欢迎您写论文时引用,并注明出处。



评论

技术专区

关闭