指紋的唯一性和穩(wěn)定性使其成為目前被廣泛應(yīng)用的生物識(shí)別技術(shù)之一,我愛方案網(wǎng)小編為大家介紹的智能家居指紋識(shí)別門禁系統(tǒng)設(shè)計(jì)方案采用FPI 指紋識(shí)別模塊, 結(jié)合Linux設(shè)計(jì), 能夠?qū)崿F(xiàn)準(zhǔn)確、快速地完成身份驗(yàn)證實(shí)現(xiàn)開關(guān)門功能和定時(shí)快速的報(bào)警功能。
在介紹設(shè)計(jì)方案之前,我們先來復(fù)習(xí)一下指紋識(shí)別技術(shù)的原理。
一、指紋識(shí)別的技術(shù)原理
指紋識(shí)別的技術(shù)原理是從指紋數(shù)據(jù)庫中查找與采集指紋是否匹配的指紋數(shù)據(jù),達(dá)到通過辨別身份實(shí)現(xiàn)開關(guān)門鎖的目的。其基本原理如圖1 所示,指紋識(shí)別系統(tǒng)由指紋圖像采集、指紋圖像預(yù)處理、指紋特征提取、指紋特征匹配、特征數(shù)據(jù)庫等幾部分組成。指紋圖像預(yù)處理采用了Gabor 濾波的方法進(jìn)行灰度圖濾波去噪,通過將圖像濾波后,對(duì)其進(jìn)行二值化處理使各種噪聲得到濾除或者修正。指紋特征提取是建立在對(duì)該點(diǎn)8 鄰點(diǎn)統(tǒng)計(jì)分析基礎(chǔ)之上,特征點(diǎn)通過計(jì)算CN(Croosing Number)得到。指紋特征匹配的過程是計(jì)算兩幅指紋相似程度的過程,在做指紋匹配前必須把不同的指紋圖像校準(zhǔn),找到輸入特征點(diǎn)集和模板特征點(diǎn)集之間的最佳變換。
指紋識(shí)別系統(tǒng)大體上可分為兩個(gè)內(nèi)容:指紋注冊(cè)和指紋比對(duì)。指紋注冊(cè)主要包括指紋采集、指紋圖像預(yù)處理、特征點(diǎn)提取和特征值存儲(chǔ)。指紋比對(duì)的前3 步操作與指紋注冊(cè)完全相同,在特征點(diǎn)提取后,生成的指紋特征值將與存儲(chǔ)在指紋特征數(shù)據(jù)庫的特征值作特征匹配,最后輸出匹配結(jié)果。
圖1 指紋識(shí)別技術(shù)的基本原理
二、 指紋識(shí)別門禁硬件原理
本文設(shè)計(jì)的指紋識(shí)別門禁系統(tǒng)主要由FPI 指紋識(shí)別模塊、Raspberry Pi 主控模塊、AVR 模塊3 部分組成,該硬件結(jié)構(gòu)如圖2所示。
三方通訊實(shí)現(xiàn)用戶的指紋錄入和匹配,以及門鎖的開關(guān),并且以發(fā)送郵件的方式來監(jiān)控門鎖的狀態(tài)。
·FPI 指紋識(shí)別模塊強(qiáng)大的圖像處理功能對(duì)指紋識(shí)別非常靈敏,及時(shí)處理接收到的指紋信息,并與Raspberry Pi 通訊;
·Raspberry Pi 模塊,一方面控制AVR 去檢測(cè)門的開關(guān)狀態(tài)以及開關(guān)門鎖,另一方面控制FPI 指紋錄入和匹配,并在Raspberry Pi 上建立數(shù)據(jù)庫記錄用戶信息;
·控制器AVR 反饋給Raspberry Pi 門的開關(guān)狀態(tài),并且控制電機(jī)來開關(guān)門鎖,加強(qiáng)了在硬件方面的拓展,可通過硬件在更多方面對(duì)門進(jìn)行監(jiān)測(cè)。
此外,使用了無線通訊模塊,避免了過多布線可能對(duì)原本門鎖結(jié)構(gòu)的破壞,使該系統(tǒng)的硬件組成方便快速。
圖2 指紋識(shí)別系統(tǒng)的硬件結(jié)構(gòu)
指紋識(shí)別模塊
指紋模塊基于TI 公司的TMS320VC5509 高級(jí)數(shù)字DSP處理器為主核,芯片結(jié)構(gòu)框圖如圖3 所示。高精光學(xué)采集頭(TFS-D0307),高速、穩(wěn)定; 標(biāo)準(zhǔn)UART 接口通訊,標(biāo)準(zhǔn)8 字節(jié)通訊協(xié)議, FPI 完成處理接收到的指紋信息, 并與Raspberry Pi主控模塊通訊的工作。
圖3 指紋識(shí)別芯片F(xiàn)PI
圖像采集芯片
FPI 芯片上集成了圖像采集芯片FPC1011F,F(xiàn)PC1011F指紋傳感器是電容式半導(dǎo)體傳感器件,該電容式指紋傳感器利用了反射式探測(cè)技術(shù),屬于平面式采集指紋傳感。相比傳統(tǒng)的電容式傳感器,它采集的是指頭的真皮層,且對(duì)干濕手指有良好的適用性。FPC1011F 的指紋采集原理:FPC1011F指紋傳感器是由152×200 個(gè)傳感器陣列組成的,每一個(gè)陣列是一個(gè)金屬電極,充當(dāng)電容器的一極,安在傳感面上的手指頭的對(duì)應(yīng)點(diǎn)則作為另外一極,其工作原理是基于變極板間距的電容式傳感器,其電容量由式(1)確定:
?。ㄊ街校篊 為電容量;d 為極板間距;ε0為真空介電常數(shù);εr為極板間介質(zhì)的相對(duì)介電常數(shù);s 為極板的有效面積)
當(dāng)手指接觸傳感器導(dǎo)電框以后, 由式(1) 可知, 谷和脊因?yàn)殡x傳感器陣列的距離不同, 產(chǎn)生了不同的電容值C, 經(jīng)過運(yùn)算放大電路, 形成不同的電壓值, 通過內(nèi)部的A/D 轉(zhuǎn)換, 獲得高質(zhì)量的數(shù)字指紋圖像。
處理器
該系統(tǒng)采用的主處理器是TMS320VC5509 的32 位定點(diǎn)高速數(shù)字DSP 處理器,開發(fā)板的硬件包括:USB2.0 FullSpeed接口用以傳輸圖像、視頻等高速數(shù)據(jù);片外外擴(kuò)1M BytesFLASH;RTL8019AS 網(wǎng)絡(luò)接口芯片,實(shí)現(xiàn)以太網(wǎng)通訊太網(wǎng)電路;開發(fā)接口:UART(RS232)與上位機(jī)實(shí)現(xiàn)通訊;2路10 位A/D 輸入接口。
主控模塊
該系統(tǒng)采用的主控模塊Raspberry Pi,代替了體積龐大的電腦實(shí)現(xiàn)控制功能。Raspberry Pi 是一款基于ARM,操作系統(tǒng)采用開源的Linux 系統(tǒng)的個(gè)人電腦, 配備一枚700MHz 的處理器, 支持SD 卡和Ethernet, 擁有兩個(gè)USB接口, 以及HDMI 和RCA 輸出支持。Raspberry Pi 一方面控制AVR 去檢測(cè)門的開關(guān)狀態(tài)以及開關(guān)門鎖,另一方面控制FPI 的指紋錄入以及匹配并在Raspberry Pi 上建立數(shù)據(jù)庫記錄用戶信息。
利用這些硬件便可以進(jìn)行嵌入式開發(fā),快速的建立起指紋識(shí)別系統(tǒng)的硬件系統(tǒng)。
三、指紋識(shí)別門禁系統(tǒng)軟件開發(fā)
該系統(tǒng)基于Linux操作系統(tǒng), 將自動(dòng)指紋識(shí)別系統(tǒng)移植到嵌入式Linux,在Linux上進(jìn)行指紋識(shí)別系統(tǒng)的軟件設(shè)計(jì),指紋識(shí)別系統(tǒng)的軟件設(shè)計(jì)包括四個(gè)方面: 上位機(jī)與AVR 串口通訊、上位機(jī)與指紋模塊串口通訊、維護(hù)MYSQL 以及腳本發(fā)送報(bào)警。
1、指紋識(shí)別的處理過程
如圖4 所示:首先對(duì)串口進(jìn)行初始化,打開串口設(shè)備0、1,設(shè)置串口參數(shù),恢復(fù)串口未阻塞狀態(tài),串口初始化成功后執(zhí)行用戶選擇功能: 注冊(cè)開門賬號(hào)或注冊(cè)關(guān)門賬號(hào)或運(yùn)行門禁服務(wù)[N/C/R]。選擇系統(tǒng)功能N 后注冊(cè)新開門用戶,對(duì)同一指紋共獲取3 次圖像,與傳統(tǒng)采集一次圖像相比,杜絕了隨意采集造成的注冊(cè)指紋不精和驗(yàn)證時(shí)不易識(shí)別的問題。采集指紋成功后輸入用戶個(gè)人信息,注冊(cè)來自上位機(jī)數(shù)據(jù)庫的新 ID 號(hào)并把該用戶指紋信息存入數(shù)據(jù)庫,然后選擇是否繼續(xù)添加用戶。同理用戶選擇系統(tǒng)功能C后完成注冊(cè)關(guān)門用戶的操作。
用戶選擇系統(tǒng)功能R 后運(yùn)行門禁服務(wù), 一方面AVR 查詢當(dāng)前門鎖狀態(tài),例如把開門的命令賦給門的匹配狀態(tài),如果指紋匹配操作FPI 和門的匹配狀態(tài)相同,則由繼電器接收來自AVR 的開門命令,帶動(dòng)電機(jī)執(zhí)行開門動(dòng)作,并且記錄當(dāng)時(shí)時(shí)間,向本地?cái)?shù)據(jù)庫添加一條新的用戶使用記錄并寫進(jìn)日志里。同理執(zhí)行關(guān)門命令。另一方面AVR 查詢當(dāng)前電機(jī)電流等級(jí),將門鎖的實(shí)時(shí)開關(guān)狀態(tài),由誰執(zhí)行開關(guān)門動(dòng)作和當(dāng)前門鎖電機(jī)電流狀態(tài)通過郵件的方式發(fā)送給用戶,實(shí)現(xiàn)對(duì)門的實(shí)時(shí)監(jiān)控,大大增強(qiáng)了門禁系統(tǒng)的安全性。
2、報(bào)警郵件的發(fā)送
圖4 系統(tǒng)工作方式流程圖
Raspberry Pi 上的ARM 通過RS 232 串口接收來自AVR定時(shí)地對(duì)門禁狀態(tài)和電流狀態(tài)的查詢信息,并編寫Shell 腳本程序,利用wifi 通過串口傳送給郵件發(fā)送模塊,將報(bào)警內(nèi)容發(fā)送到指定的用戶郵箱中來定時(shí)監(jiān)控門鎖的狀態(tài)。程序如下:
這一部分完成信息的打包并將報(bào)警內(nèi)容發(fā)到指定郵箱中的功能。AVR 定時(shí)檢測(cè)門的狀態(tài)和當(dāng)前電流的狀態(tài),當(dāng)沒有人執(zhí)行開關(guān)門操作時(shí),door.log 的內(nèi)容為“0”,當(dāng)有人執(zhí)行開關(guān)門操作或者電流超過一定數(shù)值時(shí),door.log 內(nèi)容為“1”,其中開關(guān)門鎖包含兩種情況:一是已注冊(cè)的用戶通過指紋識(shí)別成功實(shí)現(xiàn)開關(guān)門鎖;二是沒有注冊(cè)過的用戶指紋識(shí)別失敗但是打開了門鎖。文件夾從數(shù)據(jù)庫調(diào)用這一數(shù)據(jù)并將數(shù)據(jù)發(fā)送到指定用戶的郵箱里,然后door.log 重新變?yōu)椤?”,如此循環(huán)檢測(cè)門的狀態(tài)。
Raspberry Pi 上的ARM 通過RS232 串口接收來自AVR定時(shí)地對(duì)門禁狀態(tài)和電流狀態(tài)的查詢信息, 并編寫Shell 腳本程序,利用wifi 通過串口傳送給郵件發(fā)送模塊,將報(bào)警內(nèi)容發(fā)送到指定的用戶郵箱中來定時(shí)監(jiān)控門鎖的狀態(tài)。
四、指紋識(shí)別門禁系統(tǒng)測(cè)試
為檢驗(yàn)該指紋識(shí)別門禁系統(tǒng)的性能,打開Linux 程序,注冊(cè)登記4個(gè)不同的指紋, 然后用不同的手指作指紋識(shí)別測(cè)試。分別觀察指紋識(shí)別成功和失敗時(shí)執(zhí)行機(jī)構(gòu)的動(dòng)作,一共測(cè)試50 次,部分系統(tǒng)測(cè)試結(jié)果的郵件正文內(nèi)容如表1 所示。
表1 系統(tǒng)測(cè)試結(jié)果表
由表1 可以看出,郵件的內(nèi)容包括ID、Name、Action、Date四項(xiàng)。其中前七行是已注冊(cè)過的用戶通過指紋識(shí)別成功實(shí)現(xiàn)開關(guān)門鎖,所以郵件中會(huì)有他們的 ID 號(hào)和姓名信息,而最后一行的用戶指紋識(shí)別失敗但是打開了門鎖,所以郵件中將他們的ID和姓名設(shè)置為NULL,提醒管理員特別注意當(dāng)時(shí)門鎖狀態(tài)以實(shí)現(xiàn)管理員對(duì)門狀態(tài)的定時(shí)監(jiān)控。
五、總結(jié)
文中基于指紋識(shí)別技術(shù)采用FPI 指紋識(shí)別模塊, 結(jié)合Linux設(shè)計(jì)了指紋識(shí)別門禁系統(tǒng), 設(shè)計(jì)的一個(gè)特點(diǎn)是基于Linux 操作系統(tǒng),建立并發(fā)執(zhí)行環(huán)境,提高CPU 的利用率,并且用Raspberry Pi 主控模塊和無線通訊模塊使得整個(gè)結(jié)構(gòu)更加簡單,對(duì)系統(tǒng)性能有一個(gè)明顯的提高。另外一個(gè)特點(diǎn)是定時(shí)檢測(cè)門鎖狀態(tài)并采用無線通訊方式向用戶發(fā)送報(bào)警郵件,大大增強(qiáng)了門鎖的安全性。實(shí)用測(cè)試結(jié)果表明,系統(tǒng)運(yùn)行良好,能夠進(jìn)行可靠安全的指紋識(shí)別,準(zhǔn)確、快速地完成個(gè)人身份的驗(yàn)證實(shí)現(xiàn)開關(guān)門功能和定時(shí)快速的郵件報(bào)警 操作。在后續(xù)的工作中,系統(tǒng)可以實(shí)現(xiàn)現(xiàn)有程序的穩(wěn)定性提升,以提高系統(tǒng)的性能使指紋門鎖功能更加完善。
評(píng)論
查看更多