射頻IC卡在電影院票務(wù)發(fā)行系統中的應用
文章出處:http://psychicreadingswithdeb.com 作者: 人氣: 發(fā)表時(shí)間:2012年03月30日
摘要:本文主要介紹基于射頻 IC卡的電影院票務(wù)發(fā)行系統的設計以及實(shí)現的關(guān)鍵技術(shù),提出在 RS485網(wǎng)絡(luò )中多臺讀卡器串行通訊的解決方案。
關(guān)鍵詞:IC卡;票務(wù)發(fā)行;RS485;串行通訊
1 引言
目前國內很多電影院仍采用傳統的紙質(zhì)票據式門(mén)票,這種門(mén)票的最大好處是門(mén)票的直接成本低,但是這種門(mén)票也存在很多的缺點(diǎn),如容易偽造、復制,團體票和年票使用麻煩,而且不容易實(shí)現對觀(guān)眾進(jìn)入電影院的次數以及銷(xiāo)售額進(jìn)行統計和管理。鑒于紙質(zhì)門(mén)票存在的弊端,國內許多檢票系統已經(jīng)開(kāi)始改用電子門(mén)票方式來(lái)實(shí)現人員出入的自動(dòng)化管理。由于 IC卡具有存儲容量大、體積小、重量輕、抗干擾能力強、便于攜帶、易于使用、安全性高等優(yōu)點(diǎn),在很多領(lǐng)域都得到了廣泛的應用?;窗踩嗣翊髸?huì )堂是淮安市區最大、設備最完善的一家電影院,為了方便單位年票的發(fā)行,更好地解決假票問(wèn)題,提供更優(yōu)質(zhì)的管理服務(wù),提高觀(guān)眾看電影的熱情,提出了基于射頻 IC卡的電影院票務(wù)發(fā)行系統的設計要求。
2 電影院票務(wù)系統設計
采用IC卡應用于電影院票務(wù)系統,觀(guān)眾只需在辦卡時(shí)預存一定的金額,就可以隨時(shí)刷卡消費?;窗踩嗣翊髸?huì )堂一共有4個(gè)入口,其中兩個(gè)入口進(jìn)入數字廳,另外兩個(gè)入口分別進(jìn)入星影廳和淮海廳,需要4個(gè)讀卡器同時(shí)工作;在票務(wù)發(fā)行室,還需要一臺發(fā)卡器完成發(fā)卡操作??紤]將發(fā)卡器接到上位機的COM2口,而將4個(gè)讀卡器通過(guò)RS485網(wǎng)絡(luò )并聯(lián),通過(guò)RS-232 /RS-485轉換器將其接入上位機的COM1口,由上位機通過(guò)指令控制工作。這樣整個(gè)IC 卡電影院票務(wù)系統就形成了一臺PC 機對多臺下位機的串行通訊系統,具體結構如下圖所示:
讀卡器采用 WM-02H讀卡控制器,有一個(gè) 5.4CM X 1.8CM的液晶顯示屏,用來(lái)顯示卡內余額以及一些提示信息。讀卡控制器在讀到卡后會(huì )將卡號暫存于讀卡控制器中,這時(shí)指示燈的顏色變紅,上位機取走卡號后燈變回綠。如果上位機沒(méi)有讀卡(取走數據),該讀卡控制器就不再讀卡,直到上位機將卡號讀取后再開(kāi)始讀卡。另外,為了防止用戶(hù)操作不規范造成重復讀卡,設置一張卡刷卡后在 3秒內讀卡器不再讀這張卡,當然也允許刷卡時(shí)同一張卡多人使用,但每次刷卡的時(shí)間間隔必須大于 3秒鐘。
射頻卡選用 EM公司的 ID卡,主要采用瑞士 EM或臺灣 GK公司的4100、4102系列 IC芯片 + 線(xiàn)圈 + 卡基封裝而成。這種卡沒(méi)有存儲功能,卡中只保存唯一的卡號,所有的信息都是保存在上位機的數據庫中。刷卡消費時(shí),根據讀卡器讀出的卡號在數據庫中查找該卡號是否存在,如果不存在,提示“非法卡號! ”,否則檢查卡內余額是否充足,根據情況在讀卡器的 LED顯示屏上顯示不同的信息,同時(shí)蜂鳴器也相應發(fā)出聲響。這些都通過(guò)程序控制讀卡器來(lái)完成。
針對淮安人民大會(huì )堂檢票系統的用戶(hù)需求,我們最終確定系統包含四大功能,分別是卡發(fā)行管理模塊、刷卡模塊、查詢(xún)統計模塊以及系統管理模塊。其中卡發(fā)行管理模塊主要完成個(gè)人以及團體卡的辦理、卡充值、掛失、信息修改等功能;刷卡模塊主要完成日常的刷卡業(yè)務(wù);查詢(xún)統計模塊實(shí)現對刷卡信息以及營(yíng)業(yè)額等數據的查詢(xún)操作,并可以以 Excel表格的形式輸出;系統管理模塊主要完成用戶(hù)管理、系統的設置以及數據備份、恢復等功能。程序設計語(yǔ)言選用目前流行的VB6.0。
3 關(guān)鍵技術(shù)的實(shí)現
發(fā)卡和刷卡功能是系統最重要的功能,都會(huì )涉及軟硬件的編程,但兩者之間的編程方式有較大的區別。
3.1 發(fā)卡功能的實(shí)現
因為電影院票務(wù)發(fā)行人員只利用一臺發(fā)卡器辦理個(gè)人或團體卡,不存在同時(shí)讀卡的情況,所以可采用被動(dòng)模式,當發(fā)卡器讀出卡信息后,自動(dòng)觸發(fā)上位機去讀保存在發(fā)卡器中的卡號。
在 VB中可以利用 MSComm通信控件實(shí)現讀卡器和 PC機之間的串口通訊。MSComm 控件使用前有許多屬性需要設置,系統在窗體的 Load事件中通過(guò)以下程序段完成MSComm 控件屬性的設定。
3.2 485通訊指令協(xié)議
系統中 4個(gè)讀卡器通過(guò) RS485網(wǎng)絡(luò )并聯(lián),由上位機對讀卡器進(jìn)行控制,控制字方式為 1位開(kāi)始位、8個(gè)數據位、一個(gè)停止位,無(wú)奇偶校驗。具體通訊協(xié)議格式如下:
|開(kāi)始標志|分機地址|信息長(cháng)度|命令和參數/叢機返回|校驗|
其中: 開(kāi)始標志長(cháng)度為 2個(gè)字節,主機給分機為AAH FFH;分機給主機為BBH FFH。
分機地址長(cháng)度為 1個(gè)字節,范圍為 00H---FEH之間,每個(gè)讀卡器必須事先設定一個(gè)唯一的地址。
信息長(cháng)度表示命令和參數的總字節數,不包括開(kāi)始標志、地址和校驗的長(cháng)度。
校驗位長(cháng)度為 1個(gè)字節,是開(kāi)始標志、地址、信息長(cháng)度、命令和參數中所有字節的異或值。
命令和參數決定主機發(fā)送的命令類(lèi)型以及從機返回的數據。比如主機向從機發(fā)送的讀命令為A2H,根據通訊協(xié)議,則發(fā)送讀命令的程序段可編寫(xiě)如下:
3.3 刷卡功能的實(shí)現
刷卡功能的實(shí)現相比發(fā)卡就復雜的多。由于有 4臺讀卡器同時(shí)連接,刷卡人員可以決定開(kāi)放哪幾個(gè)讀卡器,根據需要也可以同時(shí)開(kāi)放,所以同時(shí)就可能有 4張卡被刷,如果仍采用被動(dòng)模式,則必然帶來(lái)沖突,造成讀卡錯誤,所以系統采用主動(dòng)模式編程。上位機按一定時(shí)間間隔輪流主動(dòng)去取讀卡控制器中的數據,根據不同情況作不同的處理。由于不需控件響應消息,應將MSComm控件的RThreshold 和SThreshold 屬性設置為0。
在刷卡程序設計時(shí),有幾個(gè)問(wèn)題需要解決。使用定時(shí)器控制主機輪詢(xún)的時(shí)間間隔應設置為多少?讀取數據后,如何判斷數據的正確性?對于非法卡、卡內余額不足以及正??ㄌ幚砗?,如何根據不同情況同時(shí)在讀卡器的液晶顯示器上顯示相關(guān)信息,并鳴笛?經(jīng)過(guò)不斷的摸索和驗證運行的可靠性,設定了一個(gè)輪詢(xún)定時(shí)器,時(shí)間間隔為20ms。接下來(lái)就按照運行的流程編寫(xiě)程序,結果卻發(fā)現,如果只開(kāi)放一個(gè)讀卡器,不管是哪一個(gè),程序都能夠正常運行,但多臺讀卡器同時(shí)開(kāi)放時(shí),運行總不太穩定,特別是要同時(shí)在讀卡器上顯示信息和短聲?shū)Q笛時(shí),明明在1號讀卡器上顯示相應的信息,而且程序中也是給 1號讀卡器發(fā)鳴笛命令,卻是下一個(gè)讀卡器在響。后來(lái)發(fā)現可能在讀卡器上顯示信息的執行時(shí)間較長(cháng),到發(fā)鳴笛命令時(shí),輪詢(xún)的計數器已經(jīng)到了下一個(gè)讀卡器,但即使增加輪詢(xún)的時(shí)間間隔,效果也不理想。經(jīng)不斷調試和比較不同的設計方案,最終選擇再增設一個(gè)定時(shí)器,作為在讀卡器上顯示信息和短聲?shū)Q笛的時(shí)間間隔,時(shí)間間隔設定為20ms。由于讀卡器鳴笛時(shí)不會(huì )再讀卡,同時(shí)也為了防止鳴笛的執行影響下一個(gè)執行動(dòng)作,再為每個(gè)讀卡器增設一個(gè)鳴笛狀態(tài),如果主機發(fā)送命令給某個(gè)讀卡器時(shí),該讀卡器還在執行鳴笛,則跳過(guò)該讀卡器,按順序訪(fǎng)問(wèn)下一個(gè)未鳴笛的讀卡器。經(jīng)過(guò)這樣的處理,最終圓滿(mǎn)的解決了問(wèn)題,由此可見(jiàn),在硬件編程過(guò)程中,時(shí)序的控制非常重要。
3.4 安全控制方面
由于本系統使用的 IC卡不是存儲卡,卡內不保存任何信息,所有信息都是保存在數據庫中,所以系統的安全控制就尤為重要。系統不僅設置不同權限的操作人員,限制普通操作人員可以對系統執行的操作,而且提供本地和遠程備份和還原數據庫的功能,以防止由于機器故障或其他原因對數據造成的破壞;還可對重要的卡信息加密保存,提供完善的日志功能,對各個(gè)操作員和管理員進(jìn)入系統執行的操作都作了詳細的記錄,并提供方便的查詢(xún)功能,以減少人員方面的安全隱患;從 IC卡發(fā)行方面來(lái)說(shuō),每張 IC卡卡號在封卡后不可再更改,絕對確??ㄌ柕奈ㄒ恍院桶踩?;另外,為防止串卡現象的發(fā)生,本系統專(zhuān)門(mén)設定了發(fā)行卡庫,只有在卡庫中的卡才可以發(fā)行,徹底杜絕仿制卡的出現。由此可見(jiàn),系統具有較高的安全性。
4 結束語(yǔ)
本文介紹了射頻 IC卡在電影院票務(wù)發(fā)行系統中的應用,并詳細介紹了系統開(kāi)發(fā)的思路和關(guān)鍵技術(shù)的實(shí)現。目前該系統已投入使用半年多,運行情況穩定,取得了良好的社會(huì )效益和經(jīng)濟效益。除了可以應用于電影院業(yè)務(wù),其實(shí)本文所介紹的 IC卡系統還可以應用至停車(chē)場(chǎng)、游樂(lè )場(chǎng)以及各種收費的智能化管理應用領(lǐng)域。
創(chuàng )新點(diǎn):成功將射頻 IC卡應用到電影院門(mén)票發(fā)行中;提出在 RS485網(wǎng)絡(luò )中多臺并聯(lián)讀卡器的訪(fǎng)問(wèn)控制方案,具有較好的推廣應用價(jià)值。
參考文獻
[1] 田擁軍,曾健平.基于射頻識別技術(shù)的多用戶(hù)電能表的設計[J].微計算機信息.2007年第23 卷第5-2期,219-221
[2]非接觸式 IC卡.http://www.iccard8.com
[3] 肖文波,梁楚樵 . 基于非接觸式IC卡的管理信息系統的設計[J].武漢理工大學(xué)學(xué)報.2005年10月
[4] Anon.Smart card microcomputers for high-security applications[J].HitachiReview Special Issue,2001
作者簡(jiǎn)介:周蕾(1971-),女,講師,研究方向:計算機應用,網(wǎng)絡(luò )和數據庫
【稿件聲明】:如需轉載,必須注明來(lái)源和作者,保留文中圖片和內容的完整性,違者將依法追究。