APP下载

基于Arduino 的智慧实验室管控系统的设计与实现

2021-04-12唐明杰李业丽张孝良

北京印刷学院学报 2021年3期
关键词:机位考勤可视化

唐明杰, 李业丽, 张孝良, 黄 蕙

(北京印刷学院信息工程学院,北京 102600)

1 系统设计

1.1 系统总体架构

1.1.1 系统架构与项目部署

基于Arduino 的智慧实验室管控系统整体采用基于B/S 架构设计,通过WEB 浏览器实现网络页面的信息展示,采用Apache Tomcat 服务器实现数据交互、接收与处理,数据库采用MySQL,服务器实时获取智能硬件终端Arduino 通过HTTP 网络协议反馈的数据,并及时处理用户在浏览器端提交的需求,实现系统平台的功能。

系统综合应用了计算机硬件、软件、网络和等技术,以及学校现有的资源,如一卡通卡、校园网环境等。在技术方面,采用移动应用终端处理技术、物联网、模式识别等,项目开发过程中采用开源软件以及工具,利用模块化技术,基于面向服务架构SOA,面向扩展,便于集成。系统设计目标为集实验室开放日常管理、机位预约、门禁控制、课堂考勤于一体,支持多种开放模式的开放性平台[1]。系统拓扑图如图1 所示:

图1 系统拓扑图

1.1.2 功能模块设计

结合需求分析阶段对基于Arduino 的智慧实验室管控系统的功能需求分析,确定系统功能模型。完整的系统平台包括监测实验室运行状况、学生机位预约、实验室门禁控制、教师课堂考勤、查看考勤信息、数据可视化等。系统功能模块如图2所示:

图2 系统功能模块设计

1.1.3 系统用例设计

系统用户主要有3 类:学生用户、教师用户以及实验室管理员Administrator。

其中学生用户可以通过浏览器或移动端登录系统,查询近期课程、查看实验室机位信息并在线预约或解约实验。

教师用户可以在个人页面中选择开始考勤功能,在合理的考勤时间范围内学生可以凭一卡通到对应教室的智能硬件终端处打卡考勤,考勤存储到数据库中,同时教师个人页面及时刷新考勤数据。考勤结束后系统自动整理考勤数据,教师可以选择下载记录考勤信息的Excel 表格,在后期进行成绩统计时,系统可以通过数据可视化,使教师用户可以直观地了解掌握每次的考勤信息,方便成绩统计[2]。

系统管理员具有用户权限的控制,可以查看用户信息,添加、删除、修改用户信息,同时可以对课程进行增删改查的操作。管理员还可以在异地了解非工作时间段实验室开放使用情况,对实验室的实验情况和仪器使用情况进行实时监督,对违反操作和超越预约范围的实验可以通过电源管理系统即时终止实验,或通过通讯系统加以提醒和指导,保证了开放实验的安全[3]。

1.2 系统硬件设计

智能硬件终端部分:通过Arduino 智能硬件开发,设计出基于一卡通的实验室门禁识别模块。系统运行时,用户磁卡靠近感应器,程序判定该用户能否进入实验室,并通过显示屏、蜂鸣器等提供反馈,完成智能硬件开发与测试。在硬件布线过程中,Arduino 作为智能硬件控制端,连接RFIDRC522 读卡器、温湿度传感器DHT-11、蜂鸣器、LCD1602 液晶显示屏等,系统硬布线连接效果如图3 所示:

图3 硬件布线连接图

1.3 系统软件设计

1.3.1 WEB 开发技术

本文所述的基于Arduino 的智慧实验室管控系统基于B/S 架构设计,通过WEB 浏览器实现网络页面的信息展示。在WEB 开发过程中,使用较为先进的WEB 网页开发技术,项目运用Bootstrap网页快速搭建平台以及Vue 网页实现框架,同时部分功能采用了SSM 框架,使得流行的企业级开发框架应用到系统平台设计研发过程中,设计开发了整洁易用的人机交互界面,提供良好的可操作性。

WEB 服务器方面应用Apache Tomcat 实现数据交互、接收处理,在实际应用过程中部署到阿里云等云服务器平台进行稳定运行。在项目运行过程中,智能控制终端通过IC 卡感应模块,读取IC卡ID,数据转换处理完成后,通过HTTP 协议POST 方法发送到应用服务器,服务器通过Servlet实时获取智能硬件终端通过HTTP 网络协议反馈的数据,并及时处理用户在浏览器端提交的需求,构建起门禁控制逻辑,实现系统平台的功能[4]。

数据库初步部署到本地服务器,采用MySQL进行用户信息以及实验室信息、考勤信息的存储。在数据库连接过程中,使用Mybatis 框架进行底层业务逻辑处理,业务逻辑使用Service 层与DAO 层实现系统访问数据库对象,并采用过滤器Filter、工厂模式以及EXCEL API 等完成系统应有的功能,如用户登录信息验证、教师导出考勤信息统计表等。在数据库设计过程中,充分考虑到了数据的完整性约束条件,使数据库表单设计满足3NF,针对门禁和考勤应用,主要设计实现用户信息表、课程信息表、实验室信息表、实验室日志表、课堂考勤表等。

1.3.2 平台安全

在智慧实验室管控系统的运行过程中,要时刻注意系统的安全问题。系统平台中的数据,包括业务处理信息、技术资料信息、用户个人信息数据以及涉及团队发展与决策的信息有保密性质,系统运行过程中出现任何故障或被破坏,都会对用户、团队乃至整个行业产生不可估量的影响。安全性问题事关系统平台能否正常运行,以及团队的业务能否正常展开,因此系统安全性设计就显得尤为重要。

系统运行过程中所受到的安全威胁来自多个维度,攻击形式层出不穷,变幻莫测,往往各种攻击方式同时存在,同时进行。为解决系统安全隐患,需要通过各种安全防控措施,如使用使用防火墙技术、身份验证技术、数据加密技术等。同时可采用防火墙技术实时监测信道中传输的数据,通过特定的规则控制信息流的出入,作为分离器与限制器,提供内部网络安全服务[5]。

2 智慧实验室管控系统的实现

2.1 实验室预约与门禁控制实现

系统提供实验室预约功能,用户通过浏览器或手机移动终端登录平台页面,进行用户信息注册后,即可登录系统平台。在首页面功能模块中,选择机位预约功能,用户在线预约时,选择预约教学楼与教室。系统检索预约实验室机位预约状况,根据实验室机位数量与已预约的学生数量,给出实验室空余机位状况,若实验室允许被预约,当用户提交预约信息后,系统自动将预约信息存入数据库,同时显示提示信息,告知用户实验室预约成功,否则给出预约失败原因,如实验室另有他用或机位已被预约满,指导用户选择其他实验室或修改预约时间。

学生预约实验室机位成功后,在指定的时间段内到达学生实验室,通过学生卡在Arduino 智能硬件终端处进行刷卡认证,Arduino 控制门禁锁的开合。RC522 读卡器提取卡ID 信息,蜂鸣器向用户给出提示告知打卡成功,智能硬件终端将提取到的数据发送到数据库服务器进行匹配,查询该用户信息是否有效以及是否在当前时间段内预约使用学生实验室,如果匹配成功,智能硬件终端控制继电器以控制门锁打开,学生进入实验室,否则通过显示屏幕给出用户登录失败信息,方便用户进行下一步操作。

Arduino 通过执行loop 函数实时获取RFIDRC522 的读卡信息,当提取到卡ID 数据时,将数据通过HTTP 协议发送到服务器的Controller,使用Servlet 进行获取处理。RFID-RC 一但提取信息非空,将提取信息保存到content,Arduino 控制OUT端口启动蜂鸣器,告知用户打卡成功。进而编辑HTTP 协议中POST 方法的URL 请求地址,在WEB服务器端设置ArduinoDoor 的controller 接收提取到的ID 信息。在用户发送-接收的一个周期中,Arduino 监听服务器返回的信息,如果允许用户进入,服务器返回“YES”,此时Arduino 控制D3 端口,启用继电器闭合外部电路,电磁锁打开,否则返回“NO”,Arduino 控制D2 端口,使得蜂鸣器报警,提示用户无法进入实验室,待预约成功后准予进入,从而保护实验室资源安全[6]。

2.2 网络在线考勤系统实现

教师在授课前,登录教师用户界面,选择课堂考勤功能,系统自动导入当前课程学生信息情况。而后学生携带一卡通打卡,学生打卡成功后以蜂鸣器与屏幕展示形式提示用户是否考勤成功,考勤成功后记录学生本次考勤信息。考勤结束后系统统计本次考勤信息,将成功考勤、迟到、缺勤信息记录到数据库中。后期系统从数据库中导出该次考勤信息情况,以图表形式告知教师用户考勤结果,同时支持考勤数据导出,方便教师最后给出学生总评成绩[7]。

2.3 实验室运行状况监测实现

学生、教师用户以及实验室管理员均可登录平台查看实验室运行状况,智能硬件终端可以实时通过温湿度传感器获取当前实验室温湿度值,并发送给WEB 服务器进行更新,使用户全面直观地掌握实验室的运行状态。实验室温湿度监测结果如图4 所示:

图4 实验室温湿度状况监测

3 数据可视化

3.1 数据可视化概念

数据可视化其实是数据从用户不太敏感的一连串的数字表示转换到可以被直观了解认知的图形化表示的过程。通过对采集到的数据根据一系列的筛选、聚集、分散到相应的区间范围中,采用结构化与标准化的处理模式,根据视觉可以直接感知的要素,如方位、规模、形状、坐标等,通过视觉的方式将其系统地表现出来。并尝试通过人机交互的方式,使得用户更加方便地探究大数据之中的关键信息。

从技术角度,大数据的实时可视化展示,离不开关键的四个步骤,即需求分析、建立模型、数据处理、可视化设计四部分。

3.2 数据可视化工具

为了便于教师用户查看预约信息,同时做到实验室全天候开放的公正性,有必要在用户个人页面中展示实验室运行过程中相关的信息,以便体现智慧实验室管控系统的透明性与有序性。同时实验室数据的可视化有利于使用户更加直观地了解自身的活动状况,使学生用户掌握学习的认知,同时保障实验室的运行稳定。目前市场上主流的数据可视化展示框架主要有Tableau、Echarts 等。本文描述的基于Arduino 的智慧实验室管控系统使用Echarts 进行数据可视化展示,致力于带给用户更加人性化的使用体验[8]。

3.3 可视化系统设计

在基于Arduino 的智慧化实验室管控系统中,根据用户需求与系统平台运行实现的功能,对现有图表不同类型进行详细分析,判断每种数据在不同类型图表中的直观展示状况,同时考虑到人机交互操作,对图表进行特定选择。

在选择图表之前,首先要明确数据之间存在的几种关系,一般来说分为五种:构成、联系、比较、趋势与分布。其中构成关系主要表示某一部分事物占数据总体的比例,以展示每一部分占总体的份额量、百分比等,此时可以选择饼图或动态饼图来表示期望的占有率。饼图分为标准饼图、中空饼图与环形饼图等。而当数据接近程度较大时,或反映数据变化时,则不适宜使用饼图[9]。

通过比较,用户可以直观地感受事物之间的排列与顺序,条形图或柱状图可以清楚反映数据规模之间的大小关系。在描述事物的变化趋势时,如描述在教师教学过程中学生课堂考勤率的变化,使用折线图可以清楚反映出数据指标随着时间变化的趋势,尤其是在当变化趋势比单个结点更为重要的场合中,强调事物的改动与变换。在描述各范围内包含的项目数,允许在较为碎片化的分区内展示数据,可以使用区域地图、散点图。当描述两个变量之间表达出的模式关系时,如表示某市人才落户人数随着政策福利力度增长的趋势时,可以用气泡图来表示。

3.4 数据可视化实现

3.4.1 考勤结果可视化

在每次课堂考勤中,系统除在表格中展示用户的考勤状况,还研究如何以图表的形式表示考勤过程的相关信息。学生用户考勤状态分为考勤成功、缺勤、迟到、请假、休学等五种,用户鼠标移动到图表对应区域时,系统应及时放大用户选中区域,以告知用户更多的信息。在Echarts 使用过程中,可以选择不同类型的交互图表展示相应领域的内容,如使用柱状图表示不同事件的考勤参与人数,使用折线图表示考勤率的变化情况,使用饼图表示学生考勤状况等,从而充分表现出图表的张力。

3.4.2 考勤率变化趋势

二维交互折线图横轴以时间为自变量,根据结点距离横轴的长度变化情况判断某一名教师的任课班级学生在一个学期内的出勤状况,使用折线图表示学生课堂考勤出勤率的变化情况,可以达到较为理想的展示效果。用户鼠标悬停在折线上或端点上时,图表在鼠标周围展示消息提示框,以完成交互操作。数据可视化大屏如图5 所示:

图5 数据可视化大屏效果

4 总结与展望

基于Arduino 的智慧化实验室管控系统充分利用学校良好的网络资源和现代化高科技手段,顺应了高科技的迅速发展对实验室管理提出的应用信息化、网络化手段的要求,实现了实验室管理手段方面的创新[10]。

本系统是以互联网技术以及智能硬件终端为中心,结合WEB 企业级开发形成的操作平台,实现了学生创新实验室机位预约、门禁控制、学生课堂考勤、监控管制的功能,从而提高实验室资源的管理能力,满足高校实验室日常功能需求,达到技术应用和现有资源的充分利用的目的。系统采用RFID 无线射频技术读卡,相较人脸识别、指纹识别等技术,整个系统开发成本更低,使用方便、稳定,便于整个系统平台的普及,也有利于物联网技术的推广。系统平台的成功搭建与高效运行,能够实现实验室“无人值守”和“高效安全”的管理。

在智慧实验室管控系统的监控管制过程中,还可以研究如何通过智能控制终端控制摄像头抓取图片、录制视频,对实验室运行安全问题进行反馈、及时处理。在数据挖掘与可视化方面,还可以更加深入地分析数据之间的关联关系,设置更加合理的置信度以精准预测未来实验室的需求状况,给管理员足够的时间进行筹划。在数据展示的过程中可以应用功能更多样的交互图表,展示在数据大屏中,带给用户更加人性化的体验。

猜你喜欢

机位考勤可视化
自然资源可视化决策系统
附着全钢升降脚手架不同步升降性能研究
思维可视化
自然资源可视化决策系统
事业单位人员考勤管理存在的问题及对策
三级甲等医院应用PDCA循环提升考勤管理的创新
2019东营地震抗灾演习直播方案
基于知识图谱的我国短道速滑研究可视化分析
智能人脸识别考勤系统
基于位置服务的学生考勤系统的设计与实现