rfid的考勤系统【字数:11169】
摘 要现今社会,考勤是一个学校,一个企业必不可少的对于出勤人员的考察,很多学校依旧是以点到形式对出勤学生进行记录考核,这就需要花费一部分时间去实行,即使如此也依旧会可能出现掺假现象,这时就需要一个高效有力的方式去实现这一方面考勤状况,而该实验为基于RFID的考勤系统就是针对这一情况所作出的改善,并且通过该系统更方便有力地去考察统计了学生的出勤情况信息,大大提高了出勤率和上课效率。此外还有一个系统查询管理,学生能通过登录系统输入账号密码进行查询出勤信息情况,老师能够登录自己的账号系统对所有学生出勤信息进行记录查看统计,管理员则是能够管理学生、老师的账号密码。这样一来学生出勤老师考勤的效率都得到了很大的提高。这些查询信息都是学生在到教室考勤时射频卡的接触对应信息在屏幕上自动显示并通过上位机记录到数据库系统后台的。该系统正是运用射频卡,液晶屏,上位机,Access数据库等完成一系列考勤过程的。关 键 词考勤系统 系统查询管理 射频卡 上位机 Access数据库 Design and implementation of attendance system based on RFID Abstract In todays society; attendance is a school and an enterprise is indispensable for attendance inspections. Many schools still record and assess attendance students in the form of point-to-point; which requires a part of time to implement. Even so,adulteration may still occur. At this time;an efficient and effective way is needed to achieve attendance status. The experiment for the RFID-based attendance system is to improve this situation, and through the system more convenient *好棒文|www.hbsrm.com +Q: #351916072#
and powerful to inspect and count the attendance information of students; greatly improving attendance rate and class efficiency. In addition,there is a system of inquiry management. Students can enter their account passwords through the login system to inquire about attendance information. Teachers can log in to their own account system to record and check all studentsattendance information. Administrators can manage students and teachersaccount passwords. In this way,the efficiency of attendance of students and teachers has been greatly improved. These inquiry information are automatically displayed on the screen and recorded in the background of the database system by the upper computer when the students come to the classroom for attendance. The system uses radio frequency card,LCD screen, PC, Access. database to complete a series of attendance process. Key words: Time Attendance; System Query Management; RF card; Host computer; Access database1.绪论 11.1 课题研究背景 11.2课题研究的意义和影响 11.3国内外的发展状况及应用 22.课题研究对社会人文、环境、法律的影响 33.系统开发环境与技术 43.1系统开发环境 43.2关键技术简介 44.系统设计 54.1.系统的功能设计 53.2.设计方案 55.系统的设计与实现 75.1.硬件部分的设计 75.1.1最小系统电路 84.1.2液晶显示电路 85.1.3 RC522通信电路 95.1.4蜂鸣器电路 105.1.5 按键电路 115.1.6 LED电路 115.1.7存储电路 125.1.8 电源供电 135.2软件部分的设计 135.2.1读卡程序 135.2.2注册程序 156.详细设计 176.1系统核心功能分析与设计 176.2系统流程 175.2.1学生部分 176.2.2教师部分 186.2.3管理员部分 196.3数据库分析与设计 196.4系统实现 216.5.1 IC卡检测模块 216.2.2 串口通信协议模块 216.3.3 数据库的密码修改功能 227.系统测试 237.1测试用例说明 237.2 测试环境 237.3 模块测试 237.4 总体测试 25结语 28参考文献 29致谢 301.绪论现今社会,考勤已经是检测一个学生出勤效率,考核成绩中必不可少的一部分,在实际考勤中我们能够明显地感觉到点名、签到这种考查学生出勤情况的麻烦,所以开始出现一系列的技术考勤系统来代替,例如IC卡考勤,指纹考勤,人脸识别考勤,而指纹和人脸是更后的技术更适用于大企业,而该实验所研究的基于RFID的考勤管理相对于人脸和指纹考勤成本低且简单易操作,适用于学校教室里对于学生的考勤。1.1 课题研究背景无论是企业还是学校,考勤都是考查员工或者学生出勤情况、整体成绩的一个必不可少的部分,从最初的点名签到到手机签到都比较麻烦浪费时间而且还会存在一小部分的作假,这就严重影响了考查效率,所以考勤管理是一个很重要的部分,而基于RFID的考勤系统用射频卡签到记录在这方面提高了考勤效率,只要从教室门口进入在阅读器感应范围里就能自动与射频卡标签进行接收反应再传输录入信息并转至数据库中,也就省了很多人工的麻烦,并且老师还能通过系统直接查看出勤情况信息,省事方便。1.2课题研究的意义和影响在以往,学生的考勤工作都得由任课老师自己去完成,每次在点名上就要耗费一些时间,而且还会有学生通过一些办法手段蒙混过关,这就对考勤考核带来了很多的麻烦,不能达到想有的准确性和效率,因此就需要一个高效的考勤系统来完成考勤这一部分的工作。随着计算机以及电子技术的发展,很多企业和学校也都意识到了如果使用一个自动的考勤系统来代替人工的考勤,那么将为企业和学校带来更大的便利和效率,各种运用科技而做出的考勤系统也就应运而生,而RFID射频识别技术就是其中发展和技术都较好的一种。RFID射频识别技术是一种非接触式的自动识别技术,在不需要人为看管以及很多情况下都能运行使用识别对应的射频卡来确定信息,并且RFID识别技术可识别高速运动物体并可同时识别多个标签,操作快捷方便,这些优势使RFID有了广阔的发展空间。而本实验设计是基于RFID卡的身份识别考勤系统,教室里放置阅读器,液晶显示屏,当接受到进入的学生的射频卡并确定出勤学生信息,而该系统不仅为老师提供当下实时的考勤信息,通过系统界面登录老师可以随时了解所有学生出勤信息,查看学生出勤次数这样就能及时找学生了解相关情况并提醒学生做好出勤工作,这就不仅增加了老师的考勤效率还能提高学生的出勤效率,学生也将更加严格自己,做好学习工作。1.3国内外的发展状况及应用在国内,从1994年在国内首次应用RFID技术至今已有二十余年,各方面都有了长足的进步和发展。国内对于低高频的发展较早也较为成熟,但在超高频技术方面就相对弱势,与其他一些国家竞争不过,所以希望有更多企业可以发展和提高这方面的技术使用,因为在未来的这一些年里RFID技术仍然是一个大的发展方向。我国在RFID技术上的运用已经有了一部分发展,我国最初最有影响的一次运用就是将RFID技术用于我国二代身份证,通过身份证确定每个人的身份以及了解其的个人信息,这就在很多方面都有了保障,凭此出行也变得更为直接方便。RFID也已经用于校园一卡通的部分,但也只是实现了食堂消费、超市消费、图书馆刷卡等一系列功能,而门禁、考勤管理并没有普遍运用,所以需要去加入这部分功能,这样在校师生将可以凭借一张校园卡就解决了所有的问题,这将会实现真正的校园一卡通,这会更具意义。国外对于RFID技术发展最好就是美国了,在RFID关键技术这些方面,无论是芯片、RFID中间件、系统集成研究RFID标签、天线、读写器等产品欧美国家几乎占据了主导地位,欧洲也是追随美国采用的是EPCglobal标准,该标准在RFID标准制定的速度、深度和广度方面都非常出色,受到全球广泛地关注。那些著名的商业巨头通过该优势垄断了一大片市场,并且还得到国家政府的支持,因此这也就有了更大的推动力。2.课题研究对社会人文、环境、法律的影响当下不管是企业还是学校都需要一套完整的考核体系并以此对人员做出一个定义和判断,人员的出勤考察是其中的重要一项,并且也能通过人员的出勤情况来审视一个企业、一个学校的风气,往往这种风气也会影响一个整体。所以这部分的内容更是值得重视,而科技的发展使得考勤有了一个更大的改善,那就是使用一套自动考勤系统,考勤系统逐渐成为一个被广泛运用到企业、学校的一个考察人员出勤、缺勤情况的有效手段。此课题研究的基于RFID的考勤系统便是其中一种,尤其在当下学校普遍使用校园卡一卡通,但也只是实现了食堂消费、超市消费、图书馆刷卡等一系列功能,因此在此基础上加入考勤系统的使用便能够使学校的一卡通体系更加完善,不存在侥幸心理老师会不会点名或者什么时候点名,很大的方便了老师课上对学生的签到工作,不仅节省了时间并且有了更高的效率,为学生课堂创造了良好的环境,学生对上课的态度得到了很好的提升,大家都严格遵守号学校的法律法规,学习的氛围也更好,学校的风气也得到了更好的改善。企业也是如此,考勤系统的使用将会给社会都带来便利,有监督的作用,使人们更加恪守几任,自然而然地形成良好的风气。这套系统也是比较安全可靠的,成本也相对于其他考勤系统较低,值得用于学校对于学生的考勤。3.系统开发环境与技术3.1系统开发环境操作系统window10上位机vs2012编程语言C++数据库Access3.2关键技术简介该系统主要分为上位机和数据库的编写。上位机是使用APP软件用VC++来写的,因为它是微软公司的C++开发工具,具有集成开发环境,微软公司在C++的基础上提供了一些Windows图形界面函数库,还能除错,所以更方便来写。而登录系统部分采用Access作为后台的数据库,同时也用到SQL语言编写。Access是微软的数据库管理系统,所以也具有微软提供的特殊功能优越性。VC++简介VC++是微软公司的C++开发工具,具有集成开发环境,可以提供编辑C语言,C++以及C++/CLI等编程语言。V++还可以有除错功能,用户可以进行远程调试,单步执行等,并且调试期间用户还能在不用重启正在调试的程序的情况下重新编译被修改的代码。4.系统设计4.1.系统的功能设计以STC89C52单片机为核心器件,结合按键电路、RC522刷卡模块模块、液晶显示屏、声光报警电路、掉电保存电路,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现考勤系统的以下基本功能?可以对IC卡进行注册和注销;注册过的IC卡进行签到时,可以显示对应的信息;只有注册过的IC卡才有效;可以有简单的声光报警电路;/图4.1 系统方框图3.2.设计方案目前,学生上课出勤信息都是通过任课老师手工记录和统计的。每次课都要进行,一学期的信心两工作量非常大,而且还会存在信息错误,可能是学生的蒙混或者老师记录的差错,所以为了方便老师也能准确获取数据的准确性,考勤系统将采用计算机管理,系统将实现调查课程出勤管理的模式和流程,实现不同科目、不同课程性质的出勤管理,完成课堂出勤考核,出勤信息自动录入后台,老师能够查到每位同学的相关课程出勤信息情况,同时学生自己也能了解自己每个课程的出勤情况,并能够做出及时调整或者与老师沟通。设计出系统登陆模块,系统登陆模块是用户登录系统时使用的模块。用户在登录界面输入用户名和密码后,和系统数据库进行比较确认,如果用户名和密码和保存的数据一致,则此用户便可进入系统主界面继续进行操作,如果用户名或密码错误,则系统会显示对应的问题错误提示,用户需再次输入,直到输入正确才能进入自己的系统进行相关查询或者统计操作。 系统用户分为三类1、管理员 管理员可以对系统信息进行管理与维护,能够管理学生和老师信息,将学生出勤情况进行记录统计,反馈到学生和老师的登录系统内。2、教师 教师进行身份登录后,可以查看所有学生的出勤次数情况,统计学生出勤次数,每一次还有其对应的日期时间,哪怕是迟到也能清楚知道。3、学生 学生在注册号登录学号密码可以进入查看自己的考勤信息,能知道自己完成了多少次出勤。本系统通过数据库的运用,用Access做为后台数据库,上位机需要管理各下位机终端的ID,为其进行统一编址;收集各RFID卡片读写器终端的地址、设备类型等数据,并将各个数据进行存档、统计,以供管理员操作。在教室门口处放置一个阅读器液晶显示屏,当带有射频卡标签的人进入时刚好在阅读器感应的范围内能够接收到其发出的响应信号,当读写器读到RFID卡的读写通信,首先液晶显示屏上会显示该出勤学生信息情况,并且同时该学生数据库出勤时间及信息显示出来。5.系统的设计与实现完成一个完整的考勤系统就需要完成单片机的模块设计拼接,完成它的代码编写。5.1.硬件部分的设计整个硬件系统由阅读器部分和IC卡组成,下图便是考勤系统里阅读器的电路图/5.1电路图整个单片机系统一共由五个模块组成,分别是射频刷卡模块,液晶屏显示模块、串口通信模块、报警提示模块、时间芯片模块。以下是各个部分模块的原理图/5.2 系统模块的原理图5.1.1最小系统电路/图5.3 最小系统电路单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。是整个设计系统中最基本的也是最简单的电路,只有简简单单的几个元件,2个电容和一个晶振连接单片机的XTAL1和XTAL2引脚,而一个电阻和一个电解电容连着单片机的复位引脚,看似这个电路非常简单,但这也关系着整个软件系统能不能正常工作,只有这个电路正常了,其他电路才有可能继续执行下去。单片机复位电路有2种,一种是上电复位,一种是手动复位。单片机正常供电为直接5V,工作时RST复位引脚为低电平,手册上面说明只要单片机的复位脚超过2个机器周期的高电平,单片机就可以正常复位,所以按下复位按键,单片机复位。本设计中采用上电自动复位电路。4.1.2液晶显示电路液晶12864可以显示4行,每一行可以显示8个汉字,共可以显示32个汉字,对应这个系统来说,是足够的,一般出现不够行的情况下,大都是采用切换到第二个节目显示的方法;12864液晶跟单片机的通信方式有两种,一种是并行 ,一种是串行,对于串行来说,电路是比较简单不需要那么多的IO口,只需要两个IO就行,一发一收,但速率就比并行比较慢,而并行由于8个IO一起发送数据,因此要比较快,对于显示刷新频率要求不高的话,可以考虑用串行方式,毕竟电路简单,IO少,而本次的设计过程中采用的是串行行方式,跟LCD液晶的通信端只需要用到2个IO口,简单方便。/图5.4 液晶12864电路图5.1.3 RC522通信电路本设计中采用的非接触式刷卡模块RC522,该模块采用的供电电压是3.3V,和单片机通信的是SPI接口,用到了单片机的5个IO口,模块的IRQ中断引脚没有用到。单片机要对卡片进行操作必须和RC522模块完成个步骤,分别是寻卡,防冲突,选卡,读写操作。/图5.5 RC522通信电路5.1.4蜂鸣器电路/图5.6 蜂鸣器驱动电路采用的是直流电压5V供电的有源蜂鸣器,但是一般的蜂鸣器在整个系统运行中需要比较大的电流,51单片机的IO口除了P0口外其他的都有一个弱上拉电阻,但IO的驱动电流也是非常低,不加外部的驱动电路是很难直接驱动的。而最常用的就是用普通的三极管来放大电流驱动,该三极管在电路中的作用是开关电路并且放大电流,本设计中采用三极管S8550作为驱动,当P37低电平时,三极管导通,蜂鸣器响;当P37高电平时,三极管截止,蜂鸣器不响。报警提醒电路如图所示。5.1.5 按键电路设计中有注册卡片、注销卡片等功能,这些功能的切换都是通过按键来实现的,按键一般有独立按键,矩阵键盘等,由于本次涉及到的按键不需要很多个,因此采用独立按键的形式,简单方便易操作,而按键电路用的是直接练到单片机的IO上面,通过对该IO口电平读取不同的值来区别按下还是弹开。采用的是机械式按键,所以在按下的过程中会有电压毛刺干扰,为了防止误触发按键,一般电路中加入消抖处理,有硬件消抖和软件消抖,考虑到简单实用,本设计采用10MS的延时来代替消抖动作。/图5.7 按键电路5.1.6 LED电路LED作为电子电路中最常用的指示作用,LED作为二极管的一个最典型元件,其两端也是有一个压降,一般1.3V左右,根据电子知识,只要在两端上有超过这个的压降,二极管就导通,为了保险起见,可以在单片机的IO口接上一个限流电阻,不至于上电时容易烧坏。当单片机的P35高电平的时候,LED灯就亮,反过来,当为低电平的时候,LED灯就灭。/图5.8 LED电路5.1.7存储电路卡号需要实现掉电保存,一开始用单片机自带的EEPROM来保存,但是查看手册后发现,每次写数据之前必须将整一个去的数据擦除才能写成功,这样下来,也就是得每次把这一区的数据读出来,再执行擦除,最后执行写操作,很明显这样,执行起来是非常耗时间而且是很麻烦的,所以采用AT24C02芯片来保存卡号。AT24C02采用标准的IIC通信协议,单片机没有具体的硬件IIC,所以通常在设计中使用两个IO口来模拟SDA和SCL两个引脚,通过模拟的IIC来实现通信。/图5.9 存储电路5.1.8 电源供电本系统采用的是USB供电,51单片机的电压是直流5V,而RC522模块需要的是3.3V电压,所以需要在电路中进行电平转换,在硬件中加入一个1117-3.3电压转换芯片,5V给单片机供电,而5V经过转换芯片出来的3.3V电压给RC522刷卡模块供电。/图5.10 电源供电电路5.2软件部分的设计5.2.1读卡程序/图5.11 读卡流程图/图5.12 读卡流程代码在读取IC卡的过程中,首先单片机要进行一个寻卡操作,在天线内寻找没有进入睡眠状态的卡,接着要对卡片进行一个防碰撞操作,接着就要对卡片进行一个选卡操作,这样才可以选中某一张卡,选中卡片最后就要对卡片进行一个秘密验证。5.2.2注册程序/图5.13 注册流程图/图5.14注册流程代码系统设计中只有对于注册的卡片才可以进行刷卡签到,未注册的卡片无效。注册时单片机将卡片A区默认的密码重新修改成指定密码,而当注销卡片时又让密码改成默认的密码,这样就可以区分是否注册过。6.详细设计6.1系统核心功能分析与设计该系统主要分为上位机设计和数据库后台设计。上位机主要完成读写器与应答器之间的信息交互,读写器感应到范围内的电子标签发出的某一频率的信号,读取信息后送给应用程序处理然后在液晶屏上显示,单片机解析读取后的信息再反馈给数据库后台系统,数据库部分的信息便产生了。识别用户单片机一直在检测IC卡片,当有IC卡靠近时,单片机获取到卡号,发送给APP,单片机发送“卡号1”APP收到“卡号1”后,从数据库里面去搜索,如何搜索有对应的卡号,则该卡号是有效的发送“OK信息”并保存用户信息到数据库中,无效则发送“Error”单片机收到“OK信息”,显示出对应的用户信息,收到“Error”,提升“IC卡无效”添加用户APP填写正确的用户信息后(用户信息不能为空,会有提示;学号不能重复,会有提示),发送“Great”给单片机单片机收到“Great”后显示“刷卡注册”,单片机读取到卡号后,发送“卡号G”;APP收到“卡号G”判断该卡号是否可以注册,如果可以注册,发送“OK1”,不可以注册,发送“Error1”单片机收到“Error1”后提示“IC卡无效”,收到“OK1”后提示“IC卡注册成功”,并且发送“卡号H”6.2系统流程系统流程图主让我们直观地看到学生、教师、管理员三部分系统模块的操作流程,以及如何正确继续后面的操作。5.2.1学生部分该部分是学生在进行登录系统查询时的流程,要如何操作才能正确进入查询自己的出勤信息。流程图如图所示。/图6.1 学生模块流程图学生进入登录界面通过账号和原始密码登录,进入后可以修改密码,学生可以查询自己的出勤记录情况。6.2.2教师部分以下部分是教师的操作流程,流程图如图所示。/图6.2 教师模块流程图老师先注册好自己的账号密码,通过输入正确的账号密码进入内部系统界面查看所有学生的出勤信息情况,并可以进行统计。6.2.3管理员部分以下部分是管理员的操作流程,流程图如图所示。/图6.3 管理员模块流程图管理员可以直接进入系统添加教师和学生信息,可以导入教师和学生信息,只有管理员添加过的学生和教师才可以根据自己的学号和教工号进行登录。6.3数据库分析与设计根据数据库概念设计,可以创建与实体对应的数据表,创建数据表后,还可以为相关的数据表创建关系。1.学生信息表学生信息表用来保存学生信息。学生信息由学号、姓名、班级、IC卡号、密码等属性组成。该表结构如表6-1所示。表6-1 学生信息表(student)字段名数据类型描述stu_idvarchar(15)学号stu_namevarchar(15)姓名stu_classvarchar(20)班级IC card numbervarchar(15)IC卡号Password varchar(15)密码代码设计 static CString Table3 = _T("CREATE TABLE Table3(学号 VARCHAR(15),姓名 VARCHAR(15),密码 VARCHAR(15),班级 VARCHAR(20),IC卡号 VARCHAR(15))");2.出勤信息记录表学生出勤信息记录表用来保存考生成绩。成绩信息是由学生学号、学生姓名、班级、IC卡号、时间等属性组成。出勤信息记录表的结构如表6-2所示。表6-2 学生出勤信息记录表字段名数据类型描述idint(11)学号nameVarchar(255)姓名classint(11)班级IC card numberInt(11)IC卡号timeVarchar(255)时间代码设计static CString Table4 = _T("CREATE TABLE Table4(学号 VARCHAR(15),姓名 VARCHAR(20),班级 VARCHAR(15),IC卡号 VARCHAR(15),时间 VARCHAR(80))");3.教师信息表教师信息表用来保存管理员信息,教师信息由工号、教师姓名、班级等属性组成。教师信息表的结构如表6-3所示。表6-3 教师信息表(teacher)字段名数据类型描述teac_idint(15)工号teac_nameVarchar(15)教师姓名classVarcahr(15)班级Password Varcahr(15)密码代码设计static CString Table2 = _T("CREATE TABLE Table2(工号 VARCHAR(15),姓名 VARCHAR(15),密码 VARCHAR(15),班级 VARCHAR(15))");//教师账号表4.管理员信息表管理员信息表用来保存管理员信息,管理员信息由ID编号、用户名、密码等属性组成。管理员信息表的结构如表6-4所示。表6-4 管理员信息表(admin)字段名数据类型描述Idint(25)ID号自动生成usernameVarchar(15)用户名passwpordVarcahr(15)密码代码设计static CString Table1 = _T("CREATE TABLE Table1(账号 VARCHAR(15),密码 VARCHAR(15))");//管理员账号表6.4系统实现本章主要介绍在线考试系统的实现过程,不同层次采用不同技术实现。6.5.1 IC卡检测模块/图6.4 IC卡检测代码6.2.2 串口通信协议模块按照液晶的串口通信协议,发送数据/图6.5液晶的串口通信协议代码6.3.3 数据库的密码修改功能/图6.6密码修改功能代码7.系统测试做任何一个系统或实验完成后就必定要少不了测试,测试就是为了检验出系统中可能存在的错误bug,一旦不检测出来将出现各种问题,所以只有严格去进行测试去完善才能做好一个完整的合格的系统。7.1测试用例说明系统实现分为两部分,上位机模块的编码以及数据库的设计,对系统进行测试分为两个时期。模块测试时期模块部分一共分为五个模块的编码,分别是射频刷卡模块,液晶屏显示模块、串口通信模块、报警提示模块、时间芯片模块。检查模块的拼接以及对应的代码编写逐次运行测试排错,不影响到整体。查看代码中的数据类型、结构,变量是否用的正确,检测是否达到自己要的功能,能够体现出该模块所要呈现出的性能,整合排查出所有问题进行修改完善达到最后的要求。整体测试期整体测试是在系统开发完成后对其进行整体完整的测试。本系统测试就是将测试完已经检测改好的各个模块从主控模块顺次整合到一起进行整体的运行观察效果或还有可能出现的问题,确保程序的可靠性。7.2 测试环境测试该系统的软件环境如下操作系统Windows 10数据库Access开发工具vs2012 APP7.3 模块测试软件测试的主要目的是为了找出系统中的bug,测试方法主要分白盒测试和黑盒测试,白盒测试是通过产品内部逻辑,测试它的内部活动是否满足设计需求。黑盒测试把产品当做一个黑色盒子,通过输入输出来测试器功能的完成程度。这里我对系统做了一些简单的白盒测试。学生登录模块主要就是检测学生能否正常登陆。测试结果如表7-1所示。表7-1 学生登录模块模块名称输入预期结果实际结果测试人解决情况学生登录不输学号和密码,按“确定”按钮无法进入查询系统并出现“该账号不存在”提示无法进入查询系统并出现“该账号不存在”提示张进良好学生登录输错学号或是密码无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好学生登录输入对的学号和密码进入查询系统进入查询系统张进良好2、教师登录模块检测教师能否正常登录。测试结果如表7-2所示。表7-2 教师登录模块模块名称输入预期结果实际结果测试人解决情况教师登录不输工号和密码,按“确定”按钮无法进入查询系统并出现“该账号不存在”提示无法出线查询系统并出现“该账号不存在”提示张进良好教师登录输错工号或是密码无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”无法进入查询系统 账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好教师登录输入对的工号和密码进入查询系统进入查询系统张进良好模块名称输入预期结果实际结果测试人解决情况管理员管理模块检测添加学生教师信息和能够导入能否成功。测试结果如图表7-3所示。表7-3 管理员管理模块模块名称输入预期结果实际结果测试人解决情况添加教师信息不输教师信息点击导入无反应,没有被添加的教师名单信息出现无反应,没有被添加的教师名单信息出现张进良好添加教师信息输入教师信息点击导入添加成功的教师名单信息显示出来添加成功的教师名单信息显示出来张进良好添加学生信息不输学生信息点击导入无反应,没有被添加的学生名单信息出现无反应,没有被添加的学生名单信息出现张进良好添加学生信息输入学生信息点击导入添加成功的学生名单信息显示出来添加成功的学生名单信息显示出来张进良好4、学生和教师的管理模块主要检测的是添加的教师和学生能否正常删除。测试结果如表7-4所示。表7-4 学生和教师的管理模块模块名称操作预期结果实际结果测试人解决情况删除添加的教师点击删除删除成功该教师将不能通过账号密码登录系统删除成功该教师将不能通过账号密码登录系统张进良好7.4 总体测试模块测试完成后,将模块整合,然后对系统的整体功能做出测试,下面是给出详细的登录查询出勤信息过程测试。整体测试如表7-5所示。表7-5 总体测试模块模块名称操作预期结果实际结果测试人解决情况学生登录不输学号和密码,按“确定”按钮停留在登录界面出现“该账号不存在”提示停留在登录界面出现“该账号不存在”提示张进良好学生登录输错学号或是密码停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好学生登录输入对的学号和密码进入网站进入网站张进良好教师登录不输工号和密码,按“确定”按钮停留在登录界面出现“该账号不存在”提示停留在登录界面出现“该账号不存在”提示张进良好教师登录输错工号或是密码停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好教师登录输入对的学号和密码进入系统进入系统张进良好查找记录点击“查找记录”出现出勤信息记录出现出勤信息记录张进良好查找结束点击“切换账号”退出到登录界面退出到登录界面张进良好系统测试的目的在于查找错误,只有将错误找出修改掉系统才能完整的实现它的功能,或者发现一些需要改善的地方可以使自己的系统更加完美,所以测试是一定要有的。做完以上所有工作,这次的实验也就算完成了。结语在当今社会的大学里,学生的课堂考勤使学生成绩考核的一个重要部分,我所在的大学以及还有很多大学的考勤工作还是采用人工的喊到来考察到课学生,往往就要占据好几分钟的课堂时间来完成,而且也多多少少出现了一些帮没来同学喊到的行为,老师往往也不能认真注意发现,这就为考勤的真实可靠性以及便利性带来很大的麻烦,而我这次所研究的基于RFID的考勤系统就是针对这一情况采取的解决方法,利用现在校园都会使用的校园IC卡进行签到工作,进入教室将卡放在阅读器可以接收到的范围内便直接完成签到。这次的系统设计就是利用所学专业知识去实行的一个实践,主要利用RFID原理加上单片机和数据库的使用去实现的一个过程,也刚好借此机会将所学的知识进行整合贯通去实践运用,由于自己所学并不是很好很多知识区域欠缺理解使用所以做的相对困难,耗时比较久,但也因此给了自己一个学习的机会,通过查找资料,请教他人来理解了很多自己所欠缺的知识,也明白了一个道理我们大学里所学的很多知识很多实验都是不够牢记精通的,只有自己去实践去独立完成一个自己没有做过的实验设计才能从中真正去学习去掌握,这才是真正属于自己的。最后自己也是勉强完成了这次实验设计,其中可能还存在一些不足欠缺的地方也没有时间去进一步强化改善,希望老师能够谅解,在以后的生活或工作中,我也一定会更努力地去学习,通过更多的实践去锻炼自己,一次次进步完善将事情做的越来越好。参考文献[1]袁淮容,李璞,李嘉玮,朱闯.基于RFID技术辅助教学系统研究[J].科技资讯,2018,16(22):191-192.[2]郭建林.基于RFID技术的人员定位考勤信息系统的设计[J].电子测试,2018(19):68-69.[3]潘宏斌,林雨,余雯.基于RFID自动识别技术的校园考勤系统分析与研究[J].价值工程,2018,37(30):246-248.[4]陈卓.基于RFID的学生考勤管理系统设计[J].通讯世界,2018(08):296-297.[5]秦鹏,江山.基于RFID-SIM手机的智慧考勤系统设计[J].福建电脑,2018,34(07):32-33.[6]汪庆,俞磊,杜炜,张璐瑶.基于RFID的开放式实验考勤管理系统[J].重庆科技学院学报(自然科学版),2018,20(03):53-56.[7]姜苏英.改进防碰撞算法在RFID考勤系统中的应用研究[J].宝鸡文理学院学报(自然科学版),2018,38(02):85-90.[8]季丽萍.基于RFID和人脸识别考勤系统的设计与实现[J].佳木斯职业学院学报,2018(04):425-426.[9]刘飞. 基于RFID的校园学生管理系统的设计与实现[D].电子科技大学,2018.[10]李鹏. 基于RFID的武威职业学院考勤系统的研究与设计[D].兰州大学,2018.[11]巴音查汗.基于RFID技术的考勤系统设计[J].计算机产品与流通,2018(02):266.[12]刘欢. 基于RFID的中小型企业人员设备管理系统的设计与开发[D].西京学院,2017.[13]刘颖. 高中校园卡系统设计与实现[D].西南科技大学,2017.[14]熊海青.基于RFID的嵌入式智能宿舍考勤系统的设计[J].电子技术与软件工程,2017(16):192-193.[15]刘书成,胡立栓,刘景云,亓呈明,王育平.基于C/S与B/S相结合的企业员工考勤系统[J].物联网技术,2017,7(04):86-87+90.[16]姜伟,李胜.基于RFID远距离自动识别技术的校园考勤管理系统研究[J].长春师范大学学报,2017,36(04):43-46.[17]叶长亮,林金珠,李世强,孟李杨.基于RFID的教室考勤系统设计与实现[J].电脑编程技巧与维护,2017(08):36-37+57.[18]徐斌,包宋建,陈凡见,刘林,魏林.基于RFID技术的智能考勤系统设计[J].信息通信,2017(03):78-81.致谢本次实验花费将近两个月的时间去完成所有工作,我很感谢最后的这一次实践机会让我学到了更多重要的东西,也很感谢给与我帮助的老师和同学。很感谢我的指导老师对我的悉心指导,给与我的意见,审核通过我的毕业课题,尤其是在开题报告的时候还亲自打电话与我交流,给了我很多真切可靠的建议,让我能够在后面的实验设计实现时有一个清楚整体的思路,也节省了很多的时间和减少了弯路从而能够最后顺利地完成毕业设计。我一定会更加努力地去学习去整理自己地思路,去完善自己很多方面地不足。最后,对百忙之中评阅本论文并提出宝贵意见的老师们给出最诚挚的谢意!
目 录
and powerful to inspect and count the attendance information of students; greatly improving attendance rate and class efficiency. In addition,there is a system of inquiry management. Students can enter their account passwords through the login system to inquire about attendance information. Teachers can log in to their own account system to record and check all studentsattendance information. Administrators can manage students and teachersaccount passwords. In this way,the efficiency of attendance of students and teachers has been greatly improved. These inquiry information are automatically displayed on the screen and recorded in the background of the database system by the upper computer when the students come to the classroom for attendance. The system uses radio frequency card,LCD screen, PC, Access. database to complete a series of attendance process. Key words: Time Attendance; System Query Management; RF card; Host computer; Access database1.绪论 11.1 课题研究背景 11.2课题研究的意义和影响 11.3国内外的发展状况及应用 22.课题研究对社会人文、环境、法律的影响 33.系统开发环境与技术 43.1系统开发环境 43.2关键技术简介 44.系统设计 54.1.系统的功能设计 53.2.设计方案 55.系统的设计与实现 75.1.硬件部分的设计 75.1.1最小系统电路 84.1.2液晶显示电路 85.1.3 RC522通信电路 95.1.4蜂鸣器电路 105.1.5 按键电路 115.1.6 LED电路 115.1.7存储电路 125.1.8 电源供电 135.2软件部分的设计 135.2.1读卡程序 135.2.2注册程序 156.详细设计 176.1系统核心功能分析与设计 176.2系统流程 175.2.1学生部分 176.2.2教师部分 186.2.3管理员部分 196.3数据库分析与设计 196.4系统实现 216.5.1 IC卡检测模块 216.2.2 串口通信协议模块 216.3.3 数据库的密码修改功能 227.系统测试 237.1测试用例说明 237.2 测试环境 237.3 模块测试 237.4 总体测试 25结语 28参考文献 29致谢 301.绪论现今社会,考勤已经是检测一个学生出勤效率,考核成绩中必不可少的一部分,在实际考勤中我们能够明显地感觉到点名、签到这种考查学生出勤情况的麻烦,所以开始出现一系列的技术考勤系统来代替,例如IC卡考勤,指纹考勤,人脸识别考勤,而指纹和人脸是更后的技术更适用于大企业,而该实验所研究的基于RFID的考勤管理相对于人脸和指纹考勤成本低且简单易操作,适用于学校教室里对于学生的考勤。1.1 课题研究背景无论是企业还是学校,考勤都是考查员工或者学生出勤情况、整体成绩的一个必不可少的部分,从最初的点名签到到手机签到都比较麻烦浪费时间而且还会存在一小部分的作假,这就严重影响了考查效率,所以考勤管理是一个很重要的部分,而基于RFID的考勤系统用射频卡签到记录在这方面提高了考勤效率,只要从教室门口进入在阅读器感应范围里就能自动与射频卡标签进行接收反应再传输录入信息并转至数据库中,也就省了很多人工的麻烦,并且老师还能通过系统直接查看出勤情况信息,省事方便。1.2课题研究的意义和影响在以往,学生的考勤工作都得由任课老师自己去完成,每次在点名上就要耗费一些时间,而且还会有学生通过一些办法手段蒙混过关,这就对考勤考核带来了很多的麻烦,不能达到想有的准确性和效率,因此就需要一个高效的考勤系统来完成考勤这一部分的工作。随着计算机以及电子技术的发展,很多企业和学校也都意识到了如果使用一个自动的考勤系统来代替人工的考勤,那么将为企业和学校带来更大的便利和效率,各种运用科技而做出的考勤系统也就应运而生,而RFID射频识别技术就是其中发展和技术都较好的一种。RFID射频识别技术是一种非接触式的自动识别技术,在不需要人为看管以及很多情况下都能运行使用识别对应的射频卡来确定信息,并且RFID识别技术可识别高速运动物体并可同时识别多个标签,操作快捷方便,这些优势使RFID有了广阔的发展空间。而本实验设计是基于RFID卡的身份识别考勤系统,教室里放置阅读器,液晶显示屏,当接受到进入的学生的射频卡并确定出勤学生信息,而该系统不仅为老师提供当下实时的考勤信息,通过系统界面登录老师可以随时了解所有学生出勤信息,查看学生出勤次数这样就能及时找学生了解相关情况并提醒学生做好出勤工作,这就不仅增加了老师的考勤效率还能提高学生的出勤效率,学生也将更加严格自己,做好学习工作。1.3国内外的发展状况及应用在国内,从1994年在国内首次应用RFID技术至今已有二十余年,各方面都有了长足的进步和发展。国内对于低高频的发展较早也较为成熟,但在超高频技术方面就相对弱势,与其他一些国家竞争不过,所以希望有更多企业可以发展和提高这方面的技术使用,因为在未来的这一些年里RFID技术仍然是一个大的发展方向。我国在RFID技术上的运用已经有了一部分发展,我国最初最有影响的一次运用就是将RFID技术用于我国二代身份证,通过身份证确定每个人的身份以及了解其的个人信息,这就在很多方面都有了保障,凭此出行也变得更为直接方便。RFID也已经用于校园一卡通的部分,但也只是实现了食堂消费、超市消费、图书馆刷卡等一系列功能,而门禁、考勤管理并没有普遍运用,所以需要去加入这部分功能,这样在校师生将可以凭借一张校园卡就解决了所有的问题,这将会实现真正的校园一卡通,这会更具意义。国外对于RFID技术发展最好就是美国了,在RFID关键技术这些方面,无论是芯片、RFID中间件、系统集成研究RFID标签、天线、读写器等产品欧美国家几乎占据了主导地位,欧洲也是追随美国采用的是EPCglobal标准,该标准在RFID标准制定的速度、深度和广度方面都非常出色,受到全球广泛地关注。那些著名的商业巨头通过该优势垄断了一大片市场,并且还得到国家政府的支持,因此这也就有了更大的推动力。2.课题研究对社会人文、环境、法律的影响当下不管是企业还是学校都需要一套完整的考核体系并以此对人员做出一个定义和判断,人员的出勤考察是其中的重要一项,并且也能通过人员的出勤情况来审视一个企业、一个学校的风气,往往这种风气也会影响一个整体。所以这部分的内容更是值得重视,而科技的发展使得考勤有了一个更大的改善,那就是使用一套自动考勤系统,考勤系统逐渐成为一个被广泛运用到企业、学校的一个考察人员出勤、缺勤情况的有效手段。此课题研究的基于RFID的考勤系统便是其中一种,尤其在当下学校普遍使用校园卡一卡通,但也只是实现了食堂消费、超市消费、图书馆刷卡等一系列功能,因此在此基础上加入考勤系统的使用便能够使学校的一卡通体系更加完善,不存在侥幸心理老师会不会点名或者什么时候点名,很大的方便了老师课上对学生的签到工作,不仅节省了时间并且有了更高的效率,为学生课堂创造了良好的环境,学生对上课的态度得到了很好的提升,大家都严格遵守号学校的法律法规,学习的氛围也更好,学校的风气也得到了更好的改善。企业也是如此,考勤系统的使用将会给社会都带来便利,有监督的作用,使人们更加恪守几任,自然而然地形成良好的风气。这套系统也是比较安全可靠的,成本也相对于其他考勤系统较低,值得用于学校对于学生的考勤。3.系统开发环境与技术3.1系统开发环境操作系统window10上位机vs2012编程语言C++数据库Access3.2关键技术简介该系统主要分为上位机和数据库的编写。上位机是使用APP软件用VC++来写的,因为它是微软公司的C++开发工具,具有集成开发环境,微软公司在C++的基础上提供了一些Windows图形界面函数库,还能除错,所以更方便来写。而登录系统部分采用Access作为后台的数据库,同时也用到SQL语言编写。Access是微软的数据库管理系统,所以也具有微软提供的特殊功能优越性。VC++简介VC++是微软公司的C++开发工具,具有集成开发环境,可以提供编辑C语言,C++以及C++/CLI等编程语言。V++还可以有除错功能,用户可以进行远程调试,单步执行等,并且调试期间用户还能在不用重启正在调试的程序的情况下重新编译被修改的代码。4.系统设计4.1.系统的功能设计以STC89C52单片机为核心器件,结合按键电路、RC522刷卡模块模块、液晶显示屏、声光报警电路、掉电保存电路,利用单片机灵活的编程设计和丰富的I/O端口,及其控制的准确性通过软件程序来控制整个系统实现考勤系统的以下基本功能?可以对IC卡进行注册和注销;注册过的IC卡进行签到时,可以显示对应的信息;只有注册过的IC卡才有效;可以有简单的声光报警电路;/图4.1 系统方框图3.2.设计方案目前,学生上课出勤信息都是通过任课老师手工记录和统计的。每次课都要进行,一学期的信心两工作量非常大,而且还会存在信息错误,可能是学生的蒙混或者老师记录的差错,所以为了方便老师也能准确获取数据的准确性,考勤系统将采用计算机管理,系统将实现调查课程出勤管理的模式和流程,实现不同科目、不同课程性质的出勤管理,完成课堂出勤考核,出勤信息自动录入后台,老师能够查到每位同学的相关课程出勤信息情况,同时学生自己也能了解自己每个课程的出勤情况,并能够做出及时调整或者与老师沟通。设计出系统登陆模块,系统登陆模块是用户登录系统时使用的模块。用户在登录界面输入用户名和密码后,和系统数据库进行比较确认,如果用户名和密码和保存的数据一致,则此用户便可进入系统主界面继续进行操作,如果用户名或密码错误,则系统会显示对应的问题错误提示,用户需再次输入,直到输入正确才能进入自己的系统进行相关查询或者统计操作。 系统用户分为三类1、管理员 管理员可以对系统信息进行管理与维护,能够管理学生和老师信息,将学生出勤情况进行记录统计,反馈到学生和老师的登录系统内。2、教师 教师进行身份登录后,可以查看所有学生的出勤次数情况,统计学生出勤次数,每一次还有其对应的日期时间,哪怕是迟到也能清楚知道。3、学生 学生在注册号登录学号密码可以进入查看自己的考勤信息,能知道自己完成了多少次出勤。本系统通过数据库的运用,用Access做为后台数据库,上位机需要管理各下位机终端的ID,为其进行统一编址;收集各RFID卡片读写器终端的地址、设备类型等数据,并将各个数据进行存档、统计,以供管理员操作。在教室门口处放置一个阅读器液晶显示屏,当带有射频卡标签的人进入时刚好在阅读器感应的范围内能够接收到其发出的响应信号,当读写器读到RFID卡的读写通信,首先液晶显示屏上会显示该出勤学生信息情况,并且同时该学生数据库出勤时间及信息显示出来。5.系统的设计与实现完成一个完整的考勤系统就需要完成单片机的模块设计拼接,完成它的代码编写。5.1.硬件部分的设计整个硬件系统由阅读器部分和IC卡组成,下图便是考勤系统里阅读器的电路图/5.1电路图整个单片机系统一共由五个模块组成,分别是射频刷卡模块,液晶屏显示模块、串口通信模块、报警提示模块、时间芯片模块。以下是各个部分模块的原理图/5.2 系统模块的原理图5.1.1最小系统电路/图5.3 最小系统电路单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路。是整个设计系统中最基本的也是最简单的电路,只有简简单单的几个元件,2个电容和一个晶振连接单片机的XTAL1和XTAL2引脚,而一个电阻和一个电解电容连着单片机的复位引脚,看似这个电路非常简单,但这也关系着整个软件系统能不能正常工作,只有这个电路正常了,其他电路才有可能继续执行下去。单片机复位电路有2种,一种是上电复位,一种是手动复位。单片机正常供电为直接5V,工作时RST复位引脚为低电平,手册上面说明只要单片机的复位脚超过2个机器周期的高电平,单片机就可以正常复位,所以按下复位按键,单片机复位。本设计中采用上电自动复位电路。4.1.2液晶显示电路液晶12864可以显示4行,每一行可以显示8个汉字,共可以显示32个汉字,对应这个系统来说,是足够的,一般出现不够行的情况下,大都是采用切换到第二个节目显示的方法;12864液晶跟单片机的通信方式有两种,一种是并行 ,一种是串行,对于串行来说,电路是比较简单不需要那么多的IO口,只需要两个IO就行,一发一收,但速率就比并行比较慢,而并行由于8个IO一起发送数据,因此要比较快,对于显示刷新频率要求不高的话,可以考虑用串行方式,毕竟电路简单,IO少,而本次的设计过程中采用的是串行行方式,跟LCD液晶的通信端只需要用到2个IO口,简单方便。/图5.4 液晶12864电路图5.1.3 RC522通信电路本设计中采用的非接触式刷卡模块RC522,该模块采用的供电电压是3.3V,和单片机通信的是SPI接口,用到了单片机的5个IO口,模块的IRQ中断引脚没有用到。单片机要对卡片进行操作必须和RC522模块完成个步骤,分别是寻卡,防冲突,选卡,读写操作。/图5.5 RC522通信电路5.1.4蜂鸣器电路/图5.6 蜂鸣器驱动电路采用的是直流电压5V供电的有源蜂鸣器,但是一般的蜂鸣器在整个系统运行中需要比较大的电流,51单片机的IO口除了P0口外其他的都有一个弱上拉电阻,但IO的驱动电流也是非常低,不加外部的驱动电路是很难直接驱动的。而最常用的就是用普通的三极管来放大电流驱动,该三极管在电路中的作用是开关电路并且放大电流,本设计中采用三极管S8550作为驱动,当P37低电平时,三极管导通,蜂鸣器响;当P37高电平时,三极管截止,蜂鸣器不响。报警提醒电路如图所示。5.1.5 按键电路设计中有注册卡片、注销卡片等功能,这些功能的切换都是通过按键来实现的,按键一般有独立按键,矩阵键盘等,由于本次涉及到的按键不需要很多个,因此采用独立按键的形式,简单方便易操作,而按键电路用的是直接练到单片机的IO上面,通过对该IO口电平读取不同的值来区别按下还是弹开。采用的是机械式按键,所以在按下的过程中会有电压毛刺干扰,为了防止误触发按键,一般电路中加入消抖处理,有硬件消抖和软件消抖,考虑到简单实用,本设计采用10MS的延时来代替消抖动作。/图5.7 按键电路5.1.6 LED电路LED作为电子电路中最常用的指示作用,LED作为二极管的一个最典型元件,其两端也是有一个压降,一般1.3V左右,根据电子知识,只要在两端上有超过这个的压降,二极管就导通,为了保险起见,可以在单片机的IO口接上一个限流电阻,不至于上电时容易烧坏。当单片机的P35高电平的时候,LED灯就亮,反过来,当为低电平的时候,LED灯就灭。/图5.8 LED电路5.1.7存储电路卡号需要实现掉电保存,一开始用单片机自带的EEPROM来保存,但是查看手册后发现,每次写数据之前必须将整一个去的数据擦除才能写成功,这样下来,也就是得每次把这一区的数据读出来,再执行擦除,最后执行写操作,很明显这样,执行起来是非常耗时间而且是很麻烦的,所以采用AT24C02芯片来保存卡号。AT24C02采用标准的IIC通信协议,单片机没有具体的硬件IIC,所以通常在设计中使用两个IO口来模拟SDA和SCL两个引脚,通过模拟的IIC来实现通信。/图5.9 存储电路5.1.8 电源供电本系统采用的是USB供电,51单片机的电压是直流5V,而RC522模块需要的是3.3V电压,所以需要在电路中进行电平转换,在硬件中加入一个1117-3.3电压转换芯片,5V给单片机供电,而5V经过转换芯片出来的3.3V电压给RC522刷卡模块供电。/图5.10 电源供电电路5.2软件部分的设计5.2.1读卡程序/图5.11 读卡流程图/图5.12 读卡流程代码在读取IC卡的过程中,首先单片机要进行一个寻卡操作,在天线内寻找没有进入睡眠状态的卡,接着要对卡片进行一个防碰撞操作,接着就要对卡片进行一个选卡操作,这样才可以选中某一张卡,选中卡片最后就要对卡片进行一个秘密验证。5.2.2注册程序/图5.13 注册流程图/图5.14注册流程代码系统设计中只有对于注册的卡片才可以进行刷卡签到,未注册的卡片无效。注册时单片机将卡片A区默认的密码重新修改成指定密码,而当注销卡片时又让密码改成默认的密码,这样就可以区分是否注册过。6.详细设计6.1系统核心功能分析与设计该系统主要分为上位机设计和数据库后台设计。上位机主要完成读写器与应答器之间的信息交互,读写器感应到范围内的电子标签发出的某一频率的信号,读取信息后送给应用程序处理然后在液晶屏上显示,单片机解析读取后的信息再反馈给数据库后台系统,数据库部分的信息便产生了。识别用户单片机一直在检测IC卡片,当有IC卡靠近时,单片机获取到卡号,发送给APP,单片机发送“卡号1”APP收到“卡号1”后,从数据库里面去搜索,如何搜索有对应的卡号,则该卡号是有效的发送“OK信息”并保存用户信息到数据库中,无效则发送“Error”单片机收到“OK信息”,显示出对应的用户信息,收到“Error”,提升“IC卡无效”添加用户APP填写正确的用户信息后(用户信息不能为空,会有提示;学号不能重复,会有提示),发送“Great”给单片机单片机收到“Great”后显示“刷卡注册”,单片机读取到卡号后,发送“卡号G”;APP收到“卡号G”判断该卡号是否可以注册,如果可以注册,发送“OK1”,不可以注册,发送“Error1”单片机收到“Error1”后提示“IC卡无效”,收到“OK1”后提示“IC卡注册成功”,并且发送“卡号H”6.2系统流程系统流程图主让我们直观地看到学生、教师、管理员三部分系统模块的操作流程,以及如何正确继续后面的操作。5.2.1学生部分该部分是学生在进行登录系统查询时的流程,要如何操作才能正确进入查询自己的出勤信息。流程图如图所示。/图6.1 学生模块流程图学生进入登录界面通过账号和原始密码登录,进入后可以修改密码,学生可以查询自己的出勤记录情况。6.2.2教师部分以下部分是教师的操作流程,流程图如图所示。/图6.2 教师模块流程图老师先注册好自己的账号密码,通过输入正确的账号密码进入内部系统界面查看所有学生的出勤信息情况,并可以进行统计。6.2.3管理员部分以下部分是管理员的操作流程,流程图如图所示。/图6.3 管理员模块流程图管理员可以直接进入系统添加教师和学生信息,可以导入教师和学生信息,只有管理员添加过的学生和教师才可以根据自己的学号和教工号进行登录。6.3数据库分析与设计根据数据库概念设计,可以创建与实体对应的数据表,创建数据表后,还可以为相关的数据表创建关系。1.学生信息表学生信息表用来保存学生信息。学生信息由学号、姓名、班级、IC卡号、密码等属性组成。该表结构如表6-1所示。表6-1 学生信息表(student)字段名数据类型描述stu_idvarchar(15)学号stu_namevarchar(15)姓名stu_classvarchar(20)班级IC card numbervarchar(15)IC卡号Password varchar(15)密码代码设计 static CString Table3 = _T("CREATE TABLE Table3(学号 VARCHAR(15),姓名 VARCHAR(15),密码 VARCHAR(15),班级 VARCHAR(20),IC卡号 VARCHAR(15))");2.出勤信息记录表学生出勤信息记录表用来保存考生成绩。成绩信息是由学生学号、学生姓名、班级、IC卡号、时间等属性组成。出勤信息记录表的结构如表6-2所示。表6-2 学生出勤信息记录表字段名数据类型描述idint(11)学号nameVarchar(255)姓名classint(11)班级IC card numberInt(11)IC卡号timeVarchar(255)时间代码设计static CString Table4 = _T("CREATE TABLE Table4(学号 VARCHAR(15),姓名 VARCHAR(20),班级 VARCHAR(15),IC卡号 VARCHAR(15),时间 VARCHAR(80))");3.教师信息表教师信息表用来保存管理员信息,教师信息由工号、教师姓名、班级等属性组成。教师信息表的结构如表6-3所示。表6-3 教师信息表(teacher)字段名数据类型描述teac_idint(15)工号teac_nameVarchar(15)教师姓名classVarcahr(15)班级Password Varcahr(15)密码代码设计static CString Table2 = _T("CREATE TABLE Table2(工号 VARCHAR(15),姓名 VARCHAR(15),密码 VARCHAR(15),班级 VARCHAR(15))");//教师账号表4.管理员信息表管理员信息表用来保存管理员信息,管理员信息由ID编号、用户名、密码等属性组成。管理员信息表的结构如表6-4所示。表6-4 管理员信息表(admin)字段名数据类型描述Idint(25)ID号自动生成usernameVarchar(15)用户名passwpordVarcahr(15)密码代码设计static CString Table1 = _T("CREATE TABLE Table1(账号 VARCHAR(15),密码 VARCHAR(15))");//管理员账号表6.4系统实现本章主要介绍在线考试系统的实现过程,不同层次采用不同技术实现。6.5.1 IC卡检测模块/图6.4 IC卡检测代码6.2.2 串口通信协议模块按照液晶的串口通信协议,发送数据/图6.5液晶的串口通信协议代码6.3.3 数据库的密码修改功能/图6.6密码修改功能代码7.系统测试做任何一个系统或实验完成后就必定要少不了测试,测试就是为了检验出系统中可能存在的错误bug,一旦不检测出来将出现各种问题,所以只有严格去进行测试去完善才能做好一个完整的合格的系统。7.1测试用例说明系统实现分为两部分,上位机模块的编码以及数据库的设计,对系统进行测试分为两个时期。模块测试时期模块部分一共分为五个模块的编码,分别是射频刷卡模块,液晶屏显示模块、串口通信模块、报警提示模块、时间芯片模块。检查模块的拼接以及对应的代码编写逐次运行测试排错,不影响到整体。查看代码中的数据类型、结构,变量是否用的正确,检测是否达到自己要的功能,能够体现出该模块所要呈现出的性能,整合排查出所有问题进行修改完善达到最后的要求。整体测试期整体测试是在系统开发完成后对其进行整体完整的测试。本系统测试就是将测试完已经检测改好的各个模块从主控模块顺次整合到一起进行整体的运行观察效果或还有可能出现的问题,确保程序的可靠性。7.2 测试环境测试该系统的软件环境如下操作系统Windows 10数据库Access开发工具vs2012 APP7.3 模块测试软件测试的主要目的是为了找出系统中的bug,测试方法主要分白盒测试和黑盒测试,白盒测试是通过产品内部逻辑,测试它的内部活动是否满足设计需求。黑盒测试把产品当做一个黑色盒子,通过输入输出来测试器功能的完成程度。这里我对系统做了一些简单的白盒测试。学生登录模块主要就是检测学生能否正常登陆。测试结果如表7-1所示。表7-1 学生登录模块模块名称输入预期结果实际结果测试人解决情况学生登录不输学号和密码,按“确定”按钮无法进入查询系统并出现“该账号不存在”提示无法进入查询系统并出现“该账号不存在”提示张进良好学生登录输错学号或是密码无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好学生登录输入对的学号和密码进入查询系统进入查询系统张进良好2、教师登录模块检测教师能否正常登录。测试结果如表7-2所示。表7-2 教师登录模块模块名称输入预期结果实际结果测试人解决情况教师登录不输工号和密码,按“确定”按钮无法进入查询系统并出现“该账号不存在”提示无法出线查询系统并出现“该账号不存在”提示张进良好教师登录输错工号或是密码无法进入查询系统账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”无法进入查询系统 账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好教师登录输入对的工号和密码进入查询系统进入查询系统张进良好模块名称输入预期结果实际结果测试人解决情况管理员管理模块检测添加学生教师信息和能够导入能否成功。测试结果如图表7-3所示。表7-3 管理员管理模块模块名称输入预期结果实际结果测试人解决情况添加教师信息不输教师信息点击导入无反应,没有被添加的教师名单信息出现无反应,没有被添加的教师名单信息出现张进良好添加教师信息输入教师信息点击导入添加成功的教师名单信息显示出来添加成功的教师名单信息显示出来张进良好添加学生信息不输学生信息点击导入无反应,没有被添加的学生名单信息出现无反应,没有被添加的学生名单信息出现张进良好添加学生信息输入学生信息点击导入添加成功的学生名单信息显示出来添加成功的学生名单信息显示出来张进良好4、学生和教师的管理模块主要检测的是添加的教师和学生能否正常删除。测试结果如表7-4所示。表7-4 学生和教师的管理模块模块名称操作预期结果实际结果测试人解决情况删除添加的教师点击删除删除成功该教师将不能通过账号密码登录系统删除成功该教师将不能通过账号密码登录系统张进良好7.4 总体测试模块测试完成后,将模块整合,然后对系统的整体功能做出测试,下面是给出详细的登录查询出勤信息过程测试。整体测试如表7-5所示。表7-5 总体测试模块模块名称操作预期结果实际结果测试人解决情况学生登录不输学号和密码,按“确定”按钮停留在登录界面出现“该账号不存在”提示停留在登录界面出现“该账号不存在”提示张进良好学生登录输错学号或是密码停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好学生登录输入对的学号和密码进入网站进入网站张进良好教师登录不输工号和密码,按“确定”按钮停留在登录界面出现“该账号不存在”提示停留在登录界面出现“该账号不存在”提示张进良好教师登录输错工号或是密码停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”停留在登录界面账号错误则提示“该账号不存在”密码错误则提示“密码错误,请重试”张进良好教师登录输入对的学号和密码进入系统进入系统张进良好查找记录点击“查找记录”出现出勤信息记录出现出勤信息记录张进良好查找结束点击“切换账号”退出到登录界面退出到登录界面张进良好系统测试的目的在于查找错误,只有将错误找出修改掉系统才能完整的实现它的功能,或者发现一些需要改善的地方可以使自己的系统更加完美,所以测试是一定要有的。做完以上所有工作,这次的实验也就算完成了。结语在当今社会的大学里,学生的课堂考勤使学生成绩考核的一个重要部分,我所在的大学以及还有很多大学的考勤工作还是采用人工的喊到来考察到课学生,往往就要占据好几分钟的课堂时间来完成,而且也多多少少出现了一些帮没来同学喊到的行为,老师往往也不能认真注意发现,这就为考勤的真实可靠性以及便利性带来很大的麻烦,而我这次所研究的基于RFID的考勤系统就是针对这一情况采取的解决方法,利用现在校园都会使用的校园IC卡进行签到工作,进入教室将卡放在阅读器可以接收到的范围内便直接完成签到。这次的系统设计就是利用所学专业知识去实行的一个实践,主要利用RFID原理加上单片机和数据库的使用去实现的一个过程,也刚好借此机会将所学的知识进行整合贯通去实践运用,由于自己所学并不是很好很多知识区域欠缺理解使用所以做的相对困难,耗时比较久,但也因此给了自己一个学习的机会,通过查找资料,请教他人来理解了很多自己所欠缺的知识,也明白了一个道理我们大学里所学的很多知识很多实验都是不够牢记精通的,只有自己去实践去独立完成一个自己没有做过的实验设计才能从中真正去学习去掌握,这才是真正属于自己的。最后自己也是勉强完成了这次实验设计,其中可能还存在一些不足欠缺的地方也没有时间去进一步强化改善,希望老师能够谅解,在以后的生活或工作中,我也一定会更努力地去学习,通过更多的实践去锻炼自己,一次次进步完善将事情做的越来越好。参考文献[1]袁淮容,李璞,李嘉玮,朱闯.基于RFID技术辅助教学系统研究[J].科技资讯,2018,16(22):191-192.[2]郭建林.基于RFID技术的人员定位考勤信息系统的设计[J].电子测试,2018(19):68-69.[3]潘宏斌,林雨,余雯.基于RFID自动识别技术的校园考勤系统分析与研究[J].价值工程,2018,37(30):246-248.[4]陈卓.基于RFID的学生考勤管理系统设计[J].通讯世界,2018(08):296-297.[5]秦鹏,江山.基于RFID-SIM手机的智慧考勤系统设计[J].福建电脑,2018,34(07):32-33.[6]汪庆,俞磊,杜炜,张璐瑶.基于RFID的开放式实验考勤管理系统[J].重庆科技学院学报(自然科学版),2018,20(03):53-56.[7]姜苏英.改进防碰撞算法在RFID考勤系统中的应用研究[J].宝鸡文理学院学报(自然科学版),2018,38(02):85-90.[8]季丽萍.基于RFID和人脸识别考勤系统的设计与实现[J].佳木斯职业学院学报,2018(04):425-426.[9]刘飞. 基于RFID的校园学生管理系统的设计与实现[D].电子科技大学,2018.[10]李鹏. 基于RFID的武威职业学院考勤系统的研究与设计[D].兰州大学,2018.[11]巴音查汗.基于RFID技术的考勤系统设计[J].计算机产品与流通,2018(02):266.[12]刘欢. 基于RFID的中小型企业人员设备管理系统的设计与开发[D].西京学院,2017.[13]刘颖. 高中校园卡系统设计与实现[D].西南科技大学,2017.[14]熊海青.基于RFID的嵌入式智能宿舍考勤系统的设计[J].电子技术与软件工程,2017(16):192-193.[15]刘书成,胡立栓,刘景云,亓呈明,王育平.基于C/S与B/S相结合的企业员工考勤系统[J].物联网技术,2017,7(04):86-87+90.[16]姜伟,李胜.基于RFID远距离自动识别技术的校园考勤管理系统研究[J].长春师范大学学报,2017,36(04):43-46.[17]叶长亮,林金珠,李世强,孟李杨.基于RFID的教室考勤系统设计与实现[J].电脑编程技巧与维护,2017(08):36-37+57.[18]徐斌,包宋建,陈凡见,刘林,魏林.基于RFID技术的智能考勤系统设计[J].信息通信,2017(03):78-81.致谢本次实验花费将近两个月的时间去完成所有工作,我很感谢最后的这一次实践机会让我学到了更多重要的东西,也很感谢给与我帮助的老师和同学。很感谢我的指导老师对我的悉心指导,给与我的意见,审核通过我的毕业课题,尤其是在开题报告的时候还亲自打电话与我交流,给了我很多真切可靠的建议,让我能够在后面的实验设计实现时有一个清楚整体的思路,也节省了很多的时间和减少了弯路从而能够最后顺利地完成毕业设计。我一定会更加努力地去学习去整理自己地思路,去完善自己很多方面地不足。最后,对百忙之中评阅本论文并提出宝贵意见的老师们给出最诚挚的谢意!
目 录
版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jsj/wlw/203.html