基于RFID的門禁管理系統(tǒng)_第1頁
基于RFID的門禁管理系統(tǒng)_第2頁
基于RFID的門禁管理系統(tǒng)_第3頁
基于RFID的門禁管理系統(tǒng)_第4頁
基于RFID的門禁管理系統(tǒng)_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、課程設計任務書學院計算機與信息工程學院專業(yè)物聯(lián)網(wǎng)工程課程名稱RFID條碼與技術題目基于RFID的門禁管理系統(tǒng)完成期限自2015年12月23日至2016年1月5日共兩周一、項目的目的系統(tǒng)學習MicrosoftVisualStdio2010開發(fā)環(huán)境及設計語百,學習MicrosoftSQLServer2008開發(fā)環(huán)境及設計語百;研究基于ISO15693協(xié)議開發(fā)的應用,研究RFIDft術在實際生活中的具體應用;綜合利用上述知識,實現(xiàn)對標簽寫入人員信息、自動識別人員信息、對非法人員發(fā)出警報并顯示門的開關狀態(tài)等功能。二、項目任務的主要內(nèi)容和要求1、任務內(nèi)容設一套基于RFID的門禁系統(tǒng),利用RFID技術,實

2、現(xiàn)對標簽寫入人員信息、自動識別人員信息、對非法人員發(fā)出警報并顯示門內(nèi)容的開關狀態(tài)等功能。2、任務要求該系統(tǒng)能夠完成人員信息的寫入、對信息的自動識別、監(jiān)控是及否有非法人員闖入和介紹實驗室的諦言播報。任務三、項目設計(研究)思路系統(tǒng)主要包括硬件電路連接和軟件模塊的設計。硬件電路連接部分,主要是將RFID實驗箱中的ISO15693M莫塊通過用口線連接到PC端,進行數(shù)據(jù)的傳輸。軟件模塊部分,主要是利用MicrosoftVisualStdio2010開發(fā)環(huán)境來完成軟件界面的設計,達到寫入、監(jiān)控、識別的目的;另外還用到了MicrosoftSQLServer2008數(shù)據(jù)庫開發(fā)環(huán)境,保存人員的相關信息。四、具

3、體成果形式和要求1、符合設計要求的可展示的硬件,軟件系統(tǒng);2、各項設計功能滿足設計需求,功能完成且運行流暢;、3、系統(tǒng)使用說明及設計報告。進度安排起止日期工作內(nèi)容12.23-12.25搜集相關資料,準備實驗相關物品以及對應軟件工具12.26-1.4學習MicrosoftVisualStdio2010和MicrosoftSQLServer2008開發(fā)環(huán)境及設計語言,進行設計的硬件搭建,數(shù)據(jù)庫建立,界面設計1.5項目驗收和答辯主要參考資料1孫三才,許熏伊.精通訊ASP.net程序設計M.北京:中國鐵道出版社,2003:37-462華國棟,劉文予.基于ADO.NET勺數(shù)據(jù)庫訪問及其性能優(yōu)化J.電腦知

4、識與技術學術交流,2007(09):20-213朱印紅,蘇振巍.ASP.NET+SQLServe網(wǎng)站模塊化開發(fā)全程實錄.北京:清華大學出版社,2009.74常永英.ASP.NET程序設計教程:C#版.北京:機械工業(yè)出版社,2009.95李書濤.SQLServer語言程序設計教程.北京:北京理工大學出版社,1993:65-70.指導教師意見(簽字):年月日系(教研室)主任意見(簽字):年月日課程設計說明書學院名稱:計算機與信息工程學院班級名稱:物聯(lián)網(wǎng)工程學生姓名:學號:題目:基于RFID的門禁管理系統(tǒng)指導教師:起止日期:2止5年12月23-2016年1月5日目錄一、緒論11.1引言1二、相關知識

5、11.1 ISO15693協(xié)議11.1.1 ISO15693標準相關指令簡介11.1.2 相關說明31.2 MicrosoftVisualStdio2010開發(fā)環(huán)境31.3 MicrosoftSQLServer2008開發(fā)環(huán)境33 、概要設計43.1 總體設計43.1.1 需求規(guī)定43.1.2 運行環(huán)境43.1.3 基本設計概念43.1.4 系統(tǒng)流程53.1.5 人工處理的部分53.2 接口設計53.2.1 用戶接口53.2.2 外部接口53.2.3 內(nèi)部接口63.3 系統(tǒng)數(shù)據(jù)結構設計63.3.1 物理結構設計的要點63.3.2 數(shù)據(jù)結構與程序的關系64 、詳細設計64.1 系統(tǒng)流程圖64.2

6、 打開串口的程序說明74.3 讀卡的程序說明84.4 增加、刪除、修改的程序說明84.5 自動讀卡的程序說明85 、系統(tǒng)測試85.1 串口的測試95.2 初始化卡片105.2.1 讀卡105.2.2 添加105.2.3 修改115.2.4 刪除125.3 門禁監(jiān)視125.3.1 自動讀卡135.3.2 語音136 、結論14附錄15參考文獻300一、緒論1.1引言射頻識別(RadioFrequencyIdentification,RFID)技術是從20世紀80年代開始走向成熟的一項自動識別技術,是當前最受人們關注的熱點之一,該項技術既傳統(tǒng)也充滿新意和活力。射頻識別是無線電識別的簡稱,它源于無線

7、電通信技術,綜合了現(xiàn)代計算機智能控制、智能識別、計算機網(wǎng)絡等高新技術,順應了計算機集成制造系統(tǒng),電子商務等熱點應用的發(fā)展需要。射頻識別應用電磁場,以非接觸、無視覺、高可靠的方式傳遞特定識別信息,由于大規(guī)模集成電路技術的日益成熟,使得射頻識別系統(tǒng)的體積大大減少,從而進入了實用化階段。射頻識別技術具有工作距離大、信息收集處理快捷及較好的環(huán)境適應性等優(yōu)點,極大地加速了有關信息的采集和處理,在近年來獲得了極為迅速的發(fā)展。隨著科技的發(fā)展,人們開始追求智能化的生活,而門禁系統(tǒng)則是生活中非常實用的系統(tǒng),在這個即要求效率又要求安全的需求下,門禁系統(tǒng)將逐漸走進人們的生活。隨著建設的發(fā)展,公司、工廠、學校都安裝了

8、門禁系統(tǒng)。門禁系統(tǒng)的普及率快速增長,由于其安全和便捷使得門禁系統(tǒng)得到了用戶的認可。但系統(tǒng)可能還不夠完善,存在某些不夠人性化的方面。如果技術足夠成熟,系統(tǒng)足夠健壯那么會得到廣大用戶的實用。針對社會發(fā)展的需求和面臨的問題結合RFID技術,設計并實現(xiàn)基于RFID的門禁管理系統(tǒng),實現(xiàn)人員信息的錄入、人員識別、陌生人警報等。二、相關知識2.1ISO15693協(xié)議ISO15693是針對射頻識別應用的一個國際標準,該標準定義了工作在13.56Mhz下智能標簽和讀寫器的空氣接口及數(shù)據(jù)通信規(guī)范,符合此標準的標簽最遠識讀距離達到2米。1.1.1 ISO15693標準相關指令簡介在RFID_ReaderPC機軟件控

9、制下可執(zhí)行ISO15693標準相關指令,其必備指令和常用可選指令一共有15個。指令定義如下表2-1所示,具體如下:表2-1指令定義CommandCodeMethodDiscription01InventoryAnti-CollisionCheckRFfieldandreadallUIDsofRFIDtags.UsesInventorycommand.02StayQuietStayQuiet:Putaspecifictagintoquietstate.Tagsinquietstatewillnotreplytoinventorycommand.03SelectSelect:Putaspecifi

10、ctagintoselectedstate.Tagsinselectedstatewillonlyreplytocommandswithselectbiton.04ResetToReadyResetToReadyPutalltagsintheinitialreadystate.AlltagsareinreadystatewhentheyfirstentertheRFfield.05WriteAFIWriteAFIByteChangingtheAFIbyteoftag(s)toanewvalue.06LockAFILockAFIByteDisallowingfuturechangingoftag

11、(s)'AFIvalue07ReadSngleBlockReadSingleBlockReadthedatastoredintag(s)'singleblock.08WriteSingleBlockWriteSingleBlockWriteuserdataintotag(s)'singleblock09LockBlockLockSingleBlocD:isallowfuturewritingintoselectedtag(s)single'block.0AReadMultiBlockReadMultiBlockReadthedatastoredintag(s)m

12、ulti'block.0BWriteMultiBlockWriteMultiBlock:Writeuserdataintotag(s)multiblock0CWriteDSFIDWriteDSFID:WriteanewDSFIDbytevalueintotag(s).0DLockDSFIDLockDSFIDDisallowchangingofDSFIDbytevalueinthefuturefortag(s).0EGetSystemInfoGetSystemInformationGettaginformation(e.g.manufacturer,size,etc)fromtag.0F

13、GetMultiBlockSecurityStatusGetMultipleBlockSecurityStatus:Getthesecuritystatusofblock(s)fromtag(s).1.1.2 相關說明對命令功能通俗的描述和使用相關要求如下:01(Inventory)指令:強制的指令,對應ISO15693標準的0x01指令;讀取RF場強范圍內(nèi)處于激活狀態(tài)的RFID標簽。根據(jù)相應的標志,可以只讀取單個標簽,也可以讀取多個標簽,執(zhí)行防沖突功能,理論上可以一次讀出所有處于激活狀態(tài)的標簽。02(StayQuiet):強制的指令,對應ISO15693標準的0x02指令;使激活的標簽進入靜

14、默狀態(tài)。一次只能對單個標簽操作,且必須跟在同一個標簽的01(Inventory)指令之后。本系統(tǒng)的開發(fā)就是基于ISO15693協(xié)議,其中主要使用了Inventory方法,就行尋卡的操作,進行功能的實現(xiàn)。2.2 MicrosoftVisualStdio2010開發(fā)環(huán)境VisualStudio可以用來創(chuàng)建Windows平臺下的Windows應用程序和網(wǎng)絡應用程序,也可以用來創(chuàng)建網(wǎng)絡服務、智能設備應用程序和Office插件。.NET的通用語言框架機制(CommonLanguageRuntime,CLR),其目的是在同一個項目中支持不同的語言所開發(fā)的組件。所有CLR支持的代碼都會被解釋成為CLR可執(zhí)行

15、的機器代碼然后運行。高效的開發(fā)環(huán)境MicrosoftVisualStudio2010采用拖曳式便能完成軟件的開發(fā)。簡簡單單的操作便可以實現(xiàn)一個界面的生成。本系統(tǒng)就是利用MicrosoftVisualStudio2010開發(fā)環(huán)境中的Winform開發(fā)模板,進行系統(tǒng)控制界面的開發(fā)。2.3 MicrosoftSQLServer2008開發(fā)環(huán)境SQL是英文StructuredQueryLanguage的縮寫,意思為結構化查詢語言。SQL語言的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關系型數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操

16、作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)SQLServer是一個關系數(shù)據(jù)庫管理系統(tǒng)。該系統(tǒng)具有以下特點:安全性:可以以很高的安全性、可靠性和可擴展性來運行他們最關鍵任務的應用程序。高效性:可以降低開發(fā)和管理他們的數(shù)據(jù)基礎設施的時間和成本。智能性:提供了一個全面的平臺,可以在你的用戶需要的時候給他發(fā)送觀察和信息。所以本系統(tǒng)就采用了MicrosoftSQLServer2008開發(fā)環(huán)境作為用戶相關信息的數(shù)據(jù)庫保存體,用來方便快捷的獲取到用戶的信息。三、概要設計3.1 總體設計3.1.1 需求規(guī)定利用RFID技術,實現(xiàn)對標簽寫入用戶信息、對用戶信息的識別與監(jiān)控。標簽寫入學用戶信息,通過讀取標簽,

17、將獲取的標簽號,寫入數(shù)據(jù)庫,同時跟此標簽編號對應的還有用戶姓名,單位名稱,聯(lián)系電話等信息也同時寫進數(shù)據(jù)庫的一張表中。也就是說,實際上標簽里沒有存儲關于用戶的任何信息,所有的信息都存放在數(shù)據(jù)庫中。門禁監(jiān)視,讀到的RFID標簽的編號,根據(jù)該編號從數(shù)據(jù)庫中讀出該用戶的信息顯示在界面上,并且歡迎該用戶;若數(shù)據(jù)庫中沒有該便簽編號,界面上顯示為“無效卡”,發(fā)出警報信息提示出示有效證件。3.1.2 運行環(huán)境操作系統(tǒng):Windows7操作系統(tǒng)軟件環(huán)境:MicrosoftVisualStdio2010開發(fā)環(huán)境+SQLServer2008數(shù)據(jù)庫硬件環(huán)境:RFID系統(tǒng)實驗箱3.1.3 基本設計概念本系統(tǒng)的設計由UI

18、層,邏輯層和數(shù)據(jù)庫層三部分組成,如表3-1所示:表3-1三層架構UI層(C-邏輯層(標簽寫入用戶信息,修改信息,門禁監(jiān)視功能)數(shù)據(jù)庫層(保存信息)UI層:完成PC端的控制界面,完成與用戶之間的交互邏輯層:具體的功能實現(xiàn)層,完成具體的功能,與用戶界面進行銜接數(shù)據(jù)庫層:保存關于人員的相關信息,包括卡的編號、用戶姓名、單位名稱本系統(tǒng)的設計概念就是將代碼與界面分開,既保證用戶的良好的交互也保證數(shù)據(jù)的分離,達到方便、快捷的目的。3.1.4 系統(tǒng)流程該門禁管理系統(tǒng),系統(tǒng)運行時,主要有以下步驟: 先選擇串口號以及波特率,接著進行打開串口; 為某一個用戶錄入信息,選取一張白卡,讀出卡號,填寫用戶的信息,點擊保

19、存按鈕,數(shù)據(jù)成功保存至數(shù)據(jù)庫,同樣的方法,將要進入該房間的用戶的姓名、單位名稱、聯(lián)系電話、稱謂以及用戶照片都添加到數(shù)據(jù)庫進行保存; 用戶刷卡進入某房間,已成功注冊的用戶可以進入房間,系統(tǒng)根據(jù)用戶所持卡的編號查詢出用戶的信息,顯示在系統(tǒng)界面,歡迎用戶進入,如果用戶持未注冊的卡刷卡進入房間,則系統(tǒng)界面上回顯示該卡無無效卡,并發(fā)出警報;注:1).修改已注冊的用戶信息,若發(fā)現(xiàn)已注冊的用戶信息有誤,可進行修改用戶信息或者刪除用戶信息和所持卡的卡號。2) .點擊界面上的實驗室介紹,語音播報實驗室介紹。3.1.5 人工處理的部分在本系統(tǒng)中,需要人工處理的部分,主要是讀卡時,將用戶的相關信息與卡片綁定,然后存

20、入數(shù)據(jù)庫,可省去用戶進入房間的相關行為,使進入房間的過程更加便捷,也使管理人員可以更容易的統(tǒng)計相關信息。3.2 接口設計3.2.1 用戶接口用戶接口是為了方便用戶與計算機應用交流的窗口,通過接口,用戶可以操作使用應用程序,本系統(tǒng)中,使用者可以添加用戶的信息,可以對用戶進入房間進行門禁監(jiān)視,也可以查看對房間(實驗室等)的介紹或者注意事項。3.2.2 外部接口本系統(tǒng)中的外部接口主要是指PC端的串口與RFID實驗箱上的串口進行連接,設置波特率等基本的連接操作。3.2.3 內(nèi)部接口內(nèi)部接口方面,各模塊之間采用函數(shù)調(diào)用、參數(shù)傳遞、返回值的方式進行信息傳遞。具體參數(shù)的結構將在下面數(shù)據(jù)結構設計的內(nèi)容中說明。

21、接口傳遞的信息將是以數(shù)據(jù)結構封裝了的數(shù)據(jù),以參數(shù)傳遞或返回值的形式在各模塊間傳輸。3.3 系統(tǒng)數(shù)據(jù)結構設計3.3.1 物理結構設計的要點物理數(shù)據(jù)結構設計主要是設計數(shù)據(jù)在模塊中的表示形式。數(shù)據(jù)在模塊中都是以結構的方式表示。用戶的信息表名:tb1_UserInfo表的屬性:TagNumber(卡的編號),UserName(用戶姓名),UserCompany(單位名稱),UserAppellative(習慣稱謂),UserTelephone(聯(lián)系電話),UserPhoto(用戶照片)。3.3.2 數(shù)據(jù)結構與程序的關系通過定義用戶的數(shù)據(jù)表,在程序中可通過SQL語句對數(shù)據(jù)表進行基本的增刪改查操作。在后臺

22、對用戶進行數(shù)據(jù)庫添加、修改、刪除等都要對數(shù)據(jù)表進行操作。以及自動讀卡階段,要從數(shù)據(jù)庫中提取信息,然后將信息顯示出來。四、詳細設計4.1 系統(tǒng)流程圖該系統(tǒng)的運行過程,先打開串口,然后進行讀卡操作,修改數(shù)據(jù)庫信息,最后進行門禁監(jiān)視的功能,本系統(tǒng)的詳細流程圖如下圖4-1所示:開始打開串口F是否在數(shù)據(jù)庫中通過關閉串口結束圖4-1系統(tǒng)流程圖4.2 打開串口的程序說明打開串口的程序主要是靠按鈕btn_Open_Dem0勺事件觸發(fā)程序來打開串口,其中程序中主要是靠reader.OpenSerialPort這個函數(shù)來實現(xiàn)對串口以及波特率的選擇操作,具體的程序代碼見附錄btn_Open_Demo_Click函數(shù)

23、??梢酝ㄟ^重置按鈕來清除串口和波特率的文本框中的數(shù)據(jù),重置的程序主要是靠按鈕btn_Refresh_Demo的事件觸發(fā)程序來清除數(shù)據(jù),其中程序中主要是靠btn_Refresh_Demo_Click來實現(xiàn)的,具體代碼見附錄btn_Refresh_Demo_Click函數(shù)。4.3 讀卡的程序說明讀卡的程序主要是通過讀卡按鈕btn_InventoryDemo的事件觸發(fā)程序來進行讀卡的操作,在事件觸發(fā)程序中,主要用到了Inventory函數(shù)用來進行尋卡操作,可以將讀卡器上放置的所有卡片都讀取出來,具體的程序代碼見附錄btn_InventoryDemo_Click函數(shù)。4.4 增加、刪除、修改的程序說明

24、在讀出卡的編號之后,增加、刪除、修改的程序也主要是通過按鈕btn_Add、btn_Modify、btn_Delete的事件觸發(fā)程序來進行對用戶的相關信息進行操作,其中主要是用到了SQM旬進行增加、刪除、修改的操作,具體的程序代碼見附錄btn_Add_Click、btn_Modify_Click、btn_Delete_Click函數(shù)。4.5 自動讀卡的程序說明在門禁監(jiān)視程序中還有語音選項,選擇語音選項,則可以有語音提示。其中自動讀卡的程序,也主要是是通過按鈕btn_Monitor的事件觸發(fā)程序來進行讀卡的操作,其中用到了線程Monitor函數(shù),是讀卡器能都不間斷的進行讀卡操作,具體的代碼見附錄b

25、tn_Monitor_Click函數(shù)和Monitor_Click函數(shù)。語音提示的程序,主要是通過chk_Voice的觸發(fā)來進行語音的提示,具體的代碼見附錄chk_Voice.Checked中。五、系統(tǒng)測試基于上述的思路,本小組開發(fā)出來的系統(tǒng)界面如下圖5-1所示:班D應用申目|清除圖5-1RFID門禁管理系統(tǒng)界面從上述的圖片中可以看出,本界面的主要分區(qū),第一分區(qū)是串口的分區(qū),包括選擇串口以及設置波特率;第二分區(qū)主要是初始化卡片的分區(qū),包括讀卡操作、添加、修改、刪除、清除、瀏覽等操作;第三分區(qū)主要是門禁監(jiān)視的分區(qū),包括自動讀卡的操作,以及語音的功能操作。5.1串口的測試當利用RFID實驗箱與PC端

26、的串口進行連接時,通過查看本機的設備管理器,查看對應的用口號,查看的結果如下圖5-2所示:自設至管理鑿文件操作聞董看(V)幫助&畛I直I口演I啰V當DES<TOP*ARTAHTK*DVD/CD-ROM驅(qū)igIDEATA/ATAPI拄制靠Q處理器g再??刂平?gt;=打印隊列>等電池VT7加口(COM和LPT)卡USB-SERIALCH34O(COM3>?計算機IIUfaClajp圖5-2串口的查看當用口選擇之后,在串口分區(qū)中,選擇正確的串口,然后設置波特率,這里程序中自動將波特率設置為115200;串口打開成功,在ListBox控件中,顯示出來串口打開成功提示信息,具

27、體的顯示如下圖5-3所示;WKWLXLSJKr-.KtARFI口自用工歷H2D16X1/31G:-14:4<itil*LjC圖5-3用口打開提示信息5.2 初始化卡片本功能分區(qū)中的主要功能有讀卡的功能、添加、修改、刪除等功能。具體的圖示見圖5-1所示。5.2.1 讀卡當點擊讀卡按鈕時,觸發(fā)讀卡按鈕的事件處理程序,此時放置兩張卡片在讀寫器上,可讀取出來卡片的編號,具體如圖5-4所示式線當正別式觸門禁提示一RF工D應用項目2016/1/31&:a:必invent口巷令執(zhí)行成功讀取至U的卡片數(shù)量為:2,2016/1/316:妙:如|:串口匚。股打開成功!圖5-4讀卡的示意圖從上述圖中可

28、以看出,放置的兩張白卡,下面ListBox中顯示出來了讀取到的卡片的數(shù)量,同時也讀取出來了卡的編號,在下拉框中可以選擇不同的卡片編號,進行添加用戶姓名以及單位名稱,完善用戶的基本信息。5.2.2 添加當讀取到白卡的編號時,在下面的TextBlock文本框中,填入用戶姓名以及單位名稱等,點擊添加按鈕,信息將自動保存到數(shù)據(jù)庫tb1_UserInfo表中,以此類推,再放置兩張白卡,完善三張卡片所對應的用戶信息,以及后續(xù)的使用,數(shù)據(jù)庫中tb1_UserInfo中的信息保存如下圖5-5所示。TagNumberMe削am。JserCompany版dkpart"LrAppel編.UserTWeUs

29、erTelepho.HUserPhctoE0M01Q0O12.,盤三2ANULL磷NULL1233412«32NULLE0(b4i)00013.26NULL立NULL1524231234NULLE033MOOOQO.至區(qū)2CNUU.老威NULL1312543245NULLMLNULLNULLNULLNULLNULLNULL圖5-5數(shù)據(jù)庫用戶信息從圖中可以看出數(shù)據(jù)庫中保存了卡片的卡號、用戶姓名以及單位名稱等信5.2.3 修改當想修改一張卡片所對應的習慣稱謂等信息時,可以將卡片放置在讀卡器上,點擊讀卡,此時界面上將顯示出來卡片所對應的信息,在TextBlock文本框中,可以直接更改卡片所

30、對應的習慣稱謂等信息,然后再點擊修改按鈕,即可完成修改信息的功能,若修改成功,會在下方的ListBox中提示修改成功修改之前,放置卡片,界面顯示如下如5-6所示;即工D應用項目打開重置美閉2712016/1/3豬;07門1:工mentsy命令執(zhí)行成功,讀取到的卡片數(shù)量為,U圖5-6修改之前修改之后,例如習慣稱謂王二,改為老王,然后點擊修改按鈕,結果如下圖5-7所示;鄢口通置F-選擇靂口 COM3 1波特率市2口01打開 關閉重置實驗室介紹20ie/l/318二06:;4:InuentQr道令執(zhí)行成功.讀取到的卡片數(shù)量為,1.2016/1/318二06:1露修改成功42016/1/31比口6;。

31、5:工皿3。通令執(zhí)行成功,讀取到的卡片數(shù)量為1<.圖5-7修改之后從上述圖片中,可以看出來,已將習慣稱謂更改,且更改成功,在數(shù)據(jù)庫中進行查看習慣稱謂的信息,此時的信息顯示如下圖5-8所示;TaqNumberUserNameUserComp3nrvUserDepart,UerAppellat,.UwrTitleUserTelephOr.,UserPhoinE0040100012,.,壇2ANULLNULL12334124332NULLE005400001扛之日NULL老王NULL15431234NULLE0330400000.起四2CNLill碎NULl12312543245NULLNUL

32、LNULLNULLNULLNULLNULL圖5-8修改之后的數(shù)據(jù)庫從數(shù)據(jù)庫中的信息來看,卡片所對應的信息已經(jīng)改變,完成了修改的功能。5.2.4 刪除當某一用戶已經(jīng)不在被允許進入時,則可以選擇刪除按鈕進行操作,刪除掉數(shù)據(jù)庫中關于某一用戶的信息。放置一張卡片,如趙四的卡片,點擊刪除按鈕,然后查看數(shù)據(jù)庫中的信息,查看信息是否被刪除,具體數(shù)據(jù)庫中信息如下圖5-9所示;UserNaiTbeDwtCompanvterAppellat,wrTillfrUserTelfrphcji,-,wrPhoto£0040100012Q2ANULLNULL12334124332NULL卜E0054000013.

33、-Q2BNULL老王NULL152W31234NULLNULLNULLNULLNULLNULLNULLNULLNULL圖5-9刪除用戶后的數(shù)據(jù)庫從上述圖片上,可以看出此時用戶趙四已經(jīng)不在數(shù)據(jù)庫中,已刪除成功。5.3 門禁監(jiān)視門禁監(jiān)視分區(qū)主要是完成自動讀卡,語音提示的功能操作。當卡片放到讀卡器上時,自動讀取卡片內(nèi)的信息,讀取處卡片的編號、用戶姓名、單位名稱、聯(lián)系電話和照片。當選擇了語音后,自動尋卡時會有語音提示“歡迎您某某",如果為非數(shù)據(jù)庫中卡則會提示“請您出示有效證件”,界面顯示如下圖5-10所示;圖5-10讀無效卡時的門禁顯示5.3.1 自動讀卡點擊StartMonitor按鈕,開

34、啟自動讀卡模式,接著把卡放在讀卡器上,進行讀卡,完成讀卡動作。例如,選擇張三的卡片,自動讀卡時,讀取到張三的單位名稱,聯(lián)系電話,照片等信息;此時界面上的顯示為圖5-11所示。圖5-11自動讀卡在用戶進入時,在讀卡器上放上數(shù)據(jù)庫中存在的卡,則可以看到卡片的編號和用戶姓名等信息。5.3.2 語音勾選語音,自動尋卡時會有語音提示,如果為數(shù)據(jù)庫中存在的卡則會有“歡迎您某某”的語音提示,如果為數(shù)據(jù)庫中不存在的卡則會提示“請您出示有效證件”并顯示無效卡;界面如下圖5-12所示:1門禁監(jiān)視£StopLlfonitor10語音圖5-12打開語音界面綜上所示,串口的連接、初始化卡片、門禁監(jiān)視三個分區(qū)分

35、別實現(xiàn)了不同的功能需求,基本上滿足了項目的基本需求,完成了人員信息的寫入、對信息的自動識別、監(jiān)控是否有非法人員闖入和介紹實驗室的語言播報的功能,且測試成功,系統(tǒng)基本完成。六、結論通過這次的RFID原理與應用的課程設計的學習,在這門禁管理系統(tǒng)中,能夠?qū)崿F(xiàn)將用戶的信息進行快速的識別和準確的存儲。通過本次的學習了解到了RFID的工作原理和技術特點,進而做出了基于RFID的門禁管理系統(tǒng)的設計和實現(xiàn)。用戶信息錄入門禁系統(tǒng)的數(shù)據(jù)庫后,用戶可以將卡放在讀卡器上,如果是數(shù)據(jù)庫中存在的用戶,這打開門,讓用戶進入,如果卡片為數(shù)據(jù)庫中沒有的,那么將進入不了,并且發(fā)出警報,提示處事有效證件。并顯示信息無效。并且可以實

36、現(xiàn)用戶的增加和刪除,錯誤的信息也可以修改,用戶還可以提交自己的相片。經(jīng)過我們小組成員的不斷努力,該系統(tǒng)雖然實現(xiàn)了門禁管理系統(tǒng)的基本功能,但還有很多的不足之處。比如,如果用戶卡丟失了,怎么通過別的方式進入房間,預想方案有,通過輸入密碼進入,或者通過上傳的照片進行人臉識別。但是現(xiàn)在還不能完成,希望在以后的不斷地學習中能夠更加完善該門禁管理系統(tǒng)的功能。附錄打開串口的程序代碼如下所示:privatevoidbtn_Open_Demo_Click(objectsender,EventArgse)if(!reader.IsOpen)if(cmb_PortName_Demo.SelectedIndex<

37、;0)AddInfoDemo(String.Format("錯誤:請您選擇要打開的用口!");cmb_PortName_Demo.Focus();return;if(cmb_PortName_Demo.SelectedIndex<0)AddInfoDemo(String.Format("錯誤:請您選擇要使用的波特率!");cmb_PortName_Demo.Focus();return;StringPortName=cmb_PortName_Demo.SelectedItem.ToString();Int32BaudRate=115200;/Int

38、32.Parse(cmb_BaudRate.Text.Trim();Bytevalue=reader.OpenSerialPort(PortName,BaudRate);if(value=0x00)AddInfoDemo(String.Format("串口0打開成功!",PortName);elseAddInfoDemo(String.Format("錯誤:串口0打開失敗!",PortName);elseAddInfoDemo(String.Format("錯誤:串口已經(jīng)處于打開狀態(tài)!");重置的程序代碼如下所示:privatevoi

39、dbtn_Refresh_Demo_Click(objectsender,EventArgse)cmb_PortName_Demo.Text=""cmb_BaudRate_Demo.Text=""讀卡的程序代碼如下所示:privatevoidbtn_InventoryDemo_Click(objectsender,EventArgse)if(!reader.IsOpen)AddInfoDemo("請先打開用口。");return;Int32TagCount=0x00;String口TagNumbers=newString0;Byter

40、esult=reader.Inventory(ModulateMethod.FSK,InventoryModel.Multiple,refTagCount,refTagNumbers);/Byteresult=reader.GetAllTagsNum(outTagCount,outTagNumbers);if(result=0x00)AddInfoDemo(String.Format("Inventory命令執(zhí)行成功,讀取到的卡片數(shù)量為:0。",TagCount);elseAddInfoDemo(String.Format("Inventory命令執(zhí)行失敗,失敗代

41、碼0。",result);return;if(TagCount>0)cmb_TagNumbers.Items.Clear();for(Int32i=0;i<TagNumbers.Length;i+)cmb_TagNumbers.Items.Add(TagNumbersi);cmb_TagNumbers.SelectedIndex=0;添加功能的程序代碼如下所示:privatevoidbtn_Add_Click(objectsender,EventArgse)if(txt_UserName.Text.Trim().Length<1)AddInfoDemo("

42、請?zhí)顚懹脩粜彰?quot;);txt_UserName.Focus();if(txt_UserCompany.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懝久Q。");txt_UserCompany.Focus();if(txt_UserTelephone.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懧?lián)系電話。");txt_UserTelephone.Focus();if(txt_Appellative.Text.Trim().Length<1)");AddInf

43、oDemo("請?zhí)顚懥晳T稱謂txt_Appellative.Focus();SqlParameter口sp;if(pic_UserPhoto.ImageLocation=null)sp=newSqlParameter口newSqlParameter("TagNumber",SqlDbType.NVarChar,50),newSqlParameter("UserName",SqlDbType.NVarChar,50),newSqlParameter("UserCompany",SqlDbType.NVarChar,50),ne

44、wSqlParameter("UserTelephone",SqlDbType.NVarChar,50)newSqlParameter("UserAppellative",SqlDbType.NVarChar,50);elsesp=newSqlParameter口newSqlParameter("TagNumber",SqlDbType.NVarChar,50),newSqlParameter("UserName",SqlDbType.NVarChar,50),newSqlParameter("UserC

45、ompany",SqlDbType.NVarChar,50),newSqlParameter("UserTelephone",SqlDbType.NVarChar,50),newSqlParameter("UserAppellative",SqlDbType.NVarChar,50),newSqlParameter("UserPhoto",SqlDbType.Image);sp0.Value=cmb_TagNumbers.SelectedItem.ToString().Trim();sp1.Value=txt_UserNam

46、e.Text.Trim();sp2.Value=txt_UserCompany.Text.Trim();sp3.Value=txt_UserTelephone.Text.Trim();sp4.Value=txt_Appellative.Text.Trim();/rb_Male.Checked?"先生":"女士";if(pic_UserPhoto.ImageLocation!=null)Byte口imagedata;using(FileStreamfs=newFileStream(pic_UserPhoto.ImageLocation,FileMode.O

47、pen)imagedata=newBytefs.Length;fs.Read(imagedata,0,imagedata.Length);fs.Close();sp5.Value=imagedata;Int32count;if(pic_UserPhoto.ImageLocation=null)count=SqlHelper.ExecuteNonQuery(SqlHelper.CONSTRINGCommandType.Text,"InsertIntotbl_UserInfo(TagNumber,UserName,UserCompany,UserTelephone,UserAppella

48、tive)Values(TagNumber,UserName,UserCompany,UserTelephone,UserAppellative)sp);elsecount=SqlHelper.ExecuteNonQuery(SqlHelper.CONSTRINGCommandType.Text,"InsertIntotbl_UserInfo(TagNumber,UserName,UserCompany,UserTelephone,UserAppellative,UserPhoto)Values(TagNumber,UserName,UserCompany,UserTelephone

49、,UserAppellative,UserPhoto)”,sp);if(count>0)AddInfoDemo("添加成功。");btn_InventoryDemo_Click(sender,e);elseAddInfoDemo("添力口失敗。");)修改功能的程序代碼如下所示:privatevoidbtn_Modify_Click(objectsender,EventArgse)if(cmb_TagNumbers.SelectedIndex<0)AddInfoDemo("請選擇要修改的用戶");cmb_TagNumber

50、s.Focus()return;if(txt_UserName.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懹脩粜彰?quot;);txt_UserName.Focus();if(txt_UserCompany.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懝久Q。");txtUserCompany.Focus();if(txt_UserTelephone.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懧?lián)系電話。");txt_UserTe

51、lephone.Focus();if(txt_Appellative.Text.Trim().Length<1)AddInfoDemo("請?zhí)顚懥晳T稱謂。");txt_Appellative.Focus();SqlParameter口sp;if(pic_UserPhoto.ImageLocation=null)sp=newSqlParameter口newSqlParameter("TagNumber",SqlDbType.NVarChar,50),newSqlParameter("UserName",SqlDbType.NVar

52、Char,50),newSqlParameter("UserCompany",SqlDbType.NVarChar,50),newSqlParameter("UserTelephone",SqlDbType.NVarChar,50),newSqlParameter("UserAppellative",SqlDbType.NVarChar,50);elsesp=newSqlParameter口newSqlParameter("TagNumber",SqlDbType.NVarChar,50),newSqlParame

53、ter("UserName",SqlDbType.NVarChar,50),newSqlParameter("UserCompany",SqlDbType.NVarChar,50),newSqlParameter("UserTelephone",SqlDbType.NVarChar,50),newSqlParameter("UserAppellative",SqlDbType.NVarChar,50),newSqlParameter("UserPhoto",SqlDbType.Image);sp

54、0.Value=cmb_TagNumbers.SelectedItem.ToString().Trim();sp1.Value=txt_UserName.Text.Trim();sp2.Value=txt_UserCompany.Text.Trim();sp3.Value=txt_UserTelephone.Text.Trim();sp4.Value=txt_Appellative.Text.Trim();/rb_Male.Checked?"先生":"女士";if(pic_UserPhoto.ImageLocation!=null)Byte口imaged

55、ata;using(FileStreamfs=newFileStream(pic_UserPhoto.ImageLocation,FileMode.Open)imagedata=newBytefs.Length;fs.Read(imagedata,0,imagedata.Length);fs.Close();sp5.Value=imagedata;Int32count;if(pic_UserPhoto.ImageLocation=null)count=SqlHelper.ExecuteNonQuery(SqlHelper.CONSTRINGCommandType.Text,"Upda

56、tetbl_UserInfoSetUserName=UserName,UserCompany=UserCompany,UserTelephone=UserTelephone,UserAppellative=UserAppellativeWhereTagNumber=TagNumber",sp);elsecount=SqlHelper.ExecuteNonQuery(SqlHelper.CONSTRINGCommandType.Text,"Updatetbl_UserInfoSetUserName=UserName,UserCompany=UserCompany,UserTelephone=UserTelephone,UserAppellative=UserAppellative,UserPhoto=User

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論