邢 丹,劉欣欣,崔榮梅
(河北傳媒學院 信息技術與文化管理學院,河北 石家莊 051430)
隨著高校硬件設施的不斷發(fā)展,各類教室數(shù)量不斷增多,教室鑰匙使用的頻次和范圍也同步增大。當前教室的鑰匙主要是串在鑰匙盤上或鑰匙串上,使用者使用時需要拿走整個鑰匙盤或鑰匙串,抑或從鑰匙盤或鑰匙串上取下所需的鑰匙,由鑰匙管理員手工記錄使用者、使用時間、是否歸還等信息。該借用過程看似簡單,但在執(zhí)行過程中存在諸多問題[1-2]。
(1)鑰匙繁多,查找困難
對于鑰匙管理員而言,一般需管理諸如公共機房、階梯教室等,在繁多的鑰匙串中快速準確地找到需要使用的鑰匙耗時耗力。即使利用貼標簽、做標記等方法區(qū)分不同教室的鑰匙,但若不熟悉鑰匙標記,仍然難以快速、準確地找到所需鑰匙[3]。
(2)手工記錄,極易出錯
為了使用安全,使用時需做詳細的使用登記工作,記錄使用者、使用時間、是否歸還等信息,歸還時要逐個按照記錄進行核對,稍不留神就容易出錯,甚至出現(xiàn)漏記或不記的情況。同時也增加了鑰匙管理員的工作量,降低了鑰匙使用者的使用體驗[4]。
(3)追溯困難
在手工記錄的過程中,有可能填寫虛假信息,無法保證信息的真實性,存在安全隱患。
為解決上述問題,文中設計并實現(xiàn)了智能化教室鑰匙管理系統(tǒng),該系統(tǒng)主要采用情景識別技術中的部分主流技術:圖像識別技術和嵌入式開發(fā)技術,使用者通過人機交互界面錄入個人信息和鑰匙使用信息后,由圖像采集設備采集、識別人臉圖像,將拍攝的鑰匙使用者的照片存儲在Micro SD卡中,同時顯示在LCD 屏上進行確認,然后控制存放該鑰匙的鑰匙儲物柜柜門打開,使用者拿取對應教室的鑰匙。此外,通過嵌入式文件存儲技術將鑰匙使用者的個人信息和鑰匙使用信息等保存到SD 卡中[5-6]。根據(jù)以上分析,具體的功能設計如下:
(1)拍照:考慮到系統(tǒng)需要保存鑰匙使用者的人臉信息作為重要的個人信息,所以需要對使用者進行拍照操作,獲取的使用者人臉圖像也需要在LCD 屏上顯示,并考慮拍照動作的觸發(fā)條件。
(2)打開鑰匙開關:每個教室的鑰匙都被一個開關控制,方便獨立管理。
(3)存儲使用情況:將使用者的照片、姓名、專業(yè)、所取鑰匙的教室門牌號、是否已歸還等信息存儲到SD 卡中。
(4)人機交互:使用者通過人機交互界面錄入個人信息等,并選定需要的教室門牌號。
高校教室鑰匙管理系統(tǒng)主要由兩大部分組成:主控端和圖像采集端。主控端通過串口與圖像采集端連接,實現(xiàn)信息交互。
主控端包括STM32 主控、顯示觸摸屏、數(shù)據(jù)存儲設備、多路繼電器和鑰匙控制開關等,鑰匙使用者根據(jù)人機交互界面提示信息完成相關操作后,繼電器控制電磁鎖打開,取到鑰匙,然后主控端生成關于當前鑰匙使用者的相關信息并保存到相應存儲設備中[7]。
圖像采集端主要完成人臉信息的采集及識別,當接收到主控端發(fā)來的觸發(fā)采集信號后,會將采集的圖像顯示在圖像顯示屏上,鑰匙使用者根據(jù)顯示屏上的成像來調整面部位置進行人臉識別。人臉識別成功后,拍攝當前鑰匙使用者的面部信息,將面部信息以照片的形式并按一定的順序保存到圖像存儲設備中,并向主控端發(fā)送照片的序號信息[8]。
系統(tǒng)框圖如圖1 所示。
圖1 系統(tǒng)框圖
主控端以STM32F103ZET6 為主控,4.3 寸RGB 電容式LCD 觸摸顯示屏通過16 位8080 并口與主控相連,可獲取觸摸屏輸入的信息,并顯示教室門牌號等。SD 卡通過SDIO接口與STM32 主控相連,可將鑰匙使用者的個人信息、鑰匙使用信息、歸還狀態(tài)等存入SD 卡。繼電器通過GPIO 口與MCU 相連,實現(xiàn)MCU 對繼電器的控制,以及對鑰匙開關部件電磁鎖的控制[9]。
圖像采集端選用OpenMV H7R1 模塊,圖像顯示屏通過I2C 接口與OpenMV 控制芯片相連,整個模塊通過與主控MCU 的USART3(異步串口通信)交叉相連,實現(xiàn)與主控端的信息交換。
軟件部分是功能實現(xiàn)的核心,其主要分為兩方面的軟件設計。
當圖像采集端接收到單片機發(fā)來的“取鑰匙”信號后,開始查找人臉信息,攝像頭將拍攝畫面中的人臉用矩形框標示,取鑰匙者可以根據(jù)LCD 顯示屏中的圖像來調整人臉位置,人臉識別成功后,攝像頭會對取鑰匙者進行拍照,并將拍攝的照片按一定的次序保存到圖像采集端的Micro SD 卡中,后將照片保存的序號通過串口發(fā)送到STM32 主控端。
這里主要進行的是人臉檢測與識別,利用OpenMV 中豐富的特征庫和算法庫,首先加載人臉檢測HaarCascadek庫;利用find_features()方法每10 幀檢測一次人臉對象,與HaarCascade 內置的人臉模型進行比對識別。默認情況下,HaarCascade 的所有階段都被加載,但可以調整相應的數(shù)量來提升處理速度,但此舉須以準確性為代價[10]。
控制端采用嵌入式操作系統(tǒng)μC/OS-III 設計,主要分為觸摸屏界面GUI 的設計與實現(xiàn),LCD 輸入法的實現(xiàn),F(xiàn)atFs文件系統(tǒng)存儲功能的設計與實現(xiàn),最終實現(xiàn)對取鑰匙者進行信息采集、保存及生成記錄的功能。
鑰匙使用者可以通過觸摸屏輸入姓名、專業(yè),選擇教室門牌號,不同的教室門牌號控制不同的電磁鎖開關,最后將使用者的照片、姓名、專業(yè)、所取鑰匙的教室門牌號、鑰匙是否歸還等信息存儲到SD 卡中。鑰匙使用者錄入界面如圖2 所示。
圖2 鑰匙使用者錄入界面
在觸摸屏界面GUI 的設計方面,主要采用STemWin 進行界面設計。利用GUIBulider 工具主要完成存取鑰匙界面、專業(yè)選擇界面、信息錄入界面、門牌號選擇等設計。
在LCD 輸入法設計方面,首先設計好鍵盤的使用規(guī)則,對35 個功能按鈕設置好大小并進行合理布局,然后掛載中文字庫,利用文本框點擊消息機制實現(xiàn)漢字的選擇,而后實現(xiàn)漢字檢索翻頁功能,把檢索到的中文字符串分組,每組9 個漢字,每一組對應一個指針并將指針存于pbuffPY[]數(shù)組中,最后自動彈出鍵盤,文本框點擊消息用WM_ShowWindow()函數(shù)顯示鍵盤,并在“Esc”按鍵點擊消息時用WM_HideWindow()函數(shù)隱藏鍵盤。
在FatFs 文件系統(tǒng)存儲方面,首先為FatFs 相關變量申請內存,掛載SD 卡與FLASH。接下來使用f_open()函數(shù)創(chuàng)建并打開高校教室鑰匙存取記錄表,使用sprintf()函數(shù)將使用時間、人臉識別序號、專業(yè)、姓名、門牌號、鑰匙歸還情況等信息格式化為字符串輸出到指定的字符串數(shù)組,作為記錄表的表頭。當需要保存過程數(shù)據(jù)時,使用f_lseek(&fil,f_size(&fil))函數(shù),移位到有效存儲位置,將新數(shù)據(jù)刷新到文件中,最后關閉文件,數(shù)據(jù)保存成功,完成一次過程數(shù)據(jù)存儲。存取記錄表部分內容截圖如圖3 所示。
圖3 存取記錄表(部分)
本文通過將情景識別技術、嵌入式技術等進行綜合應用,實現(xiàn)了高校教室鑰匙存取、使用者拍照、使用記錄存儲等功能,很大程度上節(jié)省了人力物力,同時也簡化了使用流程,滿足了安全、便捷、智能化的校園生活需求。