Designed by Qtchen001&lcy
考勤机作为终端,主动向服务器发送连接请求,服务器可以使用VPN的方式。作为VPN服务器的计算机有两个网卡,一个连接在局域网中,一个连接在广域网中。考勤机采用主动方式连接网络,这样在一个局域网中可以安装多台考勤机。
1、考勤机终端:
终端具有的功能除基本的考勤功能外,还需要留足扩展接口,以便日后扩展。考勤机的扩展主要是这样的扩展:
人脸识别,采用摄像头拍摄照片来进行识别
指纹识别,使用专门的指纹识别模块
2、门禁考勤机主要功能需求:
考勤卡识别功能,读取考勤卡信息,检验考勤卡合格性,如果合格则记录考勤、语音提示成功并显示姓名;如果失败则语音提示不成功。
对于待考勤人员的识别,需要两方面做保证:一方面本地记录了待考勤人员的信息,姓名和卡号对应,在刷卡时查询数据库,验证;另一方面,在本地验证失败时,需要通过网络向服务器验证,验证成功时将验证信息下载到本地考勤机并提示成功,失败时则考勤机提示验证失败。
考勤记录可以存放在本地终端上,也可以通过网络上传到VPN服务器上,可以即时上传或者定时上传。考勤记录和卡号-人员对应表等信息存储在本地SD卡中。
语音提示,真人发声提示
通过U盘上传用户姓名列表,下载门禁考勤记录以及照片(当考勤机支持人脸识别时)
考勤机可以独立使用,无需连接电脑即可以设置考勤机参数,包括人员登记、人脸考勤、存储记录等。
支持考勤机本地信息和服务器信息的同步,同步协议需详细制定。
3、
(1)按键设计
图1按键设计
(2)液晶显示
图2 上班界面
图3下班界面
图4设置界面
(3)设置主机IP
如图4中所示设置服务器IP和端口(PORT)
该流程对应的软件流程为
图5设置IP软件流程图
(4)导入批量信息到终端
新的考勤机结构
图6考勤机结构
图7上位机批量导入信息
(5)终端机输入卡号
通过按键设置开始输入新的卡号
图8终端输入卡号信息
(6)网线供电(POE,Power Over Ethernet)
这部分与软件无关主要是硬件方面的设计
图9 POE
(7)上班/下班刷卡
我们假设公司设定的上班刷卡时间为7:00—9:00,则在这个时间段内刷卡时不需要按“上班”按钮,系统默认为将刷卡的员工开始上班,在此时间段之外要刷卡上班时需要先按“上班”按钮。下班时也是同理。
图10刷卡上班/下班流程图
4、底层开发方案:
基于linux的嵌入式系统开发是一个层次化的结构。Linux操作系统负责嵌入式系统硬件资源的管理,而应用层软件则负责实现具体功能。Linux系统本身就是一个层次化的系统结构,它由硬件层、设备驱动层、虚拟文件系统VFS层和应用层组成。虚拟文件系统层和设备驱动层完成底层硬件的抽象。Linux将所有的设备都当作文件处理,被称为设备文件。设备又可以细分为网络设备、字符设备和块设备。
设备驱动层需求:
根据应用的需要,系统需要的模块包括如下部分:
USB接口模块
Ethernet模块
SD卡模块
UART模块
MFRC500模块
RTC模块
NandFlash模块
SDRAM接口模块
LCD接口模块
上述这些模块在freesacale提供的支持中很多驱动已经完成,开发需要做的重点是相应模块对应于具体电路板的裁剪、UART接口模块的驱动程序和MFRC500模块的驱动程序。
图11整体软硬件框架图
(1)USB扩展接口
Linux的USB具有热插拔功能,在检测到有设备接入USB设备时,linux的hub驱动就会为插入的设备查找驱动;如果在系统中有符合的驱动,则正确配置;否则需要将相应的驱动以模块的形式加载到系统中,使用insmod命令即可加载模块
(2)UART接口
I.mx289有6个UART接口,5个高速接口和1个低速接口,低速接口可以用于调试;采用宿主机-终端机的模式,终端机linux系统的调试是用串口连接到宿主机进行的。
另外有些指纹识别模块的扩展接口也是uart接口的,所以需要预留uart接口以备扩展。
(3)Ethernet接口
Ethernet接口用于考勤终端机和远程服务器进行通信,i.mx系列芯片有1~2个10/100M的Ethernet接口,以太网接口驱动程序可以移植官方驱动,稍作修改。使用linux的网络协议栈可以实现网络通信任务。系统采用C/S结构,终端机作为客户,需要向服务器发送请求,进行连接、数据交互等
(4)IIS接口
基于扩展的功能,考勤机需要扩展音频调试接口。I.mx系列芯片包含IIS音频解码接口,其驱动程序只需稍作修改即可。
(5)LCD接口
LCD可以作为地址设备接在系统的数据和地址总线上,这样系统可以统一寻址。LCD接口驱动需要移植linux的带framebuffer的platform类型的驱动程序。
(6)RTC
RTC集成在芯片内部,直接移植官方驱动即可
(7)NandFlash
移植官方驱动
(8)SD/MMC
i.mx有3个SD/MMC/SDIO接口,demo板包含linux驱动程序。
(9)MFRC500接口
MFRC500是并行接口,建议将其连接在数据和地址总线内,使处理器能够直接寻址。它属于字符设备,只要实现其字符设备驱动程序就可以了,基本的操作是open,close,read,write,ioctl,此外还有中断处理程序。它的编解码协议运行在用户权限下。