广西科学  2016, Vol. 23 Issue (4): 381-384   PDF    
基于RFID和ZigBee网络的通用分级考勤管理系统
张琼英, 王能河, 张伟刚, 瞿少成     
华中师范大学电子信息工程系, 湖北武汉 430079
摘要: 【目的】 针对考勤管理移动性差、数据难以共享、过于依赖网络和后台计算机等缺陷,设计一种基于射频识别技术(RFID)和ZigBee网络的通用分级管理考勤系统。【方法】 基于MFRC500与STC89C52设计被动非接触式RFID考勤读卡子系统;采用CC2530设计ZigBee无线传感网络;基于Linux/QT完成ARM主控平台开发。【结果】 系统实现多RFID读卡子系统的自组网、子节点与主控平台的分级管理。【结论】 测试表明,该系统部署灵活,能适应复杂的楼宇环境,且性价比较高,具有一定推广价值。
关键词: RFID     ZigBee     考勤管理    
Universal and Hierarchical Attendance Management System Based on RFID and ZigBee Network
ZHANG Qiongying , WANG Nenghe , ZHANG Weigang , QU Shaocheng     
Department of Electronics and Information Engineering, Central China Normal University, Wuhan, Hubei, 430079, China
Abstract: 【Objective】 A design of universal and hierarchical attendance system, which uses RFID and ZigBee network, is proposed to fix the shortcomings of attendance management. 【Methods】 Based on MFRC500 and STC89C52, a passive contactless RFID reader subsystem is designed.Multi-RFID reader subsystems can be attached by ZigBee wireless sensor network using CC2530.A master platform based on Linux/QT is developed. 【Results】 This system can achieve hierarchical attendance management for child node and host platform, respectively.Also a web background data management system is provided for data mining in future. 【Conclusion】 Experiments show that the system can be easily implemented and works stable in complex environment.
Key words: RFID     ZigBee     attendance management    
0 引言

研究意义】考勤是各种机构人员管理的重要内容,一方面可确保人员的安全,一方面可用于考察纪律。传统的考勤管理还停留在纸质签到,效率低、实时性差,管理不方便,有必要研发新的考勤管理模式。【前人研究进展】引入计算机技术的考勤管理方式主要有人脸识别[1-2],指纹识别[3-4],射频识别[5-6]等。人脸识别和指纹识别可靠性强,不易仿冒,但硬件成本高。射频识别可靠性不如前两种,但成本低廉。目前的考勤系统可分为两大类:一类是单机型,可以独立完成考勤过程,应用广泛,但还有一些缺点——一方面有线连接的方式让系统在楼宇环境中部署困难,移动性差;另一方面,当员工的分布较为分散时,单机系统对大量的人员考勤工作来说使用不便利。而且单机型的考勤系统数据难以共享,管理层次简单。另一类是联机型,使用时需要后台计算机的配合,数据可通过网络及时上传,但当网络出现故障或后台计算机运行故障时,容易导致考勤工作瘫痪等问题[7-8]。【本研究切入点】考虑引进新的计算机技术,弥补上述考勤管理系统的缺陷。【拟解决的关键问题>】结合射频识别技术RFID、ZigBee技术与嵌入式系统,设计一套基于RFID和ZigBee网络的通用分级管理考勤系统。非接触式RFID考勤读卡子系统不仅独立完成子区间内的考勤数据采集,还能通过ZigBee无线传感网络实现多RFID读卡子系统的自组网功能。在此基础上,基于Linux/QT完成ARM主控平台的开发,实现了子节点与主控平台的分级管理,并预留了Web后台数据管理系统。

1 系统设计方案

考勤管理系统总体设计方案如图 1,主要分为考勤终端,网络传输,ARM主控平台3个部分。考勤终端采用RFID[9],完成单点的考勤工作,并将读取到的标签信息通过网络上传。考虑到系统部署的繁琐问题及网络组网成本[10],网络传输部分采用ZigBee无线传感网络。ZigBee网关(协调器)接收到不同考勤终端上传的数据后,通过串口将其发送给ARM主控平台。主控平台集中处理数据后,存储到本地的数据库,实现考勤的分级管理。管理员可通过ARM平台上的QT界面管理考勤信息,或通过Web的方式管理。

图 1 系统总体框架 Fig.1 The overview of system architecture
2 系统硬件设计

考勤管理系统的硬件部分由考勤终端、ZigBee网关、ARM平台组成(图 2)。考勤终端主要由RFID读卡器、ZigBee模块、显示模块、电源模块组成。

图 2 考勤系统硬件结构 Fig.2 The hardware architecture of attendance system
2.1 RFID读卡器

RFID读卡器由MCU、射频读卡芯片、天线组成。射频芯片选择MFRC500型芯片作为射频读卡芯片。MFRC500完全集成13.56 MHz下所有类型的被动非接触式通信方式和协议,可方便的用于各种基于ISO/IEC 14443A标准并且要求低成本、小尺寸、高性能以及单电源的非接触式通信[11]。MifareIC卡与MFRC500通信的基本原理:RC500向Mifare卡发送固定频率的电磁波(13.56 MHz),此频率与Mifare卡内部的LC谐振电路的谐振频率相同,Mifare卡被激活后与RC500之间即能够进行信息传递。其中MFRC500使用并行接口与MCU相连。出于成本考虑MCU选择价格低廉、运行稳定、能满足读卡器设计需求的STC89C52。MCU通过控制MFRC500以实现对电子标签(Mifare卡)的读写,将相应的指令写入MFRC500相应的寄存器中来实现控制。由于系统采用被动式标签,标签没有内部电源,所以读写器的MCU不能直接对标签进行读写操作,需要通过射频读卡芯片发射射频载波信号,给标签提供能量,激活标签,通过后续的认证后,MCU方能访问标签。

读卡器的天线直接影响着系统性能的优劣:天线的辐射特性、尺寸、匹配电路的品质因子Q以及周围环境直接影响着读卡器的工作范围[12]。天线匹配电路谐振频率要满足公式$ f = \frac{1}{{2\pi \sqrt {LC} }} $,读写器频率f为13.56 MHz,根据公式约束选定LC的值。考虑到天线尺寸过大时,其电感会过高,电容要求很小,会造成实际选用困难, 故天线尺寸不能过大,匝数不易过多。

2.2 ZigBee无线通信模块

ZigBee无线通信模块由ZigBee节点模块与ZigBee协调器模块组成。通信模块的作用是实现数据的无线收发。ZigBee节点和协调器都采用TI公司的CC2530(CC2530集成了2.4 GHz的射频收发单元和高性能低功耗的8 051位处理器)。ZigBee节点负责上传RFID读写器中的电子标签信息以及接受从协调器发来的命令。协调器负责网络的组建和数据传输,为子节点分配地址,建立绑定表。协调器将子节点发来的信息实时传输到ARM平台,当收到上位机下发的命令时进行转发。

3 系统软件设计 3.1 考勤终端主程序

考勤终端的主程序设计平台采用KeiluVersion 5,C语言编程,主程序流程如图 3所示。当卡片进入到读取范围时,读取Mifare卡的信息。读卡操作步骤包含请求、反碰撞、选择、认证、读块。当确认卡片为有效Mifare射频卡时,会得到卡片的序列号,通过认证后,可以从卡中读出其EEPROM的值,每次仅读出一个块的数据,即16个字节,每次读到电子标签后,即把数据打包,由ZigBee模块上传读到的电子标签信息。

图 3 考勤终端程序流程 Fig.3 The program flow chart of terminal node
3.2 ZigBee程序

ZigBee模块程序在TI公司的ZSTACK协议栈上开发。ZSTACK采用OSAL操作系统,其应用程序的运行机制通过事件来驱动,运行机制图 4所示。事件是驱动任务去执行某些操作的条件,当系统产生了一个事件,将这个传递给相应的任务后,任务才能执行一个相应的操作。

图 4 OSAL运行机制 Fig.4 The mechanism of OSAL

ZigBee节点程序初始化后,开始搜寻网络。搜到网络后,节点会加入网络,并在成功入网分配ID后,开始数据传输业务。ZigBee节点会周期性的检测是否有数据发送过来,若有就将数据打包帧格式,发到协调器上,数据传输协议数据帧由16个字节组成,依次包含协议号(4个)、设备号(6个)、卡号(2个)、考勤时间(3个)、校验码(1个)。

ZigBee协调器程序初始化后,开始组建网络,建立路由表。当协调器收到信息时,会依据不同的类型进行相应的操作:若该消息是子节点的入网请求,协调器会分配ID给子节点。若是子节点发来的数据,协调器通过串口发给上位机。若是协调器接收到从上位机下发的命令,即进行下一级转发。

3.3 ARM主控平台软件设计

主控平台的软件基于Linux/QT开发。在ARM平台上移植Linux操作系统,该系统具有开源足,系统运行资源少,效率高等优点。QT能实现跨平台编程,移植性好,给开发者提供了强大的图形界面开发所需的功能。QT应用程序接收ZigBee网关发送的数据,处理后存到本地数据库中,管理员可在QT界面上查看,实现考勤的分级管理。采用Sqlite 3建立考勤数据库,实现考勤纪律表,用户表,设置表。考勤纪律表包含用户ID、考勤时间、上班时间、考勤情况,用户表包含用户ID、姓名、类型、部门,设置表包含ID和规定的上班时间。

ARM平台同时移植了一个Boa服务器,Boa是Linux/Unix下的一种单任务的Http服务器,其源代码开放,性能优秀。ARM平台上的Web应用服务程序基于C/S架构,主要向局域网中的计算机提供服务,管理员可以通过Web的方式查看考勤数据。

4 系统测试

考勤系统测试分为3部分。第1部分测试电子标签的读写距离,实测100次,最大读写距离达到6 cm。第2部分测试ZigBee模块传输距离,如表 1所示。可以看出有障碍测试(室内楼宇环境)中,75 m范围内信号传输正常,当传输距离增加到100 m时,信号不稳定。无障碍测试(室外空旷环境)中,当传输距离超过275 m,信号不稳定,距离更大时接收不到信号。第3部分测试系统故障率。对系统进行密集刷卡测试(连续每隔5 s刷1次卡,持续100次),数据上传、QT界面运行、Web的访问正常。系统运行30 d,运作良好,数据上传率为94%。

表 1 ZigBee模块传输距离测试 Table 1 Test on transmission distance of ZigBee module
5 结论

通过RFID技术和ZigBee技术,设计并实现了一种终端结合网络且成本低廉的通用考勤管理系统。终端子系统能够实现单机的考勤管理。无线传感网络技术,使系统部署简单,并实现了数据共享。基于Linux/QT完成ARM主控平台开发,实现了考勤信息的分级管理。测试表明,系统能够对电子标签远程识别,能在楼宇环境中工作,且整体运行良好。在后续工作中,有必要进一步优化系统设计,并基于考勤系统采集的数据增加数据挖掘功能。

参考文献
[1]
韩秋蕾, 姚志军. 联网式多通道门禁考勤系统的设计[J]. 计算机工程与设计, 2010, 31(14): 3249-3253, 3273.
HAN Q L, YAO Z J. Entrance guard system design of networking multi-channel[J]. Computer Engineering and Design, 2010, 31(14): 3249-3253, 3273.
[2]
白文庆, 董小妮. 基于嵌入式人脸识别考勤系统的设计[J]. 电脑开发与应用, 2015, 28(1): 71-72, 75.
BAI W Q, DONG X N. Design of embedded system based on face recognition time attendance[J]. Computer Development & Applications, 2015, 28(1): 71-72, 75.
[3]
SARASWAT C, KUMAR A. An efficient automatic attendance system using fingerprint verification technique[J]. International Journal on Computer Science and Engineering, 2010, 2(2): 264-269.
[4]
彭小明, 叶洁. 基于3G/WIFI的远程指纹考勤系统的设计与实现[J]. 计算机应用与软件, 2016, 33(5): 102-107.
PENG X M, YE J. Design and implementation of remote fingerprint attendance system based on 3g/wifi[J]. Computer Applications and Software, 2016, 33(5): 102-107.
[5]
姚荣彬, 郭洁. 基于RFID的员工考勤系统设计[J]. 现代电子技术, 2016, 39(1): 122-124.
YAO R B, GUO J. Design of employee attendance system based on RFID[J]. Modern Electronics Technique, 2016, 39(1): 122-124.
[6]
沈斌, 闫广超, 彭程, 等. 被动式井下考勤系统上位机模块的设计与实现[J]. 计算机工程与应用, 2011, 47(4): 229-231, 238.
SHEN B, YAN G C, PENG C, et al. Designing and realizing of host computer control modeling of passive attendance checking system under coalmine[J]. Computer Engineering and Applications, 2011, 47(4): 229-231, 238.
[7]
梁龙, 王春雪. 基于RFID和ZigBee网络的分布式考勤系统设计[J]. 制造业自动化, 2012, 34(14): 14-16, 78.
LIANG L, WANG C X. A design of distributed attendance system based on RFID and Zigbee networks[J]. Manufacturing Automation, 2012, 34(14): 14-16, 78.
[8]
李玉鹏, 周俊, 程超伟, 等. 基于人脸识别云服务的考勤系统的开发与实现[J]. 电子技术与软件工程, 2016(9): 77.
LI Y P, ZHOU J, CHENG C W, et al. The development and implementation of attendance system based on face cloud services[J]. Electronics & Software Engineering, 2016(9): 77.
[9]
WANT R. An introduction to RFID technology[J]. IEEE Pervasive Computing, 2006, 5(1): 25-33. DOI:10.1109/MPRV.2006.2
[10]
ATZORI L, IERA A, MORABITO G. The internet of things:A survey[J]. Computer Networks, 2010, 54(15): 2787-2805. DOI:10.1016/j.comnet.2010.05.010
[11]
XIE L, SHENG B, TAN C C, et al.Efficient tag identification in mobile RFID systems[C]//Proceedings of the 29th Conference on Information Communications, INFOCOM.San Diego, California, USA:IEEE, 2010:1-9.
[12]
魏丽英, 陈晓鹏. 小波矩量法求解线天线电流方程[J]. 广西科学, 2010, 17(4): 307-310.
WEI L Y, CHEN X P. Solution of wire antenna current equation based on wavelet method of moment[J]. Guangxi Sciences, 2010, 17(4): 307-310.