賀振宇+廖真+葛華森+王鵬
摘要:本文綜述了指紋識(shí)別技術(shù),系統(tǒng)地分析了將樹莓派、手機(jī)APP、門鎖結(jié)合的設(shè)計(jì)與實(shí)現(xiàn)方法,最后就這種門禁系統(tǒng)的發(fā)展趨勢進(jìn)行了討論。在不改變現(xiàn)有門鎖結(jié)構(gòu)的前提下,通過軟件、硬件的高度結(jié)合,研究開發(fā)一套基于樹莓派的指紋識(shí)別門禁系統(tǒng),高效匹配指紋庫控制開關(guān)門,實(shí)時(shí)檢測門鎖狀態(tài)并通過手機(jī)APP向用戶報(bào)告門鎖信息和警報(bào)信息,從而實(shí)現(xiàn)實(shí)時(shí)的計(jì)算機(jī)警戒,大大增強(qiáng)門鎖的安全性。
關(guān)鍵詞:樹莓派;指紋識(shí)別;門禁;手機(jī)APP
中圖分類號(hào):TP393.1 文獻(xiàn)識(shí)別碼:A 文章編號(hào):1001-828X(2017)007-0-02
引言
在科技的不斷進(jìn)步浪潮下,把人體特征碼和信息管理系統(tǒng)結(jié)合的安防受到不少企業(yè)的喜愛。樹莓派是只有信用卡大小、大部分裝載的是Linux操作系統(tǒng)、具備一般電腦的所有功能的卡片式電腦。據(jù)悉目前國內(nèi)外已經(jīng)出現(xiàn)利用單片機(jī)配合人臉識(shí)別模塊實(shí)現(xiàn)的門禁裝置,有的甚至能夠采用郵件將門鎖的實(shí)時(shí)狀態(tài)發(fā)送到遠(yuǎn)程客戶手中。指紋識(shí)別較人臉識(shí)別有著較低的成本和更廣泛的應(yīng)用,指紋作為人體特征,具有唯一性、穩(wěn)定性和不易盜用等特點(diǎn)。 手機(jī)APP因?yàn)榫哂惺褂煤啽?、反?yīng)迅速、通用性高等特點(diǎn),在當(dāng)今科技潮流下備受追捧,特別是針對于一些文化程度不高的人。以前使用電腦才能進(jìn)行的功能諸如購物、轉(zhuǎn)賬、視頻通訊等,現(xiàn)在利用手機(jī)APP都能夠完成。
本系統(tǒng)考慮到人臉識(shí)別具有很大的不確定性,不能夠保證識(shí)別的準(zhǔn)確率,加之手機(jī)APP對于處于中老年人的管理人員來說可能比收發(fā)郵件更輕便簡潔,同時(shí)還考慮到系統(tǒng)后期可能會(huì)有特殊的拓展。所以最終決定使用樹莓派這種功能強(qiáng)大的微型電腦,配合指紋識(shí)別模塊,通過簡單的外部電路設(shè)計(jì),以及可以實(shí)時(shí)獲取反饋信息的手機(jī)APP,組合成為一套安全高、穩(wěn)定好、可深度擴(kuò)展的指紋識(shí)別門禁系統(tǒng)。
一、系統(tǒng)硬件設(shè)計(jì)
本系統(tǒng)涉及到的硬件大致有FPM10A AS608光學(xué)指紋識(shí)別模塊、樹莓派2代B型、SY-P801 12V/3A門禁專用電源、LY-03 DC12V/24V電磁鎖、SRD-05VDC-SL-C小型功率繼電器,同時(shí)還配有一個(gè)8歐0.5w小揚(yáng)聲器,另外還用到杜邦線若干、網(wǎng)線若干。
1.指紋識(shí)別模塊的原理與設(shè)計(jì)
(1)指紋識(shí)別模塊的基本原理
指紋雖然只是人體皮膚中極小的一部分,但是它卻包含了大量的信息。人體不同指紋的結(jié)構(gòu)與紋路信息是獨(dú)一無二的,這些信息被稱為“指紋特征”。若將這些指紋特征與個(gè)人信息對應(yīng)起來就形成了指紋庫,這時(shí)候就可以通過比對指紋庫里面的信息來進(jìn)行用戶的身份鑒定。一般的指紋識(shí)別系統(tǒng)都主要有以下幾個(gè)過程:指紋獲取、指紋圖像預(yù)處理、指紋特征提取、指紋特征對比。指紋特征匹配是將兩枚指紋進(jìn)行比較,以確定它們是否來自于同一根手指頭。指紋匹配是屬于模糊識(shí)別的,需要將指紋細(xì)節(jié)特征點(diǎn)的數(shù)量、位置和所在區(qū)域的脊線方向這些等參數(shù)進(jìn)行比較。
(2)指紋識(shí)別模塊的介紹與使用
FPM 10A使用標(biāo)準(zhǔn)的串口與外界通信,默認(rèn)的波特率為57600,可以與任何單片機(jī),ARM,DSP等帶串口的設(shè)備進(jìn)行連接。模塊系統(tǒng)提供了大量資源給用戶系統(tǒng)使用。同時(shí),模塊也定義了一套通信協(xié)議,無論硬件上是采用UART還是USB接口,都共用相同的一套通信協(xié)議和指令集。
FPM10A模塊共有23條指令,應(yīng)用程序通過指令的不同組合,可以實(shí)現(xiàn)指紋識(shí)別功能。我們將這23條指令和衍生出來的操作封裝成類,從而可以很方便地操控該模塊,快速實(shí)現(xiàn)需要的功能。
2.樹莓派的開發(fā)與設(shè)計(jì)
樹莓派的操作系統(tǒng)選擇上,我們采用較新的CentOS7 for ARM(Linux的一個(gè)分支系統(tǒng))。該系統(tǒng)和樹莓派的硬件十分契合,甚至于可以說是專為樹莓派定制的,可以最大限度發(fā)揮樹莓派的功用。
本系統(tǒng)使用了10800毫安容量的小米充電寶為樹莓派供電,同時(shí),使用了樹莓派上的以太網(wǎng)口用于保障和服務(wù)器端的通信,指紋模塊和樹莓派的連接通過一根TTL轉(zhuǎn)USB線接在樹莓派的USB口上。
樹莓派通過GPIO口輸出控制信號(hào),本系統(tǒng)只使用了21/22/23/24/25號(hào)針腳。發(fā)出的是3.3V的控制信號(hào)。
3.開鎖機(jī)制的設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)還可以使用了LY-03 DC12V/24V電磁鎖通過SY-P801 12V/3A門禁專用電源供電,因?yàn)闃漭奢敵龅目刂菩盘?hào)不足以驅(qū)動(dòng)電源繼電器的開關(guān),故加裝了一個(gè)SRD-05VDC-SL-C小型功率繼電器。從而實(shí)現(xiàn)樹莓派發(fā)出控制信號(hào)驅(qū)動(dòng)電磁鎖開鎖這一流程。其中SRD-05VDC-SL-C小型功率繼電器的VCC和GND均使用樹莓派針腳提供的,另外繼電器的高電平控制端接一個(gè)GPIO針腳(OUTPUT模式)。在程序的設(shè)計(jì)上,我們可以很方便地控制門鎖開關(guān)。
對于門狀態(tài)的監(jiān)聽,我們采用的方法是:從樹莓派GPIO針腳引出一個(gè)1信號(hào),門鎖和門擋之間嵌一塊銅片,之后再放回GPIO輸入針腳。通過監(jiān)聽這個(gè)輸入針腳,當(dāng)門處于閉狀態(tài)時(shí),該信號(hào)為1,當(dāng)門處于開狀態(tài)時(shí),該信號(hào)為0。
二、系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)涉及到軟件(程序)編寫的地方有:樹莓派、服務(wù)端、客戶端。樹莓派上主要寫入的是偏向于門鎖的控制、監(jiān)聽程序;服務(wù)端是服務(wù)器上運(yùn)行的服務(wù)于客戶端的程序,同時(shí)也作為樹莓派的上位機(jī);客戶端是直面用戶的,主要為用戶提供信息查詢服務(wù)的程序。
1.樹莓派上的程序設(shè)計(jì)
樹莓派主控程序由C語言編寫,主要作用如下:
(1)監(jiān)聽門的開閉狀態(tài)
在前文開鎖機(jī)制的實(shí)現(xiàn)中提到,對于門狀態(tài)的監(jiān)聽是通過門鎖和門擋之間嵌入銅片實(shí)現(xiàn)的,樹莓派上設(shè)計(jì)了一個(gè)線程,專門用于監(jiān)聽這個(gè)信號(hào)。同時(shí),如果門的狀態(tài)由閉變成開,程序會(huì)發(fā)送驗(yàn)證請求到服務(wù)器,由服務(wù)器判斷此次開門動(dòng)作的合法性(即是否由用戶輸入指紋而發(fā)生)。如果服務(wù)器反饋正常,打開揚(yáng)聲器播報(bào)歡迎語音(可設(shè)置取消),監(jiān)聽程序等待門重新閉合,重新開始新的監(jiān)聽工作;如果服務(wù)器反饋異常,則打開揚(yáng)聲器播報(bào)警告。
(2)硬件控制
這一部分主要用于對指紋識(shí)別模塊和門鎖開關(guān)驅(qū)動(dòng)的控制,綜合運(yùn)用了指紋識(shí)別模塊的23條指令來實(shí)現(xiàn)系統(tǒng)的核心需求——指紋開鎖。同時(shí),該部分還與通信程序結(jié)合,實(shí)現(xiàn)遠(yuǎn)程開鎖、開鎖日志等功能。
以遠(yuǎn)程開鎖流程為例,當(dāng)用戶在遠(yuǎn)程手機(jī)端點(diǎn)擊開鎖按鈕后,手機(jī)APP發(fā)送請求至服務(wù)器,服務(wù)器解析出手機(jī)APP發(fā)送的數(shù)據(jù)包,先把操作記錄到數(shù)據(jù)庫中,然后按照樹莓派與服務(wù)器的約定,等待樹莓派讀取服務(wù)器上的開鎖指令。樹莓派讀取到指令后,開啟一個(gè)讓GPIO第21號(hào)針腳變高電平并持續(xù)1.5秒的線程。此時(shí),電磁鎖通電,鎖舌縮進(jìn),即開鎖。
2.服務(wù)器端的設(shè)計(jì)與實(shí)現(xiàn)
本系統(tǒng)中,服務(wù)器與樹莓派之間的業(yè)務(wù)聯(lián)系都是通過Socket連接,使用Java語言和MySQL數(shù)據(jù)庫系統(tǒng),與手機(jī)APP之間的業(yè)務(wù)聯(lián)系都是通過HTTP協(xié)議,采用JSON數(shù)據(jù)格式,使用PHP語言和MySQL數(shù)據(jù)庫系統(tǒng)。服務(wù)器端主要起到以下兩個(gè)作用:
(1)接收并存儲(chǔ)樹莓派發(fā)來的安全信息:
樹莓派每1.5秒攜帶樹莓派的相關(guān)信息(如:樹莓派的工作狀態(tài)、指紋識(shí)別模塊的工作狀態(tài)、門的開閉狀態(tài)等)訪問一次服務(wù)器,服務(wù)器端接收這些信息后,根據(jù)分類,把這些信息存儲(chǔ)到數(shù)據(jù)庫里面。同時(shí)還讀取數(shù)據(jù)庫里面存儲(chǔ)的發(fā)送到樹莓派的指令隊(duì)列(這些指令主要由用戶從APP端發(fā)送過來),并返回給樹莓派。此時(shí),如果手機(jī)APP端沒有特殊的指令要求,一般返回讓樹莓派正常工作的指令。這一部分從Java語言,通過Socket實(shí)現(xiàn),使用了JDBC連接MySQL數(shù)據(jù)庫。
(2)讀取信息并反饋給手機(jī)客戶端:
這一部分可以看作微型的信息服務(wù)系統(tǒng),整個(gè)流程大致如下:由手機(jī)APP發(fā)送查詢請求,接口程序從數(shù)據(jù)庫系統(tǒng)里面找到相應(yīng)的條目,然后加工處理成JSON數(shù)據(jù)返回給手機(jī)APP。手機(jī)APP讀取到這些數(shù)據(jù)后,加載到界面上顯示給用戶看。其中,手機(jī)APP采用Java語言,基于安卓系統(tǒng)編寫,接口程序使用PHP語言編寫。
3.手機(jī)APP的設(shè)計(jì)與實(shí)現(xiàn)
手機(jī)APP的開發(fā)基于當(dāng)前最流行的安卓平臺(tái)的,軟件分成前臺(tái)頁面、數(shù)據(jù)處理、業(yè)務(wù)邏輯、獨(dú)立工具四層結(jié)構(gòu)。限于篇幅,涉及到的軟件工程中開發(fā)實(shí)施過程中的技術(shù)細(xì)節(jié),本文不詳加介紹。功能上,該APP具有查詢門鎖開關(guān)信息(如:門編號(hào)、開門人、開門所使用的指紋編號(hào)、詳細(xì)時(shí)間等)、查詢門鎖異常狀態(tài)(如:發(fā)生時(shí)間、持續(xù)時(shí)間、門編號(hào)等)、查詢樹莓派端硬件狀態(tài)(如:系統(tǒng)時(shí)間、指紋模塊工作狀態(tài)、監(jiān)聽模塊工作狀態(tài))等功能。
出乎意料的是,我們還很容易地就額外做出遠(yuǎn)程開鎖這一功能,這也進(jìn)一步說明了這種系統(tǒng)架構(gòu)具有很強(qiáng)的可拓展性。
三、發(fā)展趨勢
指紋技術(shù)這些年不斷成熟與進(jìn)步,同時(shí)也一步步擴(kuò)大了民用市場。因?yàn)槊裼弥讣y識(shí)別技術(shù)是“可知主體”的,“比對”速度較快,準(zhǔn)確率高,較之刑偵應(yīng)用更易普及,所以具備了大規(guī)模推廣和市場的基礎(chǔ)。本文設(shè)計(jì)的基于樹莓派的指紋識(shí)別門禁系統(tǒng),可以定時(shí)檢測門鎖狀態(tài)并采用無線通訊方式向用戶的手機(jī)APP里發(fā)送信息以及警報(bào)信息,還大大增強(qiáng)了門鎖的安全性。隨著社會(huì)的發(fā)展,普通的單機(jī)門禁系統(tǒng)已經(jīng)越來越跟不上小區(qū)以及景點(diǎn)的智能化發(fā)展,依賴樹莓派這部功能強(qiáng)大的電腦進(jìn)行改進(jìn)不失為一個(gè)好的解決方案。
四、結(jié)語
本文設(shè)計(jì)并實(shí)現(xiàn)了基于樹莓派的指紋識(shí)別門禁系統(tǒng)。與樹莓派巧妙結(jié)合,并應(yīng)用與智能手機(jī)等移動(dòng)終端,增強(qiáng)了與用戶之間的互動(dòng)性,用戶體驗(yàn)效果好,加強(qiáng)了門禁系統(tǒng)的安全性,具有更好地應(yīng)用前景。
參考文獻(xiàn):
[1]王瑩.基于指紋識(shí)別技術(shù)的智能門禁系統(tǒng)的設(shè)計(jì)[J].指紋識(shí)別技術(shù),2014.
[2]陳偉利,韓成浩.基于指紋識(shí)別技術(shù)的網(wǎng)絡(luò)式門禁系統(tǒng)設(shè)計(jì)[J].指紋識(shí)別技術(shù).安防科技,2008,29(6):78-80.
[3]指紋識(shí)別技術(shù)的發(fā)展前景及四大類型.http://project.21csp.com.cn/c172/201408/73604.html.
基金項(xiàng)目:2016年江蘇省高等學(xué)校大學(xué)生實(shí)踐創(chuàng)新訓(xùn)練計(jì)劃(scx1601)