引言
目前,大部分考勤系统还是磁卡考勤系统,这类系统不仅签到速度慢,而且终端设备和磁卡也造成一定成本和浪费;指纹考勤、人脸识别考勤、视网膜考勤等新一代考勤技术虽然大大地提高了考勤效率和准确率,但是这类考勤机的费用较高、操作比较麻烦。以上几种都是采用被动式的考勤机制,科技的发展和生活节奏的加快为被动式考勤方式带来了新的挑战,手机蓝牙考勤机就是针对以上考勤机的缺点而设计的,使用手机蓝牙考勤机可以实现人员经过即可轻松签到。
1 考勤机硬件设计
1.1 系统整体硬件设计
如图1所示,考勤机系统主要由以下5个部分组成:基于Cortex-M3核的STM32F103RBT6微处理器作为核心控制器件,主要负责控制系统各部分的工作和交换数据;蓝牙模块用于搜索手机蓝牙设备,并将查找到的手机蓝牙设备地址通过异步串行通信发送给微处理器STM32F103RBT 6;SYN6288语音芯片通过UART接口来实现数据传输,实现“应到”与“实到”的人数语音播报;NOKIA5110液晶显示屏显示考勤结果,微处理器通过SPI1接口将考勤结果发送给显示屏进行显示;SD卡/U盘保存用户信息,微处理器通过SPI2接口将数据发送到SD卡/U盘,然后通过读取SD卡/U盘来获得签到者的信息。本系统出于便携的目的,采用了低功耗设计,系统只需外接两节普通1.5 V干电池即可连续工作数月以上。各部分均采用独立的硬件接口,互不干扰。
1.2 蓝牙模块及外围电路设计
系统所使用的蓝牙模块采用广州汇承信息科技有限公司生产的HC-05芯片。HC-05是民用级,支持当前绝大多数手机蓝牙设备,并可向上兼容其他更高协议。该模块具有集成度高、稳定性好、功耗低、外围电路少等优点,完全满足本系统的需求,图2是蓝牙模块的外围电路。其中STATUS_OUT是输出状态指示灯引脚,考勤时D1会闪烁,说明蓝牙模块正常工作;MOD引脚是蓝牙AT模式选择引脚;RXD和TXD是串口通信接口,实现串口通信功能。
1.3 STM32微处理器
STM32系列微处理器基于ARM Cortex—M3内核,是专为要求性能高、成本低、功耗低的嵌入式应用而设计的。本设计采用的是STM32F103 RBT6芯片,属于“增强型”系列,时钟频率最高可达72 MHz,内置32 KB RAM和128 KB高速Flash存储器。128位宽度的存储器接口和独特的加速结构使得32位代码能够在最大时钟速率下运行。在本系统中,使用了STM32F103RBRT6的UART0、UART1、SPI1、SPI2、RTC等功能,充分发挥了STM32F103RBT6的性能优势。
1.4 NOKIA5110液晶屏
NOKIA5110液晶屏具有以下特点:
①84×48的点阵LCD,可以显示4行汉字;
②采用SPI接口与主处理器进行通信,减少了接口信号线数量(包括电源和地在内的信号线仅有9条),支持多种串行通信协议(如AVR单片机的SPI、MCS-51的串口调试模式等),传输速率高达4 Mbps,可全速写入显示数据,无等待时间;
③可通过导电胶连接模块与印制版,不用连接电缆,用模块上的金属钩可将模块固定到印制板上,因而非常便于安装和更新;
④LCD控制器/驱动器芯片已绑定到LCD晶片上,模块的体积很小;
⑤采用低电压供电,正常显示时的工作电流在200μA以下,且具有掉电模式。
图3是考勤结果在NOKIA5110液晶上的显示效果图。该液晶模块操作简单,实用性强。
1.5 语音模块
本系统采用北京宇音天下公司出品的中高端TTS(文本到语音)芯片SYN6288。该芯片支持GB2312、GBK、BIG5及UNICODE内码格式的文本。语音合成效果清晰、自然、准确。芯片较强的中文姓氏处理能力使得因签到人员姓名的不确定性所导致误报的可能性大大降低。利用其内置的声音提示音,使得语音播报效果更加自然。
2 系统软件设计
2.1 系统软件总体流程
图4是系统总体流程图,从图中可以看出系统执行的一个总体过程。系统上电复位后,读取蓝牙模块的配置文件,通过菜单选择相应的考勤模式,搜索周边手机蓝牙设备地址,并与本地数据库蓝牙地址进行匹配。该考勤机系统可以实现手动考勤和定时考勤两种考勤模式;信息采集可以实现单独采集和批量采集两种方式;同时可以通过SD卡/U盘来保存数据。
下面是系统主程序,主要是实现系统菜单的选择,然后进入每个菜单模块进行操作,从而完成不同的考勤模式选择、系统配置、时钟设置和移动设备的选择等操作。
2.2 获取SD卡/U盘中的考勤数据库
首先,在SD卡/U盘建立一个考勤群体的Excel数据库文档,如图5所示;然后,通过实地信息采集,获得考勤人员的蓝牙地址,保存起来,如图6所示;考勤时搜寻手机蓝牙地址,并与数据库中的蓝牙地址进行比对,就可以实现考勤功能,如图7所示。考勤人员的数据库大小可以根据需要来定义,按照上面的步骤实现考勤的功能。