基于3G网络传输的指纹考勤管理系统设计与实现

2016-05-14 11:20陈景发舒雪姣谭韵莹
科技资讯 2016年7期
关键词:串口考勤指纹识别

陈景发 舒雪姣 谭韵莹

摘 要:该文采用STM32F103单片机控制器、3G网络模块SIM5320E以及FM-180指纹识别模块设计考勤终端,实现考勤数据采集与传输功能。采用SQLite设计服务器端数据库实现考勤数据记录、统计以及导出等功能,通过3G移动通信网络将考勤终端连接至服务器端数据库,最终搭建一个基于3G网络传输的指纹考勤管理系统。

关键词:3G网络 指纹 考勤管理

中图分类号:TP315 文献标识码:A 文章编号:1672-3791(2016)03(a)-0009-02

常见的指纹考勤系统有两种,一种是联机式产品,多个系统共享指纹识别设备,指纹的比对由后台计算机支持;另一种是脱机型产品,单机就可完成考勤全部过程,使用方便,但必须连接到互联网来远程传送数据。以上两种考勤系统均是通过宽带有线网络接入来传送数据,它们存在一个共同问题:对于偏远山区等无宽带网络接入区域无法实现考勤,具有一定的局限性。目前3G网络建设已经基本达到各个区域的无缝覆盖要求,覆盖区域远大于有线宽带网络,因此基于3G移动网络传输的指纹考勤方式有更广阔的应用空间,基本能满足任何单位的考勤需要。

1 指纹考勤管理终端设计

1.1 硬件方案设计

该设计采用STM32F103单片机,通过串口1控制3G网络模块来发送相应的AT指令来实现数据传输功能,通过串口3控制指纹识别模块,通过硬件SPI接口实现对TFT显示屏的控制,通过8个I/O口实现对键盘键值的检测(如图1)。

核心硬件模块包括指纹识别模块、3G网络传输模块、液晶显示模块、键盘输入模块。指纹识别模块采用FM-180,能储存1 000枚指纹模板信息,flash容量大;3G网络传输模块采用基于WCDMA网络的SIM5320E模块;液晶显示模块采用TFT显示屏,分辨率320×240,可使用SPI接口传输,自带SPI FLASH字库电路;键盘输入模块采用矩阵键盘,使用行和列的扫描实现使用8个I/O口来读取16个按键。

1.2 指纹识别功能实现

指纹识别模块FM-180有比对与识别,指纹删除,指纹录入等功能,通过自调节的比对算法实现指纹的准确识别,对干湿指纹均有不错的效果。该模块有4个引脚,分别是VCC,GND,RX与TX,可通过串口与STM32的串口连接通讯,RX连接PB10(UART3 TX),TX连接PB11(UART3 RX),VCC可以连接3.6~6 V的电压。

指纹识别模块驱动程序设计思路:先初始化指纹模块所用到的通讯接口串口3,在执行主函数的主循环之前先确认指纹识别模块是否与单片机正常连接;单片机向模块发送握手指令,如果指纹模块正常连接,指纹模块回复一个长度为12,确认码为0x00的应答包,握手函数返回1,表示握手成功,同时DS4灯常亮;如果发送3次指令仍然没有应答包返回或者应答包不正确,握手函数返回0,认为握手不成功,DS4亮2 s后灭。

1.3 3G网络传输功能实现

STM32单片机与3G网络传输模块通信使用串口1,单片机通过向3G网络传输模块的串口发送相应的AT指令来向上位机实时发送打卡信息。

打卡信息发送的格式为:sn;msgType;devID;staffID;time;status。sn代表打卡条目序列号,每次从考勤系统发送给上位机的sn号应该不同,从而区分不同的打卡条目;msgType代表消息的种类,在开机时,发送1,代表设备登录,在打卡时发送2,代表有人打卡;devID代表设备的序列号,设置为1;staffID代表职员的工号,由四位数组成,范围是0000-0999;time代表打卡信息发送的时间,格式为:年、月、日、时、分、秒;status代表设备的运行状态,在线为1,离线为0。

在考勤系统开机时单片机先向3G网络传输模块发送AT指令,如果返回OK,代表单片机与模块正常连接;等3G网络传输模块搜索网络成功后,打开数据网络,读取系统时间;使用随机函数产生的6位数数字作为sn,用于让上位机区分不同条目的打卡信息。假设上位机所连接的IP地址为“183.238.55.244”,软件设置的端口号为8000,而发送数据时需要设置所发数据长度,在程序设计中,需要发送信息的长度会自动改变的变量都转换成了字符型,因此发送的长度固定为37,使用命令AT+UDPSEND=37,\"183.238.55.244\",8000\r\n用于发送请求,等待20 ms,等待程序返回一个>标志,然后向上位机发送设备登录信息,格式为sn;msgType;devID;staffID;time;status,使用/x1a命令执行发送操作,当有人打卡时,读取当前的时间与指纹号,向上位机发送实时打卡信息。

2 指纹考勤管理服务器端方案设计

服务器端可以采用SQLite设计一个轻量级数据库,用VC语言设计数据显示界面,要求包括考勤终端连接状态、员工信息管理、考勤数据记录、考勤数据导出等功能。数据库里有员工信息和考勤记录两张表,员工管理可通过读取员工信息表并将记录展示在界面。当考勤终端机将员工考勤记录发到服务器,服务器将考勤记录保存在数据库。显示记录的功能可从SQLite中读取员工考勤记录,并将记录展示在界面上。导出记录功能可将数据库中的考勤记录表中数据提取,并保存在本地磁盘(如图2)。

3 结语

由于公司跨区域发展、行业固有属性等因素也一直影响考勤制度有效执行,比如在偏远山区等无宽带网络接入区域进行建筑施工作业公司、保险行业经常性临时举办的培训班、户外开设拓展活动等等都无法实现考勤,而该设计方案恰恰解决了上述问题。该设计仍然存在一些不足,比如该设计只是实现了3G网络模块传输的功能,但作为一个完整的产品,还需要集合WIFI、网线、3G网络传输模块等不同传输方式,方便用户灵活选择。该设计虽不足以成为一个产品,但对于指导通信类、电子类专业学生系统化学习通信系统设计还是很有帮助的。

参考文献

[1] 廖义奎.Cortex-M3之STM32嵌入式系统设计[M].北京:中国电力出版社,2012.

[2] (英)Joseph Yiu.Cortex-M3权威指南[M].宋岩,译.北京:北京航空航天大学出版社,2009.

[3] 杨军.指纹识别系统及其应用[J].安防科技,2003(1):57-58.

猜你喜欢
串口考勤指纹识别
三级甲等医院应用PDCA循环提升考勤管理的创新
浅议如何做好地铁公司考勤工作
MCS—51单片机中的多串口通讯技术的应用
苹果屏幕指纹识别专利图流出
iPhone8新专利曝光
基于校园卡的学生考勤系统研究
指纹挂锁
形形色色的指纹解锁
全国计算机等级考试机房准备工作探讨
微机串口的测试诊断