摘要:近来湖北武汉出现大规模新型冠状病毒疫情,全国各地均受疫情影响,为了避免传播,各地方加强了防控工作,做到逢车必查、逢人必检,进超市、入小区等均需测量体温。高校学生来自五湖四海,虽然因疫情延期开学,但留守在校园的人数也不少,特别是在开学后,为了能及时、准确、快速统计当日测量体温人数及发热人员等详细信息,该文利用高校“一卡通”校园卡,通过编程开发,快速实现“个人信息”核对、测量体温结果登记等,做到测量结果以Excel表格形式输出,可供相关部门每日上报和分析。
关键词:校园卡;一卡通;IC卡;体温测量;编程;控件;代码
中图分类号:TP311文献标识码:A
文章编号:1009-3044(2020)10-0063-02
1背景
新型冠状病毒疫情发生以来,工信部连续向有关部门和地方推送流动人员态势分析,为基层防控筛查提供精细化数据支持,并要求相关企业推出智能排查等举措,为防控贡献“智慧”力量。同时上海海洋大学信息化管理部门针对疫情期间的工作特点,鼓励通过以信息化手段对师生疫情情况进行数据收集、监测和统计,建立疫情防控管理平台。因笔者在该校工作,隶属信息化管理部门,借助本校Ic校园卡的功能,针对目前疫情测体温的需求,编程开发了体温测量登记软件。
2校园卡共享应用同步数据分析
上海海洋大学校园卡是在2008年搬迁到临港新校区时推广使用的,由金仕达公司承担开发建设,采用的是M1芯片卡,属于非接触式IC卡,目前主要应用在食堂消费、充值、圈存、宿舍水电控制、门禁、图书馆、公共机房以及乘坐通勤班车等。经分析IC校园卡共享应用同步数据结构,主要包含如下“字段”的信息:
通过分析,只需将每日IC校园卡共享同步数据作为数据资源,接入相应格式的读卡器读取校园卡,就可以迅速核对该卡。如果身边的读卡器读取数据格式不同,也可以通过相应的算法,解决校园卡信息核对的功能。
3“体温测量登记”软件界面设计
校园一卡通已经在高校集成了身份识别、信息查询、各类消费等服务功能,是智慧校园的重要组成部分,也是高校信息化建设的重要基础。
3.1提供二种身份识别方式
在“体温测量登记”软件界面设计中,默认刷校园卡自动进行身份识别,但考虑到个别人员会将校园卡遗失、或忘带卡,故增加了“无卡输入学号(或工号)”一栏,具体界面设计如(图1)所示。
3.2增加了“关注”提示功能
当身份识别成功后,在界面的中间位置显示持卡人的照片,在照片的上方,设计安放红色字体“关注”二字,用于判断身份证信息是否属于“湖北省”。如果被确认“是”则显示红色“关注”二字,供体温测量工作人员参考;如果被确认为“否”,则不显示“关注”二字。判断方法目前设计为判断身份证前3位是否为“420”,大家可以根据需要进行修改,或增加多个疫情地区一起进行判断。
3.3提供测量体温数据“快捷输入键”和“文本框输入”二种方式
程序运行后默认刷校园卡进行身份识别,同时默认被测人体温正常,如果实际测量体温没有异常,则无须任何操作,改换下一位刷卡测量即可,程序会自动完成被测人的信息登记,如果发现被测量者有发热情况,则需记录体温数值,在操作界面中专门设计了“体温”数据快捷输入键和文本框输入二种方式,如(图1)右侧所示,供测量工作人员方便使用。
3.4提供体温数据保存结果修正功能
在实际应用中,测量工作人员经常会感觉“前一位”体温数据可能输错,需要核实一下,为此在照片的下方安置了“上一条”“下一条”和“最后一条”三个有关体温登记的按钮,供测量工作人员方便查阅和修改。
3.5体温测量结果文件的保存
体温测量结果会自动记录在数据文件中,通过软件界面右下角的“退出”按键实现将每天的测量结果导出为Excel格式的电子表格,供相关部门每日汇总、分析和上报数据等用。
体温测量数据文件主要包含如下字段:“学工号”“姓名”“部门”“属性”“体温”“签到日期”“签到时间”和测量地点等,详见(图2),这也是导出为Excel电子表格的显示效果图,其中:“刷卡否”记录了身份认证的方式;“有效卡否”记录了被测人是否在“有效持卡日期”内。
4部分“体温测量登记软件”代码编写与设计
该“体温测量登记软件”编程代码,笔者选用了比较熟悉的VisualBasic語言进行编程,在可视化窗体中安置了2个data控件,其中datal控件存放校园卡“共享同步数据”源的数据;data2控件用于保存“体温测量结果”数据,各字段名的含义不再重复叙述。
4.1IC读卡器
本软件开发时选用了免驱动、可设置格式的USB接口Ic读卡器,通过设置程序将读卡器改成8位16进制反向输出格式,以满足本校“共享同步数据”源进行身份认证。
4.2自动读取校园IC卡号
在程序编写中,选用了“文本框”()读取校园Ic卡号,为了实现程序可以自动获取卡号,将属性“-dex”赋值为“0”,确保程序运行后光标停留在窗体的“刷卡自动识别”文本框()中,等待读取卡号,一旦刷卡,在该文本框中将会显示卡号。
4.3校园卡身份确认相关代码
当自动读取到8位16进制的卡号后,通过编写Change()事件,实现自动查找该卡在“datal”数据库中的记录位置,当成功找到该条记录后,立刻在(图1)所示的窗体中显示该条记录的“姓名”“学工号”“部门”等字段信息,再用“学工号”作为“证件照片的文件名”在盘中查找是否存在?如果确定存在,则显示该持卡人的照片,供体温测量人员核对,如果不存在,则显示“照片无”字样。
无卡输入学号、或工号进行身份确认的过程,与刷卡身份确认的过程相同,条件判断由IC“卡号”改为“学工号”,通过CommandButton控件完成该事件的全过程。相关刷卡身份确认的主要代码如下:
4.4持卡人出生地判断
除外籍人士,校园卡证件号通常为身份证号,当成功确认持卡人的身份后,只需判断身份证的前6位数,就可以知道持卡人的出生地。本程序目前暂判断前3位数是否为“420”,如果条件符合,则在照片的上方显示“关注”二字,相关判断代码如下:
5结束语
刷校园卡进行“体温测量登记”是利用信息化手段对师生疫情情况进行数据收集、监测和统计,也是身份识别的一种应用。由于笔者身边没有与电脑相连的体温测量数据采集设备,如:红外热成像体温传感器等,故无法将体温测量结果自动记录在程序中,这也是笔者感到不足的地方,下一步的工作是将人脸识别与体温数据自动记录集成到本程序中。