基于Linux的考勤机设计方案V1.1(终端软件部分)
Designed by Qtchen001&lcy
E-mail:qtchen001@qq.com
技术交流群 184564382
考勤机作为终端,主动向服务器发送连接请求,服务器可以使用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,此外还有中断处理程序。它的编解码协议运行在用户权限下。
找项目、找人才、买卖软件/方案,请到同城软件外包网 www.58witkey.com
基于Linux的考勤机设计方案V1.1(终端软件部分)相关推荐
- linux命令行sip电话,基于Linux和MiniGUI的SIP电话终端设计
0 引言 随着VoIP的迅猛发展,越来越多的个人用户正在使用软件电话.IP电话通过VoIP系统拨打国内和国际长途,IP电话的需求量越来越大,同时,人们对IP电话的要求也越来越高,例如要求IP电话体积小 ...
- 基于Linux平台上的外文文献阅读软件—需求分析
1 项目背景 Windows/MacOS平台上,可以借助知云文献阅读器等软件实现英文文献的翻译.阅读和批注,Linux平台却缺乏该类软件,因此通过Qt框架,调用百度翻译接口,实现一个围绕翻译功能展开的 ...
- ansole终端链接linux,基于Linux系统的智能家居远程控制系统设计论文.doc
基于Linux系统的智能家居远程控制系统设计论文 学科分类号 0801 北京邮电大学毕业论文 题目 (中文):基于Linux系统的智能家居远程控制系统设计 (英文):The smart home re ...
- 基于Linux命令行终端的ftp客户端程序
深入理解FTP(File Transfer Protocol)协议的有关知识,完成一个基于Linux命令行终端的ftp客户端程序专业程序代写大学生程序代写 转载于:https://www.cnblog ...
- 【正点原子MP157连载】第二十四章 设备树下的LED驱动实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
- 基于linux的 设计,基于Linux的智能家居的设计(一)
本课题主要目的是设计和实现一个基于Linux开发平台的智能家居系统.本系统主要使用PVC板做成的家居模型.本系统硬件使用基于ARM架构的samsung S3C6410芯片做成的OK6410开发板为手持 ...
- 【正点原子MP157连载】第二十五章 pinctrl和gpio子系统实验-摘自【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
1)实验平台:正点原子STM32MP157开发板 2)购买链接:https://item.taobao.com/item.htm?&id=629270721801 3)全套实验源码+手册+视频 ...
- emui10是基于linux的么,华为EMUI10在意义上还能称作安卓吗?谷歌以后的安卓版本,华为是否有必要去更新?...
严格意义上来说还是安卓,有必要继续跟随安卓系统更新而更新. 这里我们要弄清鸿蒙系统,安卓系统和EMUI10这三者之间的关系,相信我们就能清晰的获得问题的答案.鸿蒙系统是什么 英文名叫Harmony O ...
- 向基于Linux的Oracle RAC 10g集群添加新节点
在多数业务中,Oracle真正应用集群 (RAC) 配置的主要业务要求是整个系统中数据库层的可伸缩性 - 这样,当用户数增加时,可将额外实例添加到该集群来分发该负载. 在Oracle RAC ...
最新文章
- C语言/C++ 中除法得到结果的精度问题(有浮点数参与除法,结果就是浮点数,除数和被除数都是整数,结果默认是整数)
- 【使用递归玩通关汉诺塔游戏】算法01-递归(斐波那契数列、汉罗塔问题)-java实现
- 易语言服务器不在一个网段,设置二级路由器保持局域网在同一个网段
- cp命令的编写——浅谈系统调用
- delphi 函数内创建对象 释放_JavaScript 的函数底层运行机制
- 支持向量机——深度AI科普团队
- Labview子VI的创建与调用
- ascll编码表图片_ASCLL编码表
- 惠普打印机驱动程序安装失败解决
- 谈谈两个互联网大佬的「认知革命」
- 关于Android Studio单元测试中“Method d in android.util.Log not mocked.”问题的解决。
- UPC 小澳的葫芦 (最短路+01分数规划 )
- 我的世界服务器核心文件,minecraft1.9服务端核心Paper
- 【库房】DateTime.Now.Date和DateTime.Now.TimeOfDay的用法
- Photon教程——Photon的获取
- 【matlab】spm数据处理
- 使用Python的turtle模块绘制爱心图案
- 国内云服务器怎么选配置?如何低价购买国内云主机?
- 实变函数第一章思维导图知识点总结
- 制作android视频播放器,自制android视频播放器