臧義清



摘要:近來湖北武漢出現大規模新型冠狀病毒疫情,全國各地均受疫情影響,為了避免傳播,各地方加強了防控工作,做到逢車必查、逢人必檢,進超市、入小區等均需測量體溫。高校學生來自五湖四海,雖然因疫情延期開學,但留守在校園的人數也不少,特別是在開學后,為了能及時、準確、快速統計當日測量體溫人數及發熱人員等詳細信息,該文利用高校“一卡通”校園卡,通過編程開發,快速實現“個人信息”核對、測量體溫結果登記等,做到測量結果以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部分“體溫測量登記軟件”代碼編寫與設計
該“體溫測量登記軟件”編程代碼,筆者選用了比較熟悉的Visual Basic語言進行編程,在可視化窗體中安置了2個data控件,其中datal控件存放校園卡“共享同步數據”源的數據;data2控件用于保存“體溫測量結果”數據,各字段名的含義不再重復敘述。
4.1IC讀卡器
本軟件開發時選用了免驅動、可設置格式的USB接口Ic讀卡器,通過設置程序將讀卡器改成8位16進制反向輸出格式,以滿足本校“共享同步數據”源進行身份認證。
4.2自動讀取校園IC卡號
在程序編寫中,選用了“文本框”(card_no.TexI)讀取校園Ic卡號,為了實現程序可以自動獲取卡號,將屬性“card_no.TabIn-dex”賦值為“0”,確保程序運行后光標停留在窗體的“刷卡自動識別”文本框(card_no.Text)中,等待讀取卡號,一旦刷卡,在該文本框中將會顯示卡號。
4.3校園卡身份確認相關代碼
當自動讀取到8位16進制的卡號后,通過編寫Change()事件,實現自動查找該卡在“datal”數據庫中的記錄位置,當成功找到該條記錄后,立刻在(圖1)所示的窗體中顯示該條記錄的“姓名”“學工號”“部門”等字段信息,再用“學工號”作為“證件照片的文件名”在盤中查找是否存在?如果確定存在,則顯示該持卡人的照片,供體溫測量人員核對,如果不存在,則顯示“照片無”字樣。
無卡輸入學號、或工號進行身份確認的過程,與刷卡身份確認的過程相同,條件判斷由IC“卡號”改為“學工號”,通過CommandButton控件完成該事件的全過程。相關刷卡身份確認的主要代碼如下:
4.4持卡人出生地判斷
除外籍人士,校園卡證件號通常為身份證號,當成功確認持卡人的身份后,只需判斷身份證的前6位數,就可以知道持卡人的出生地。本程序目前暫判斷前3位數是否為“420”,如果條件符合,則在照片的上方顯示“關注”二字,相關判斷代碼如下:
5結束語
刷校園卡進行“體溫測量登記”是利用信息化手段對師生疫情情況進行數據收集、監測和統計,也是身份識別的一種應用。由于筆者身邊沒有與電腦相連的體溫測量數據采集設備,如:紅外熱成像體溫傳感器等,故無法將體溫測量結果自動記錄在程序中,這也是筆者感到不足的地方,下一步的工作是將人臉識別與體溫數據自動記錄集成到本程序中。