SCI论文(www.lunwensci.com):
摘要:课堂考勤是高校维护教学秩序、提高教学质量普遍采用的一种方式。针对传统考勤方式需要占用大量时间的问题,基于免费开源教学管理Moodle平台,利用WiFi探针技术设计实现了基于Moodle的考勤系统。实践表明该系统具有高效、实时、全时和无感知等优点,为学生考勤提供了一种新的解决方案。
关键词:无感考勤;Moodle;WiFi探针
本文引用格式:赵学龙,等.基于WiFi探针的无感课堂考勤系统研究与实践[J].教育现代化,2019,6(77):163-167.
An Auto-attendance System based on WiFi Probe
ZHAO Xue-long,XIAO Zhuang,ZHONG Yi,LU Jian-feng
(School of Computer Science and Engineering,Nanjing University of Science and Technology,Nanjing Jiangsu)
Abstract:Attendance rate is widely used in colleges and universities to maintain the order of teaching and improve the quality of education.In order to solve the problem of time occupied by traditional method,a new attendance system,which is based on the open-source learning platform Moodle and the WiFi probe technology is designed.The system has the advantages of high efficiency,real-time,secure,and automatic nature,thus it provides a new method to record students’attendance.
Key words:Automatic attendance;Moodle;WiFi probe
考勤是高校教学活动中的一项重要内容,有效的考勤可以加强学生管理,及时发现教学中存在的问题,有助于培养和锻炼人才。2018年8月,教育部印发的《教育部关于狠抓新时代全国高等学校本科教育工作会议精神落实的通知》中明确提到,要加强课堂教学管理,严抓、严管教学秩序[1],学生出勤率作为课堂管理中的重要组成部分,必需加以重视。
由于传统的点名考勤方式每次都会耗费大量时间,且无法解决点名后学生才到课的局限。随着信息技术的发展,越来越多的现代考勤方式涌现出来[2]。主要有两类:一类如校园卡、RFID射频卡、指纹识别、二维码等技术。这些考勤方式在管理上比传统点名方式先进,但是仍然存在成本高昂和耗时费力的缺点。
另外一类考勤方法是基于无线设备的考勤,如蓝牙和WiFi考勤。此类可以做到实时采集,不仅解决了考勤耗费时间的问题,并且可以做到从上课到下课全时无感知监测,是目前考勤的重要方式。由于WiFi与蓝牙相比具有传输距离远、检测效率高的优势[3],因此本研究采用学生手机的WiFi信号作为身份凭据,利用在校园内部署的WiFi探针采集学生的无线请求信号,基于Moodle开源教学管理平台开发了一款自动考勤系统。
一 系统使用的关键技术
(一)Moodle平台
Moodle(Modular Object-Oriented Dynamic Learning Environment)作为一款著名的免费开源教学管理平台,功能强大并且允许开发者在其基础上进行类别丰富的二次开发。经过近二十年的发展,Moodle系统在全球227个国家和地区的106846个站点已经拥有超过1亿5千万用户[4]。
(二)WiFi探针原理
WiFi探针是一种能自动接收一定范围内WiFi设备终端信号的装置,通过识别WiFi信号帧中的MAC地址(物理地址),以此用作身份认证凭据并将其发送到服务器,实现身份的判别。
二系统设计
(一)系统功能设计
结合实际教学环境对需求进行分析,将系统分为教师端与学生端两个功能模块,系统功能如图1所示。
(1)教师端模块功能
教师模块主要用于设置考勤基本信息与查看考勤信息。
①考勤设置
教师可在此页面设置考勤的基本参数,包括课程持续时间、考勤探针的MAC地址等。
②上课时间设定
教师可在此页面设置详细的上课时间,该时间以周为单位循环,与实际教学节奏吻合。
③实时监控
教师可在此页面查看当前到课的学生名单,上课时可用此页面确定某学生是否到课。
④查看报表
教师可查看考勤报表,了解目前为止的考勤状况。
⑤修改记录
教师可以修改考勤记录。学生绑定MAC地址后不可修改,教师可以对其进行更改。
⑥导出考勤表
教师可导出当前课程的Excel考勤表,包含所有的考勤记录。
(2)学生端模块功能
①绑定MAC地址
使用系统进行考勤前,需要学生绑定自己设备的MAC地址。学生绑定后不可修改,防止学生随意更改,临时使用其他设备顶替考勤。如果需要更改需要联系教师进行修改。
②查看考勤记录
学生可登录Moodle查看当前课程所有的考勤记录,如果发现问题,可联系教师进行更改。
(二)系统总体结构
本系统借助Moodle平台提供的课程、用户、权限等管理功能作为后台,利用WiFi探针作前台数据采集设备,在Moodle平台中采用PHP语言实现数据接收和处理等核心功能。系统后台的总体的结构如图2所示。
本考勤系统可以分为业务处理、计划任务(图2中Cron部分)和核心渲染器三个部分,分别负责核心业务、探针数据处理以及页面显示。
本系统通过Moodle计划任务启动UDP监听器,收集探针数据,同时对数据进行预处理,监听结束时,启动分析器对数据进行分析,并将结果写入MariaDB数据库。业务处理层负责渲染器所需要的数据,并完成大部分的数据库操作。Moodle核心渲染器仅用于在页面输出结果,其数据全部由业务层提供。最终用户只需要通过浏览器访问网站即可获得考勤结果。
(三)系统运行流程
系统总体运行流程如图3所示,系统采用Moodle核心渲染器进行页面内容的显示,使用Moodle API进行页面布局的编程,每一个页面对应一个PHP文件。导航类的作用是组织整个系统的页面,主要负责跳转工作。所有的页面需要在导航类与Page Structure对应的类中进行注册,只有注册过的页面才会被显示,页面由导航类统一导航,生成URL访问指定页面。页面被访问时,首先根据Moodle API要求对页面进行初始化,获取course module、course、context等必须获得的参数,之后对页面参数进行设置。除了基本的设置之外,为了满足逻辑需要,需要设置Page Structure,随后依据上下文(context)进行二次权限验证,权限验证失败则根据失败的种类,由Moodle或是导航类跳转到对应的页面。如果有渲染需求,则需要在页面初始化渲染组件,如果有表单需求,则需要生成表单对象,如果检测到了导航类或是表单提交的数据,则需要对数据进行处理。数据全部初始化或者处理完毕之后,由核心渲染器或是表单输出进行页面显示,如果在页面中进行了下一步的操作,则继续由导航类进行页面重定向与参数传递。
系统实现了显示与逻辑的分离,在页面初始化时进行数据处理,准备需要显示的数据或表单,全部完成之后将数据交给核心渲染器进行显示。其中用到的所有的函数均在核心库中进行定义与实现,需要对业务逻辑进行更改时,只需要修改渲染器组件中对应的函数调用。核心库中主要为增删改查函数及少部分功能性函数。渲染器中则为一些前端显示方面的代码,继承Moodle插件基础渲染器,页面详细的显示效果全部在此定义。
数据处理流程如图4所示,后台计划的作用主要是端口监听与处理探针数据。按照计划任务格式定义后,Moodle会在相应的时间点调用定义中指明的任务类。由于Moodle后台计划任务为单线程阻塞模式,一个脚本未完成工作会阻碍后续脚本的正常运行,因此为了保障其他后台计划任务的正常运行,监听工作是分段的,默认设置为每分钟工作30秒。当前有课程正在进行时监听器工作,无课程时分析器会分析之前监听器接收的数据。
(四)数据库设计
为了满足系统的运行,并且尽量降低数据库I/O,共设计了5个表,图5给出了数据库的总体设计。其中以“mdl”开头的为系统自带表,以“wifisign”前缀的为系统自身的表,为了清晰的显示出各个表之间的关系,图中省略或合并了部分非常用或类似的字段。
wifisign表为系统同名表,是Moodle API要求的必须存在的表,系统作为活动被添加进课程时,相关的信息会强制存储在此表,即同名表记录了系统下所有的活动实例信息。wifisign_macaddr表用于记录学生绑定的MAC地址,wifisign_attendance_data表用于记录每一节课的考勤汇总结果,wifisign_attendance_log表主要记录学生详细的考勤日志,即分析器分析后的初步结果,wifisign_class_time表用于记录系统每个活动的时间,即具体的上课时间。
三 系统应用实践
教师在Moodle平台将本系统作为活动添加进课程,并设置好课程信息及上课时间,学生需要登录系统绑定考勤设备的MAC地址。
教师以周为单位设置上课时间如图6所示,系统后台根据设定的时间进行监听。
考勤统计(如图7所示)用于显示当前课程每一次考勤的统计结果。考勤结果由后台计划任务在考勤结束后进行统计,随后将结果写入数据库,页面显示时只需要取得相应的数据并加以显示即可。页面打印表格时使用Moodle output API,可以保证页面与Moodle平台的风格统一。
考勤详情显示一节课的详细出勤情况(如图8所示)。教师可以手动调整出勤状态。
学生列表显示课程下所有学生的考勤统计结果(如图9所示),教师可以直观地了解每个学生的出勤率。
系统会读取探针数据日志中的条目,筛选本课程所属的学生MAC地址,根据时间戳实时动态显示当前到课学生的名单,结果如图10所示。
学生随时可以在系统的学生面板中查看自己的考勤记录,未绑定MAC地址时,可在设置MAC页面进行绑定,绑定后不可更改,如图11所示。
四总结与展望
本研究基于WiFi探针技术,通过获取手机MAC地址作为身份凭证,借助Moodle的强大管理功能,实现了全程无感知的实时考勤系统。该系统省时方便、有效解决了传统考勤方法占用时间的问题,而且可以实现从上课到下课的全时考勤,有效避免点名就到、点完就走的情况。对规范课堂纪律、提高学生到课率和稳定教学秩序起到有效的条件保障作用。
手机虽然是学生随身携带的个人物品,但是仍然有可能存在代为签到的情况,下一步可以考虑结合不定期抽查或者生物识别方式来确保考勤结果的可靠性。
参考文献
[1]教育部.《关于狠抓新时代全国高等学校本科教育工作会议精神落实的通知》[J].中国大学教学,2018,(9):4-5,19.
[2]吴奇.基于WIFI的手机签到考勤系统开发[D].中国地质大学(北京),2018.
[3]李萍.基于校园WiFi探测的用户移动性研究[D].北京邮电大学,2016.
[4]Moodle.org.Moodle Statistics[EB/OL].https://moodle.net/stats/
关注SCI论文创作发表,寻求SCI论文修改润色、SCI论文代发表等服务支撑,请锁定SCI论文网! 文章出自SCI论文网转载请注明出处:https://www.lunwensci.com/jiaoyulunwen/29587.html