你的位置: 首頁新聞資訊  > 行業資訊  > 貴陽門禁系統 怎樣設計一個射頻IC卡應用系統?
貴陽門禁系統 怎樣設計一個射頻IC卡應用系統?
貴陽門禁系統 怎樣設計一個射頻IC卡應用系統?
編輯時間:2019-02-18 打印本稿
閱讀

 1 引言


  非接觸式lC卡又稱射頻卡,由lC芯片、感應天線組成,封裝在一個標準的PVC卡片內,芯片及天線無任何外露部分,是近幾年發展起來的一項新技術。由于射頻IC卡具有存儲容量大、抗干擾能力強、便于攜帶、安全性高等優點,在公交、金融等很多領域都得到了廣泛的應用。本文主要以某旅游景點門禁管理系統為例,介紹基于射頻IC卡的應用系統的開發思路和設計過程。


  2 系統需求以及設計思路


  目前我國大部分旅游景點仍遵循傳統的管理模式,門票一般采用紙質票,這種方式不僅在售票與驗票過程中存在較大的財務漏洞,容易產生偷票、漏票、重復使用票的現象,也無法及時、準確統計游客的數量、流量以及區內的消費情況等。在旅游景點門票發行中采用射頻IC卡,不僅可以有效地消除這些隱患、堵絕漏洞,還有利于年卡和月卡的發行。另外,一般景點都有很多的游樂項目,特別是節假日,游樂場的售票亭前總會出現長長的人龍,為了避免游客排隊購票的時間浪費以及可能的消費流失,進入景點的游客可以在進場時購臨時卡用于刷卡游樂,到出場時再退卡。這樣游客在游樂的時候,就可以省去排隊購票的麻煩,大大提高了消費熱情和消費強度??梢钥闯?,在大型旅游景點開發基于射頻IC卡的門禁管理系統,不僅可以較好地實現景點的自動化管理,而且還可以通過射頻IC卡的發行來刺激游客的消費,實現游客不同娛樂項目的自動收費。


怎樣設計一個射頻IC卡應用系統?

  該旅游景點有一個正門,設2個驗卡通道,4個主要的游樂場所,考慮用5臺電腦組成局域網。由于景點占地面積較大,不同游樂場所相距較遠,采用R5485串行網絡無法實現長距離的連接,所以系統對各游樂場均配備一臺電腦和讀卡器。選擇一臺性能較好的電腦A,放在景點入口處,用來實現發卡和進正門的刷卡功能,其中讀卡器和發卡控制器分別接入其COM1口和COM2口:另外四臺電腦B、C、D和E分別設置在4個游樂場所用于刷卡消費,相應的讀卡器接入上位機的COM1口,在兩個主要的游樂場中增設充值點,用2臺發卡器分別連接到上位機的COM2口。由于本系統選擇具有存儲功能的射頻IC卡,金額的扣除在射頻IC卡上完成,后臺數據庫主要用于存儲信息完成查詢和統計等操作,對實時性要求相對不高,所以考慮將電腦A作為服務器,存放集中數據庫的信息,電腦B、C、D、E客戶端程序的登錄驗證、IC卡有效性驗證等都需要訪問電腦A中數據庫才可以完成,其本地數據庫中只存放在指定游樂場所刷卡消費的信息,可選擇相對空閑的時間對集中數據庫的信息進行更新。


  根據需求,我們大致確定了系統實現的主要功能,分別是卡發行功能、刷卡功能、卡充值、掛失和解掛、查詢統計、數據庫維護、用戶管理等,執行流程是:游客可以在進入景點之前通過發卡功能辦理永久或臨時IC卡,相關信息存入集中數據庫相應的永久或臨時IC卡表中;在進入景點或游玩某個游樂項目之前,根據永久卡還是臨時卡訪問相應的表,檢查卡是否是有效卡,如果不是,給出相應的提示信息,拒絕其進入,否則通過刷卡程序按照事先設定好的金額,判斷IC卡中的余額是否充足,如果余額不足,則提示相應的信息,不允許進入,否則更改IC卡中的余額,并將該刷卡信息記錄在本地數據庫中,作為以后更新集中數據庫中消費表信息的依據;臨時卡在退園時可以根據余額退還,為了查詢統計方便,退卡后除了將臨時卡表的對應記錄刪除外,還應在相應的消費表中將該操作記錄下來。


  3 具體實現


  由于Visual Basic對串口和數據庫的訪問控制均提供了豐富的功能,且具有簡單易學的特點,所以本系統采用Visual Basic 6.0作為開發環境。


  3.1訪問IC卡發卡器和讀卡器


  在VB中,上位機對串口的通訊可采用兩種方法,一種是調用W indows的API函數,另一種是利用VB的通信控件。本系統采用VB提供的MSComm通信控件實現對IC卡發卡器和讀卡器的訪問。注意,由于系統的設計涉及上下位機的通訊,需事先為每一個下位機分配一個唯一的機號,在處理時還可以根據刷卡機的機號確定刷卡的業務。


  在所有提供和下位機通信功能的程序界面上放置MSComm控件,為了實現上下位機的通信,MSComm控件在使用前有許多參數需要設置,比如確定下位機和上位機的哪個端口連接,設置波特率等,假設MSComm控件的名稱為MSComml,IC卡讀寫器與串口2連接,則具體屬性設置參考以下程序段:


  MSComm1.CommPort=2設置串口號


  MSComm1.SetTIngs = ”9600,N,8,1” 串口的屬性


  設置InputLen為0時,用Input將使?MSComm 控件讀取接收緩沖區中全部的內容


  MSComm1.InputLen = 0


  MSComm1.InpulMode = comlnputModeBiary 二進制接受方式


  MSComm1.RThreshold =1,每1個字節響應消息


  MSComm1.InBuferSize=1024設置接收緩沖區的字節長度


  MSComm1.Po~Open=True,打開開通信串口


  一般將以上程序段放置在窗體的Load事件中,當執行卡發行功能或運行刷卡程序時,一運行程序就可以打開串口,只要將lC卡靠近發卡器或讀卡器,它們就可以讀出保存征 C卡中的卡號和余額等信息,MSComm控倬會自動觸發OnComm事件過程,在該過程中,可以讀取接收緩沖區中的數據,獲得相關的卡號和余額等信息,根據要求對數據庫進行操作。


  3.2 串行網絡中多讀卡器的訪問控制


  由于對每個游樂項目的刷卡消費只有一臺讀卡機通過RS232串口和計算機相連,所以在讀卡程序控制時采用被動模式,只有讀卡器接收到信息后,才觸發上位機對其進行處理。如果是大型游樂場所,可能需要設置多個讀卡器同時進行刷卡,應該如何處理呢?如果多個游客同時刷卡怎么辦?本系統中,在景點入口處,由于人流量比較大,為減少等待時間,提高檢票的速度,設置了兩個讀卡通道,這兩個讀卡器通過RS485網絡并聯,利用RS4851RS232轉接器和上位機的串口連接。為防止同時讀卡造成的沖突,對RS485網絡并聯的多個讀卡器的控制,一般不再被動等待讀卡器觸發事件,而是采用主動模式編程。我們利用定時器控件TImerl來控制程序按照一定的時間間隔順序訪問多個讀卡器,取得了良好的處理效果。參考程序段如下:


  Private Sub Command1_Click()‘訪問指定讀卡器程序段


  m = m + 1


  ‘o數組中保存RS485網絡中每個讀卡器的機號,UBound(a)獲得讀卡器的個數,讀卡時按指定的順序依次訪問每個讀卡器


  If m 》 UBound(a)Then


  m = 1


  End If


  If Not MSComm1.PortOpen Then MSComm1.PortOpen= True


  3.3集中數據庫的更新處理


  本系統為了提高處理速度,減少多臺設備并行訪問對系統性能產生的影響,將每個客戶端程序處理的刷卡信息保存在本地數據庫中,但同時也帶來了一系列的問題,比如對集中數據庫刷卡數據的及時更新,數據庫更新時異常情況的處理等。為提高系統的安全性,集中數據庫的更新處理采用存儲過程實現??蛻舳顺绦蛲ㄟ^調用事先編制好的存儲過程,實現對遠程數據庫的更新操作。與標準的SQL語句不同,由于存儲過程由數據庫服務器編譯和優化,可以有效提高程序的運行速度,另外,存儲過程中的SQL語句屬于事務處理范疇,即存儲過程中的所有SQL語句要么都執行,要么都不執行,從而保證了數據的完整性和一致性。


  4 結束語


  本文根據某旅游景點IC卡業務的需求,從系統的設計思路、讀卡器的訪問控制以及數據庫的更新處理等幾個方面詳細敘述了系統的設計過程和實現的技術。除了可以應用于門禁管理,本文所介紹的Ic卡應用系統的開發技術具有一定的普及性,可應用于停車場、電影院、校園一卡通等領域,具有廣泛的應用前景。從已有系統的投入運行情況來看,系統的開發使用均收到了良好的經濟效益和社會效益。

名稱:貴陽富世通科技有限公司 網址:www.abdaaa3.com     備案號:黔ICP備16001478號-1 咨詢電話:
地址:貴州省貴陽市南明區花果園金融大廈29樓3號
訪問統計:  瀏覽總量255085次 /今日瀏覽330次 建議(1024*768) IE8.0以上瀏覽器瀏覽本站 Powered by WangID 馳通集團  觸屏版電腦版 本站已支持 IPV6

貴公網安備 52010202001303號

久久精品人人槡人妻人人玩

在線客服

1

在線留言

手機微網

微信掃描關注

手機APP

掃描下載安卓APP

分享

返回頂部

×

網搜

直達
- - - 找到你,原來如此簡單! - - -
×

您好,有需要了解的請咨詢我們!

+ 0851-86812190

×

請輸入電話,即刻聯系您!
看不清,點擊換圖片

該通話對您免費,請放心接聽!

×