黃秀亮
(湖南信息職業(yè)技術(shù)學(xué)院 湖南 410200)
目前已經(jīng)將嵌入式結(jié)構(gòu)應(yīng)用到了指紋識別系統(tǒng)中,但是大部分還沒有聯(lián)網(wǎng)能力。有少數(shù)的指紋識別系統(tǒng)擁有聯(lián)網(wǎng)能力,它們大多都采用這樣的架構(gòu),前端是嵌入式平臺,PC機是服務(wù)器,以太網(wǎng)連接著嵌入式平臺和服務(wù)器;前段作為采集和識別指紋的平臺,指紋的存儲和管理是在服務(wù)器端進(jìn)行。本文主要研究的是基于B/S結(jié)構(gòu)的嵌入式指紋識別與管理終端,它采取了與嵌入式平臺/服務(wù)器架構(gòu)完全不同的指紋識別系統(tǒng)架構(gòu)。這個終端在完成一些基礎(chǔ)功能的基礎(chǔ)上,比如采集、識別、管理、存儲指紋等等,還可以有效的連入internet,這樣指紋信息管理者就可以經(jīng)過一些步驟在任意一臺的瀏覽器中將指紋模板信息、指紋圖像信息提取出來,并且還可以有效的對指紋日志信息進(jìn)行查詢。
本系統(tǒng)采用的硬件平臺是基于S3C4510B微控制器,然后將cclinux操作系統(tǒng)和相關(guān)的驅(qū)動程序移植到這個終端上,編寫程序的時候就可以依據(jù)這個uclinux操作系統(tǒng),從而有效的處理指紋。同時,還移植了支持公共網(wǎng)關(guān)接口的HTTP服務(wù)器軟件,這樣就可以在本系統(tǒng)終端上將Webserver的功能給提供出來,并且為了滿足internet上的瀏覽器可以訪問本終端,還編寫了相關(guān)的CGI程序。
本終端設(shè)置了多個功能模塊,比如基本的顯示模塊和鍵盤以及Webserver等,同時還包括了指紋采集、指紋識別以及指紋存儲和指紋管理等模塊。這幾個部分的控制都是由uclinux操作系統(tǒng)上的總體控制程序來完成的,互相的協(xié)調(diào)和配合,就可以有效的采集、識別、存儲以及管理指紋。用戶的信息交互功能主要是由顯示模塊和鍵盤共同完成的,顯示模塊可以向用戶展現(xiàn)指紋處理過程中的提示信息,管理員和用戶系統(tǒng)則可以借助鍵盤部分將信息輸入到系統(tǒng)中。
本系統(tǒng)的硬件結(jié)構(gòu)主要包括兩個部分,一部分是指紋模塊,一部分是基于S3C4510B的硬件平臺,RS232接口可以有效的將這兩個部分連接起來。指紋模塊的功能就是采集和識別指紋;可以依據(jù)具體的情況來選擇適合的指紋模塊,只要它可以將指紋的圖像信息有效地采集起來,并且生成指紋模板,這些采集來的指紋信息往往會被儲存在模塊內(nèi)部的flash中;在采集和識別指紋的時候,發(fā)布命令的工作是由串口來實現(xiàn)的。基于S3C4510B的硬件平臺包括了很多部分,比如flash、sdram、usb控制芯片、串口、以太網(wǎng)接口、鍵盤等等。
本終端上的軟件結(jié)構(gòu)是基于uclinux操作系統(tǒng)之上,是非常層次化的,主要可以分為三個層次:驅(qū)動層、核心層、應(yīng)用層;culinux的驅(qū)動層軟件位于最底層,主要包括各個方面的驅(qū)動,比如串口驅(qū)動、usb驅(qū)動、lcd驅(qū)動以及鍵盤驅(qū)動等等;uclinux操作系統(tǒng)的核心部分位于中間,最上面的是應(yīng)用層軟件,基于uclinux操作系統(tǒng)編寫。應(yīng)用層軟件應(yīng)該包括三個方面的內(nèi)容,指紋處理應(yīng)用程序,CGI程序和嵌入式webserver等。軟件結(jié)構(gòu)如圖1所示:
圖1 軟件結(jié)構(gòu)圖
Uclinux及驅(qū)動程序的移植:因為uclinux適合的微處理器或者微控制器都不具備MMU,而S3C4510B沒有內(nèi)存管理單元,因此就可以移植uclinux系統(tǒng)。本文所講的是uclinuxdist-20070130.tar.gz,因此,ISP116X主機控制器的驅(qū)動程序也附屬在內(nèi)核部分,采用的USB控制器芯片是ISP1161AI。在對uclinux操作系統(tǒng)進(jìn)行移植的時候,首先應(yīng)該對內(nèi)核中的相關(guān)部分進(jìn)行修改,修改的依據(jù)是硬件平臺中配置的具體情況。然后對主機控制器驅(qū)動程序進(jìn)行修改,修改時要嚴(yán)格依據(jù)ISP1161AI和S3C4510B之間的連接情況,要依據(jù)點陣式LCD和鍵盤的硬件連接來對字符型LCD驅(qū)動程序和字符型鍵盤驅(qū)動程序來進(jìn)行編寫。串口驅(qū)動是不需要進(jìn)行修改的。在對uclinux內(nèi)核進(jìn)行編譯的時候,需要對可能需要的驅(qū)動程序和應(yīng)用程序進(jìn)行選中;還需要選中USB mass storage support和scsi disk support,這是為了對U盤進(jìn)行支持。Uclinux內(nèi)核等到編譯成功后就可以有效的存儲U盤。
嵌入式Webserver的移植及CGI程序的編寫:在uclinux操作下同下,主要提供了heepd boa thttpd三個webserver;httpd是最簡單的webserver,因此具有最弱的功能。而thttpd和boa具有比較完善的功能,并且支持認(rèn)證和CGI。根據(jù)本系統(tǒng)的特點,選擇植入的嵌入式系統(tǒng)是boa,boa作為一項單任務(wù)的webserver,具有十分開放的源代碼,并且具有比較高的性能。要想在culinux下對boa進(jìn)行實現(xiàn),就需要配置和修改boa,比如它的新建目錄,指定webserver的根目錄路徑以及對boa.conf文件進(jìn)行修改等等。CGI是一種通用接口標(biāo)準(zhǔn),它可以有效的交互外部擴展應(yīng)用程序與webserver,CGI在webserver上運行的,從而將一個執(zhí)行外部程序的通道提供給webserver。因為uclinux可以有效的支持C語言,并且C語言平臺具有無關(guān)性,且高效簡潔的代碼,那么在編寫CGI程序的時候就選擇了C語言。只要對CGI的應(yīng)用程序進(jìn)行了編寫,并且將嵌入式webserver移植之后,指紋信息管理者在訪問本終端時就可以通過internet上的瀏覽器。這樣指紋信息的管理者在向本終端發(fā)送HTTP請求的時候,就可以通過瀏覽器來進(jìn)行;并且還可以有效的將指紋模板信息和指紋圖像信息給提取出來,還可以查詢指紋日志信息。
指紋識別:在識別時,還可以同時在另一個自建數(shù)據(jù)庫中建立相關(guān)的日志信息。如果指紋模板的數(shù)量在500以內(nèi),那么就可以采用“最近最多使用算法”,這樣可以大大的提高識別時間。應(yīng)用程序要想處理指紋,首先應(yīng)該做的就是對硬件進(jìn)行初始化,比如設(shè)置指紋模塊的波特率、設(shè)置安全級別、初始化點陣式LCD、掛載U盤等等;然后將U盤中的指紋模板給調(diào)入到嵌入式平臺中的SDRAM中,然后就可以有效的在數(shù)組中存儲。完成了初始化工作之后,就可以處理指紋。
本終端采用了小型化的嵌入式系統(tǒng),并且在低廉價格的基礎(chǔ)上,還擁有比較高的性能,從而有效的識別和管理指紋。在嵌入式指紋平臺中應(yīng)用B/S結(jié)構(gòu),這樣訪問本終端的時候,就可以利用IP地址來實現(xiàn)。本設(shè)計可以有效的動態(tài)管理指紋終端,并且不需要配置相關(guān)的服務(wù)器。本文簡要介紹了基于B/s結(jié)構(gòu)的嵌入式指紋識別及管理終端的總體設(shè)計、硬件結(jié)構(gòu)以及軟件結(jié)構(gòu),希望可以提供一些有價值的參考意見。
[1]楊永華.基于B/S結(jié)構(gòu)的嵌入式指紋識別與管理終端[J].計算機工程,2009,35(4):276-278.
[2]牛為華.基于B/S結(jié)構(gòu)的WEB應(yīng)用模型[J].電力情報,2002,2(3):123-125.
[3]王京.B/S結(jié)構(gòu)指紋考勤管理系統(tǒng)的設(shè)計與實現(xiàn)[J].軟件導(dǎo)刊,2011,2(11):45-47.