基于ARM面向校園的綜合簽到管理系統(tǒng)
引 言
隨著大學(xué)教育的普及,大學(xué)生的數(shù)量大大增加,同時因90后、95后受互聯(lián)網(wǎng)等新媒體自由化思想的影響,大學(xué)普遍面臨著到課率不高,逃課、缺課人數(shù)增加的困境,這是擺在教務(wù)管理人員面前的一道難題,拋開課堂互動性不高等問題, 簽到系統(tǒng)的薄弱也是導(dǎo)致這種情況發(fā)生的原因之一,傳統(tǒng)的簽到無非是用紙簽到或者點(diǎn)名,這兩種方式無一例外的會占用同學(xué)、老師大量的時間。以200300人同時授課的校公共課為例,如果采用傳統(tǒng)的點(diǎn)名方式,即使在學(xué)生能夠完美配合老師的情況下,每個人仍需要10秒,即需要5分鐘以上才能完成, 因此,在很多情況下,老師沒有足夠的時間點(diǎn)名,從而導(dǎo)致這些課變成了逃課、缺課的重災(zāi)區(qū)[1]。綜上所述,一套行之有效的能夠公平、高效地記錄出勤情況的簽到管理系統(tǒng)是大學(xué)普遍渴望配備的,通過新簽到系統(tǒng)的使用,配合有力的獎懲措施, 能夠在很大程度上減少逃課、缺課現(xiàn)象的發(fā)生,提升到課率。
1 功能分析
作為一款校園考勤系統(tǒng),系統(tǒng)的典型用戶有學(xué)生、授課教師和教務(wù)管理人員。對于學(xué)生,需要在上課前(或者下課后) 在簽到機(jī)上簽到;對于教師,需要能夠很方便地查看某一天的考勤情況 ;對于教務(wù)人員,需要能夠快捷的在所有考勤機(jī)上增加或刪除一個學(xué)生的信息,并且在一個考勤機(jī)損壞的情況下,能夠快速更換,并不影響其它考勤機(jī)的正常工作 [2]。
分析傳統(tǒng)的指紋簽到設(shè)備,我們發(fā)現(xiàn),傳統(tǒng)的指紋簽到設(shè)備主要面向企業(yè)市場,強(qiáng)調(diào)打卡時間、排班、計(jì)時等企業(yè)管理所需要的功能,并且其考勤數(shù)據(jù)只記錄在考勤機(jī)內(nèi),這意味著只能夠單機(jī)考勤,對于幾十名同學(xué)需要在課間 20 分鐘內(nèi)集體從一個教室離開,到另一個教室簽到的學(xué)生來說,只有一個考勤機(jī)是不夠的。通過對比,發(fā)現(xiàn)傳統(tǒng)考勤機(jī)的功能與校園簽到系統(tǒng)需求不符,因此需要一個專門針對校園考勤的系統(tǒng), 該系統(tǒng)應(yīng)具有如下功能與特性 [3] :
1 能夠快速簽到,識別速度快,識別準(zhǔn)確率高。
2 能夠適應(yīng)同一個學(xué)生不同時間在不同教室上課這一使用場景。
3 能夠?qū)崿F(xiàn)多機(jī)考勤,學(xué)??稍诖蠼淌依镌O(shè)置24個考勤機(jī),小教室設(shè)置12個。
4 能夠在網(wǎng)頁端查看實(shí)時的簽到數(shù)據(jù)。
5 在考勤機(jī)發(fā)生損壞時,能夠便捷替換。
2 硬件組成
硬件部分總體上分為考勤控制機(jī)和指紋識別終端兩部分,考勤機(jī)采用基于ARM Cortex-A7 的樹莓派,運(yùn)行服務(wù)端程序,向下控制指紋識別終端,采集,存儲數(shù)據(jù),向上提供Web 管理接口。
2.1 基于樹莓派的教室考勤控制機(jī)
鑒于需要存儲指紋這種安全而敏感的信息,同時服務(wù)器不需要進(jìn)行大規(guī)模的計(jì)算和存儲,因此本地服務(wù)器采用處理器基于ARM Cortex-A7 的樹莓派, 運(yùn)行基于 Linux 的raspbain 操作系統(tǒng)[4],并且安裝MySQL 數(shù)據(jù)庫服務(wù)和TCP 服務(wù)端。服務(wù)器接入學(xué)校局域網(wǎng),可由學(xué)校網(wǎng)絡(luò)中心統(tǒng)一維護(hù), 學(xué)生指紋庫和簽到情況等存儲在服務(wù)器數(shù)據(jù)庫中,系統(tǒng)通過TCP 服務(wù)與上層軟件通訊,被授權(quán)的教務(wù)管理人員能夠隨時查看服務(wù)器上記錄的簽到情況并修改服務(wù)器端學(xué)生的信息。同時樹莓派通過nRF24L01+ 芯片與下位多個指紋錄入與識別設(shè)備無線通訊,實(shí)時獲取各機(jī)的簽到數(shù)據(jù)并加以處理和整合。
2.2 nRF24L01+ 無線傳輸模塊
nRF24L01是由NORDIC公司出品的工作在 2.42.5GHz的ISM頻段的單片無線收發(fā)器芯片。無線收發(fā)器包括頻率發(fā)生器、增強(qiáng)型 SchockBurst模式控制器、功率放大器、晶體振蕩器、調(diào)制器和解調(diào)器[5]。輸出功率頻道選擇和協(xié)議的設(shè)置可以通過SPI 接口進(jìn)行設(shè)置[6]。幾乎可以連接到各種單片機(jī)芯片,并完成無線數(shù)據(jù)傳送工作。它具有極低的電流消耗。當(dāng)工作在發(fā)射模式下發(fā)射功率為 0 dBm 時,電流消耗為11.3 mA,接收模式時為12.3 mA,掉電模式和待機(jī)模式下電流消耗更低,其適合嵌入式設(shè)備使用。
2.3 基于STM32的指紋識別終端
本系統(tǒng)采用的指紋錄入比對設(shè)備是微雪UART Fingerprint Reader,這是一款專用于二次開發(fā)集成應(yīng)用的新型指紋開發(fā)模塊,具有高速度、識別快、高穩(wěn)定性等特點(diǎn)。
微雪 UARTFingerprintReader模塊以 STM32F205高速數(shù)字處理器為核心,結(jié)合商用指紋算法,高精度光學(xué)傳感器, 同時具有指紋錄入、圖像處理、特征值提取、模板生成、模板儲存、指紋比對和搜索等功能,在指紋采集方面,該模塊采用高精度光路和成像元件,使用時只需要手指輕輕一點(diǎn),就能快速識別[7]。在識別比對方面,該模塊采用STM32F205高級數(shù)字處理芯片作為處理器,低功耗,快速穩(wěn)定,可滿足教學(xué)樓人流量大、單位時間簽到需求人數(shù)高的要求。
2.4 12864液晶顯示模塊
簽到機(jī)與用戶的交互模塊為一塊 12864 液晶屏,待機(jī)時顯示當(dāng)天的日期,星期,時間,教室號等信息,當(dāng)用戶將手按上指紋模塊時,激活指紋模塊,同時在液晶屏上顯示出對比結(jié)果,例如:識別成功,XXX,歡迎您 ,簽到失敗,請重試! , 未到考勤時間,禁止簽到! 之類的提示,方便用戶使用。
3 軟件系統(tǒng)設(shè)計(jì)
3.1 樹莓派端的設(shè)計(jì)
樹莓派端設(shè)計(jì)主要由Web 服務(wù)部分,數(shù)據(jù)庫部分和無線傳輸服務(wù)部分組成。Web 服務(wù)部分通過服務(wù)器端運(yùn)行的Web 服務(wù),使教務(wù)管理人員能夠便捷地通過 Web 瀏覽器管理,統(tǒng)計(jì)簽到數(shù)據(jù)。數(shù)據(jù)庫部分采用SQLlite 數(shù)據(jù)庫存儲同學(xué)們的各種信息,包括課程信息和指紋數(shù)據(jù)(或者指紋特征點(diǎn)數(shù)據(jù)) 等。無線傳輸模塊通過使能樹莓派系統(tǒng)自帶的 SPI 總線,參考 nRF24L01+ 的參考手冊配置無線模塊的地址,實(shí)現(xiàn) 1 對多通訊,即一個樹莓派控制機(jī)控制數(shù)個指紋錄入比對設(shè)備。
3.2 指紋錄入與識別設(shè)備的設(shè)計(jì)
指紋錄入與識別設(shè)備也是主要由無線通訊模塊、顯示輸出模塊和指紋錄入及識別模塊組成,與上節(jié)中的無線傳輸服務(wù)部分類似,這里的無線通訊模塊也采用nRF24L01+,通過STM32 使能自身的SPI 總線,參考 nRF24L01+ 參考手冊,配置無線模塊的地址,唯一與上一節(jié)不同的是,這里配置為多對 1通訊[8],即多個錄入比對設(shè)計(jì)對應(yīng)一個上層樹莓派。顯示輸出方面,設(shè)備通過I/O口采用 8位并行傳輸方式控制 12864 液晶屏,輸出所需要的文字和圖像,滿足交互需求。在指紋錄入和識別模塊,采用完整的微雪 UARTFingerprintReader 模塊的UART串口通訊,通過產(chǎn)品說明書提供的串口API,控制模塊進(jìn)行識別、對比,上傳指紋圖片,上傳特征點(diǎn)等操作。
4 系統(tǒng)測試
為了檢測該簽到系統(tǒng)的可行性,對系統(tǒng)進(jìn)行了指紋識別系統(tǒng)和樹莓派控制系統(tǒng)的測試。我們以一個班級(33 人)為測試對象,采用一個控制機(jī)控制兩個簽到機(jī),3 分鐘內(nèi)完成了簽到過程,經(jīng)檢測,該系統(tǒng)達(dá)到了預(yù)期效果,系統(tǒng)的軟件和硬件都運(yùn)行正常,能夠完成指紋注冊、比對、刪除等功能;同時能夠完成服務(wù)器通過控制多個樹莓派,進(jìn)而調(diào)取并傳送不同教室的數(shù)據(jù)庫內(nèi)容。系統(tǒng)穩(wěn)定可靠,通過率高。
5 結(jié) 語
文章采用UART Fingerprint Reader 指紋識別模塊和基于ARM Cortex-M3 處理器的 STM32 單片機(jī)以及基于ARM Cortex-A7 處理器的樹莓派[9],設(shè)計(jì)了一款指紋識別簽到系統(tǒng)。該簽到系統(tǒng)簡單、實(shí)用、便攜、識別精準(zhǔn),支持多機(jī)聯(lián)合考勤。通過無線模塊能夠快速、穩(wěn)定收發(fā)數(shù)據(jù),并可實(shí)時傳送到服務(wù)器,達(dá)到人員出席的考核。實(shí)驗(yàn)結(jié)果表明系統(tǒng)的硬件和軟件都運(yùn)行正常,達(dá)到了預(yù)期目標(biāo)。此外,該指紋簽到系統(tǒng)預(yù)留了I/O 擴(kuò)展接口,并能夠根據(jù)用戶的需求將其不斷完善,相信不久的將來,基于ARM 嵌入式微處理器的考勤控制管理系統(tǒng)將會有很好的前景。