基于Linux系統(tǒng)的指紋識別門禁系統(tǒng)設計指紋作為人體的身體特征,具有唯一性、穩(wěn)定性和不易盜用等特點。隨著指紋識別理論逐漸成熟、指紋采集工具這一難題得到解決,指紋識別已經成為目前最廣泛應用的生物識別之一,逐漸取代了傳統(tǒng)的認證識別方式,廣泛應用于金融、公安、證券、門禁系統(tǒng)等領域。指紋識別技術的研究已經成為當前建筑智能化研究的熱點。但是對于在Linux 系統(tǒng)下的由FPI 指紋識別模塊、Raspberry Pi 主控模塊、AVR 模塊組成的,采用無線通訊方式定時向用戶發(fā)送郵件來監(jiān)控門鎖狀態(tài)的指紋識別系統(tǒng)的研究至今未見諸報端。本文在不改變現有門鎖結構的前提下,通過設計編程,開發(fā)了一套基于指紋識別的門禁系統(tǒng),定時檢測門鎖狀態(tài)并向用戶發(fā)送報警郵件,大大增強了門鎖的安全性。
1 指紋識別的技術原理
指紋識別的技術原理是從指紋數據庫中查找與采集指紋是否匹配的指紋數據,達到通過辨別身份實現開關門鎖的目的。指紋識別系統(tǒng)由指紋圖像采集、指紋圖像預處理、指紋特征提取、指紋特征匹配、特征數據庫等幾部分組成。指紋圖像預處理采用了Gabor 濾波的方法進行灰度圖濾波去噪,通過將圖像濾波后,對其進行二值化處理使各種噪聲得到濾除或者修正。指紋特征提取是建立在對該點8 鄰點統(tǒng)計分析基礎之上,特征點通過計算CN(Croosing Number)得到。指紋特征匹配的過程是計算兩幅指紋相似程度的過程,在做指紋匹配前必須把不同的指紋圖像校準,找到輸入特征點集和模板特征點集之間的最佳變換。
指紋識別系統(tǒng)大體上可分為兩個內容:指紋注冊和指紋比對。指紋注冊主要包括指紋采集、指紋圖像預處理、特征點提取和特征值存儲。指紋比對的前3 步操作與指紋注冊完全相同,在特征點提取后,生成的指紋特征值將與存儲在指紋特征數據庫的特征值作特征匹配,最后輸出匹配結果。
2 指紋識別系統(tǒng)硬件開發(fā)
指紋識別系統(tǒng)主要由FPI 指紋識別模塊、Raspberry Pi 主控模塊、AVR 模塊3 部分組成,三方通訊實現用戶的指紋錄入和匹配,以及門鎖的開關,并且以發(fā)送郵件的方式來監(jiān)控門鎖的狀態(tài)。FPI 指紋識別模塊強大的圖像處理功能對指紋識別非常靈敏,及時處理接收到的指紋信息,并與Raspberry Pi 通訊;Raspberry Pi 模塊,一方面控制AVR 去檢測門的開關狀態(tài)以及開關門鎖,另一方面控制FPI 指紋錄入和匹配,并在Raspberry Pi 上建立數據庫記錄用戶信息;控制器AVR 反饋給Raspberry Pi 門的開關狀態(tài),并且控制電機來開關門鎖,加強了在硬件方面的拓展,可通過硬件在更多方面對門進行監(jiān)測。此外,使用了無線通訊模塊,避免了過多布線可能對原本門鎖結構的破壞,使該系統(tǒng)的硬件組成方便快速。
2.1 指紋識別模塊
指紋模塊基于TI 公司的TMS320VC5509 高級數字DSP處理器為主核,高精光學采集頭(TFS-D0307),高速、穩(wěn)定; 標準UART 接口通訊,標準8 字節(jié)通訊協議, FPI 完成處理接收到的指紋信息, 并與Raspberry Pi主控模塊通訊的工作。
2.1.1 圖像采集芯片
FPI 芯片上集成了圖像采集芯片FPC1011F,FPC1011F指紋傳感器是電容式半導體傳感器件,該電容式指紋傳感器利用了反射式探測技術,屬于平面式采集指紋傳感。相比傳統(tǒng)的電容式傳感器,它采集的是指頭的真皮層,且對干濕手指有良好的適用性。FPC1011F 的指紋采集原理:FPC1011F指紋傳感器是由152×200 個傳感器陣列組成的,每一個陣列是一個金屬電極,充當電容器的一極,安在傳感面上的手指頭的對應點則作為另外一極, 其工作原理是基于變極板間距的電容式傳感器,其電容量由式(1)確定:
(式中:C 為電容量;d 為極板間距;ε0為真空介電常數;εr為極板間介質的相對介電常數;s 為極板的有效面積)
當手指接觸傳感器導電框以后, 由式(1) 可知, 谷和脊因為離傳感器陣列的距離不同, 產生了不同的電容值C, 經過運算放大電路, 形成不同的電壓值, 通過內部的A/D 轉換, 獲得高質量的數字指紋圖像。
2.1.2 處理器
該系統(tǒng)采用的主處理器是TMS320VC5509 的32 位定點高速數字DSP 處理器,開發(fā)板的硬件包括:USB2.0 FullSpeed接口用以傳輸圖像、視頻等高速數據; 片外外擴1M BytesFLASH; RTL8019AS 網絡接口芯片,實現以太網通訊太網電路;開發(fā)接口:UART(RS232)與上位機實現通訊;2 路10 位A/D 輸入接口。