龐 玥,劉澤辰,李宏博
(山東農業大學 信息科學與工程學院,泰安 271000)
大學生是國家建設的后備力量,而目前在高校教學過程中頻繁出現學生逃課、代答到等現象,嚴重影響了高校正常教學秩序,對教學質量帶來了嚴重的負面影響。現有的考勤機功能繁復,配件繁多,體積大不方便攜帶使用,不能夠及時反饋缺勤同學信息,對高校課堂考勤并不適用。通過考察高校考勤需求,將傳統指紋考勤機的電源、考勤器、數據線合為一體形成一個精小棒狀、便于攜帶使用,可在學生之間傳遞考勤的簽到棒。可進一步加強學校的教學管理,規范學生的學習生活狀態。
為貼合高校考勤管理需求,整體系統分為硬件部分和軟件部分,硬件部分以STM32F103C8T6芯片為核心,構建了OLED顯示模塊、存儲模塊、指紋識別模塊等硬件模塊,處理器的串口1與指紋識別模塊相連,進行數據指令的傳送從而完成指紋的識別和比對;串口2與USB轉接口相連,既可以與上位機通信,也可以進行充電操作。軟件部分依托于Python語言設計。圖1為本系統結構圖。

圖1 系統結構圖
簽到棒的外觀將考勤機、充電器、數據線合為一體,形成一個長度約為10cm便攜精小的簽到棒,配合上位機軟件模塊,實現各大功能。圖2為整體結構圖。

圖2 整體結構圖
STM32F103C8T6是基于ARM Cortex-M 內核STM32系列的32位的微控制器。該產品具有性能高、功耗低、運行速度快等特點。其內部具有64k的閃存程序存儲器和高達20k字節的SRAM供電電壓為2.0~3.6V。多達80個IO端口、7個定時器和9個通信接口其中包含2個IIC接口、3個USART接口、2個SPI接口。
電源系統提供能量,因STM32F103C8T6需要3.3v供電,且指紋識別模塊工作電壓為2.7~3.3V,所以選擇采用自帶保護電路的402035聚合物鋰電池作為電源模塊。標稱電壓為3.7 V,充電限制電壓4.26V,標稱容量為1500mAh。可以充放電1000多次。電源模塊通過TPS75933將電壓轉化為3.3 V,然后直接給各模塊供電。同時也可以通過USB進行充電。當USB接通時,TPS75933失能,USB直接供電,電池開始充電。
本系統采用大容量SPI FLASH產品W25Q128,存儲容量為16MB,工作電壓為2.7-3.6 V,該模塊用于存儲GBK漢字字庫以及不同指紋對應的不同學生姓名等信息。模塊通過SPI總線與MCU連接,供MCU讀取與寫入數據。
本系統采用0.91寸的OLED液晶屏,可見角度>160°,強光照射下依然能清晰顯示,使用模擬IIC與MCU通信,采用3.3v供電,超低功耗,全屏點亮時僅0.08w,正常全屏顯示漢字只有0.06w。
本系統采用R300指紋識別模塊。R300指紋識別模塊采用了最先進的指紋傳感器和高性能的DSP處理器,內嵌完整的指紋識別算法和協議。具有指紋采集,指紋比對,搜索和存儲等功能的智能型模塊。模塊通過USART2與MCU進行通信,完成一系列的數據傳輸與處理。該模塊的工作電壓為2.7-3.6 V,無手指按壓時進入睡眠狀態,功耗低,當有手指按壓時,模塊的IRQ管腳將輸出3.3V的高電平喚醒模塊,進行指紋的錄入及匹配。這種工作模式保證了該模塊的超低功耗,保證了產品更長的續航時間。模塊內置的存儲設備能夠存儲1000枚指紋,圖像處理時間<0.4S,安全等級為3。圖3為指紋識別流程圖。
一體化指紋簽到棒配套應用程序使用了Python語言進行編寫,依靠Python強大的功能庫包,將應用程序分割成了3個獨立的任務,它們分別是UI界面的生成、串口的發送和接收、文件內容的寫入和提取。

圖3 指紋識別流程圖
UI界面的生成依托于PyQt5功能庫包,使用Qt Designer設計軟件設計可視化的ui文件,再通過Python強大的pyuic外部工具將ui文件轉換為可編程的py文件,實現對UI界面的編程。串口的發送和接收啟用了兩個線程進行處理,擺脫了單線程工作時序的限制,保證了數據發送和數據接收的獨立運行,防止同時收發數據造成的數據丟失等問題,提高了系統的穩定性。與此同時,在下位機植入了USB轉虛擬串口的程序,實現了系統USB形式的串口通信。文件內容的寫入和提取實現了指紋信息的存儲和上傳,當應用程序向下位機發送獲取信息的指令時,下位機將向PC端發送對應數據,應用程序將數據以固定格式寫入將要保存的文件,實現指紋庫的建立和PC端顯示;當應用程序向下位機發送傳輸信息指令時,應用程序將讀取對應文件中的內容并以固定的格式傳輸給下位機,實現指紋庫的上傳。圖4為軟件程序流程圖。
系統的指紋識別模塊拒真率(FRR)<0.1%,認假率(FAR)<0.001%(安全等級為3時)。我們對系統的可行性進行實驗,以本校學生數最多的老師為實驗對象,老師所帶學生總數為728人,系統1000枚指紋的存儲量滿足要求。在一周的課堂考勤中,共計識別指紋2184次,每次的識別反應時間為1秒鐘,僅有2次識別錯誤,識別正確率高達99.9%。
本系統切合高校老師的需求,設計出了一款集考勤器、充電器、數據線為一體,體積精小的便攜簽到棒,只需課前將產品交由同學傳遞進行指紋簽到,課下查看匹配結果即可得到考勤結果。簽到棒將所有配件合為一體便于攜帶,課前簽到節省上課時間,方便快捷,省時省力,大大增強了對學生的監督力度,實用性強,有長遠的發展前景。

圖4 軟件程序流程圖