李新煜,曾春暉,蒲力萌
( 電子科技大學(xué) 通信與信息工程學(xué)院,四川 成都 611731)
高校校園中自行車被盜事件時常發(fā)生,這些事件并沒有得到有效的解決。究其主要原因是校園中各類自行車數(shù)量多,難以辨認(rèn),難以定位,即使被盜也難以認(rèn)定車輛歸屬[1]。
本系統(tǒng)使每一輛自行車都具備一個獨一無二的身份即射頻識別(RFID,Radio Frequency IDentification)標(biāo)簽,同時車主也有一張與之匹配的校園IC卡。車主在存取車時必須刷卡,通過對車輛和IC卡(飯卡)信息的讀取、對比,系統(tǒng)便會判定此次存取操作的合法性,再根據(jù)結(jié)果的不同做出相應(yīng)的反應(yīng)。若有非法的取車操作,系統(tǒng)會通過現(xiàn)場的報警裝置和接收設(shè)備,通知保衛(wèi)處和門衛(wèi),有助于嫌疑人的抓獲,避免了車輛的丟失。
如圖1所示,整套系統(tǒng)分為若干個節(jié)點和一個中央服務(wù)器,每個節(jié)點在實際環(huán)境中代表一個停車場。各節(jié)點通過RFID射頻設(shè)備收集自行車的信息并通過接觸式天線讀取用戶IC卡數(shù)據(jù);最后通過以太網(wǎng)傳遞給服務(wù)器。服務(wù)器匯總各個自行車停放的數(shù)據(jù),進(jìn)行數(shù)據(jù)的存儲和比對,將反饋信息通過校園網(wǎng)絡(luò)傳送到各個監(jiān)測終端,通過一系列指令控制各節(jié)點執(zhí)行相應(yīng)的操作。
圖1 系統(tǒng)總體網(wǎng)絡(luò)結(jié)構(gòu)
一個節(jié)點的結(jié)構(gòu)如圖 2所示。各個節(jié)點通過RFID射頻讀卡器檢測自行車內(nèi)的智能芯片,并存儲相關(guān)數(shù)據(jù);同時 IC卡讀卡器通過天線讀取學(xué)生的IC卡(飯卡)信息。節(jié)點通過控 制的 ARM用以太網(wǎng)將信息發(fā)送至服務(wù)器并接受反饋數(shù)據(jù),執(zhí)行相關(guān)的提示或報警操作。
圖2 端系統(tǒng)實現(xiàn)結(jié)構(gòu)
服務(wù)器接收各節(jié)點數(shù)據(jù)并將數(shù)據(jù)與數(shù)據(jù)庫中記錄進(jìn)行比對,反饋一系列操作指令給各節(jié)點。具體服務(wù)器處理信息流程圖如圖3所示。
圖3 服務(wù)器處理信息流程
2.1.1 RFID模塊
RFID技術(shù)的基本工作原理是標(biāo)簽進(jìn)入磁場后,接收閱讀器發(fā)出的射頻信號,憑借感應(yīng)電流所獲得的能量發(fā)送出存儲在芯片中的產(chǎn)品信息(Passive Tag);或者由標(biāo)簽主動發(fā)送某一頻率的信號(Active Tag),解讀器讀取信息并解碼后,送至中央信息系統(tǒng)進(jìn)行有關(guān)數(shù)據(jù)處理[2]。由于RFID射頻天線和標(biāo)簽分為多種標(biāo)準(zhǔn),本套系統(tǒng)的RFID模塊采用了遠(yuǎn)望谷公司的XCRF-502C 固定式射頻讀寫器,此讀寫器工作在 902-928Mhz頻段,有效檢測范圍為 10米。
2.1.2 嵌入式模塊
由于在本系統(tǒng)中嵌入式模塊主要擔(dān)負(fù)信息傳輸和控制的功能,并不需求高速運(yùn)算和大量數(shù)據(jù)緩存,因此采用了以ARM2440 為核心的開發(fā)方案。
嵌入式模塊在ARM2440核心的外圍添加了以太網(wǎng)口用于與服務(wù)器進(jìn)行通信;LCD顯示屏用于實時顯示提示信息;蜂鳴器用于應(yīng)急報警;I2C總線接口用于與IC讀卡模塊進(jìn)行通信,串口用于與 RFID射頻模塊通信。
2.1.3 IC讀卡器模塊
IC讀卡器天線采用Philips MFRC522 原裝芯片設(shè)計讀卡電路,該模塊使用51單片機(jī)驅(qū)動讀卡器檢測IC卡信息并使用I2C總線將數(shù)據(jù)會傳到ARM主控芯片上。
2.2.1 服務(wù)器開發(fā)
因為本系統(tǒng)中的服務(wù)器不光要擔(dān)負(fù)起與硬件通信的功能還要有一套完善的圖形界面,因此本系統(tǒng)采用Visual Basic 2010作為服務(wù)器的開發(fā)平臺。
Basic是一種簡單且易于編寫和維護(hù)的語言,而 VB提供了一系列空間和皮膚插件可以方便的開發(fā)出一套人性化的UI界面。在與硬件連接方面。VB提供了網(wǎng)口控件winsock[3]控件可以方便的與ARM連接通信;同時VB提供了豐富的API接口與數(shù)據(jù)庫進(jìn)行數(shù)據(jù)通信。
2.2.2 數(shù)據(jù)庫開發(fā)
考慮到開發(fā)的復(fù)雜程度,本系統(tǒng)采用了入門級的數(shù)據(jù)庫Access數(shù)據(jù)庫。Access[4]是微軟公司推出的基于 Windows的桌面關(guān)系數(shù)據(jù)庫管理系統(tǒng)(RDBMS,Relational Database Management System),是 Office系列應(yīng)用軟件之一。Access能夠存取 Access/Jet、Microsoft SQL Server、甲骨文軟件公司(Oracle),或者任何 ODBC 兼容數(shù)據(jù)庫內(nèi)的資料,具有良好的兼容性。
3.1.1 RFID的設(shè)計
固定式RFID終端的工作原理如圖4所示[5],終端發(fā)射高頻電磁波激勵射頻標(biāo)簽,產(chǎn)生回饋數(shù)據(jù)。RFID在本系統(tǒng)中主要用于識別自行車車輛信息,每輛自行策劃都會有一塊很小的射頻標(biāo)簽置于車座下方,射頻終端周期性的掃描周圍的標(biāo)簽信息并刷新緩存區(qū)數(shù)據(jù)。RFID終端掃描邏輯流程如圖4所示。
圖4 RFID終端掃描邏輯流程
3.1.2 RFID的實現(xiàn)[6]
本系統(tǒng)采用由遠(yuǎn)望谷公司出產(chǎn)的 XCRF系列讀寫器,利用讀寫器附帶的讀寫軟件,對RFID卡的信息進(jìn)行讀取和寫入操作。讀寫器通過串口與ARM核心板相連接。當(dāng)射頻終端檢測到射頻數(shù)據(jù)后會將數(shù)據(jù)自動緩存,并通過串口以自定義的幀格式發(fā)送給ARM。一幀數(shù)據(jù)的結(jié)構(gòu)如圖5所示。
圖5 RFID讀卡設(shè)備幀數(shù)據(jù)結(jié)構(gòu)
數(shù)據(jù)庫在本系統(tǒng)的主要任務(wù)是記錄用戶存取自行車時RFID所讀取到的信息,以便日后查詢。需要記錄的有時間、停車地點、存∕取、自行車號、車主姓名、學(xué)號等。由于自行車號與車主姓名、車主姓名與學(xué)號都是唯一對應(yīng)的關(guān)系,而且在一定的時間內(nèi)是相對固定不變的,不需要每次都重復(fù)記錄,但為了管理方便,這些信息能在系統(tǒng)界面上顯示出來是很有必要的,因此本系統(tǒng)用關(guān)系型數(shù)據(jù)庫的設(shè)計,通過將幾張小表組合成大表的方式來減少需要記錄的數(shù)據(jù)。
關(guān)系數(shù)據(jù)庫(Relational Database)是一個被組織成一組正式描述的表格的數(shù)據(jù)項的收集,這些表格中的數(shù)據(jù)能以許多不同的方式被存取或重新召集而不需要重新組織數(shù)據(jù)庫表格。本系統(tǒng)中數(shù)據(jù)庫如圖6所示。
圖6 關(guān)系數(shù)據(jù)庫
采用關(guān)系型數(shù)據(jù)庫的設(shè)計可以很好的簡化存取自行車時所要記錄的數(shù)據(jù),避免了數(shù)據(jù)庫的冗余,也提高了數(shù)據(jù)庫的靈活性和擴(kuò)展性。如果以后需要增加顯示的信息,只需要繼續(xù)添加小表,再把他設(shè)計進(jìn)行組合,而不需要重新設(shè)計數(shù)據(jù)庫。
為了使軟件具有真正的使用價值,除了要保證軟件的網(wǎng)絡(luò)通信可以準(zhǔn)確快捷的收發(fā)信息,還要保證在多用戶同時使用網(wǎng)絡(luò)資源時服務(wù)器不會因為協(xié)議設(shè)計的不當(dāng)或者邏輯錯誤出現(xiàn)假死的情況;同時當(dāng)單個用戶數(shù)據(jù)量較大時要保證用戶數(shù)據(jù)不會在傳輸過程中丟失或錯位。
3.3.1 套接字通信[7]
本信息管理系統(tǒng)會涉及到傳輸大量數(shù)據(jù)信息,為了盡量避免錯誤,采用穩(wěn)定性較高的流套接字形式作為網(wǎng)絡(luò)通信的基礎(chǔ)。所有發(fā)送的信息將被編碼并以信息流的形式上傳到網(wǎng)絡(luò)。區(qū)分不同應(yīng)用程序進(jìn)程間的網(wǎng)絡(luò)通信和連接,主要依靠3個參數(shù):通信的目的IP地址、使用的傳輸層協(xié)議(TCP或UDP)和使用的端口號。為保證通信的穩(wěn)定,信息管理系統(tǒng)采用TCP 協(xié)議。
3.3.2 多端訪問
為了使軟件具有實用的特性,軟件采用了異步的通信方式。打開服務(wù)器的網(wǎng)絡(luò)連接以后,服務(wù)器處于監(jiān)聽狀態(tài)。當(dāng)有請求進(jìn)入時,服務(wù)器為這個請求開辟一個獨立的線程,分配獨立的端口進(jìn)行網(wǎng)絡(luò)通信,同時服務(wù)器回到監(jiān)聽狀態(tài)處理其他連接請求。客戶端接入服務(wù)器以后,開始發(fā)送數(shù)據(jù),每次數(shù)據(jù)發(fā)送完畢發(fā)送信息主動切斷通信,釋放網(wǎng)絡(luò)資源,服務(wù)器收到信息后斷掉與客戶端的連接。 為保證多端通信不會給服務(wù)器造成太大的壓力,設(shè)定服務(wù)器允許同時連接數(shù)上限為100個。線程分配流程如圖7所示。
圖7 線程分配流程
3.3.3 通信協(xié)議
通信協(xié)議(Communications Protocol)是指雙方實體完成通信或服務(wù)所必須遵循的規(guī)則和約定。協(xié)議定義了數(shù)據(jù)單元使用的格式,信息單元應(yīng)該包含的信息與含義,連接方式,信息發(fā)送和接收的時序,從而確保網(wǎng)絡(luò)中數(shù)據(jù)順利地傳送到確定的地方。
為了保證信息管理系統(tǒng)中各項指令和數(shù)據(jù)都可以準(zhǔn)確無誤的傳達(dá),系統(tǒng)使用了一系列自定義的幀格式;具體幾類常用幀如圖8、圖9所示。
圖8 數(shù)據(jù)幀(節(jié)點發(fā)往服務(wù)器)結(jié)構(gòu)
圖9 控制幀(服務(wù)器發(fā)往節(jié)點)結(jié)構(gòu)
接收端以字符的形式收到一幀字段,利用文本處理函數(shù)檢查是否包含標(biāo)識符,如果包含某個標(biāo)識符,就可確定這短信息是命令還是數(shù)據(jù);之后利用文字處理函數(shù)以&為界限分段提取相應(yīng)數(shù)據(jù)和命令。最后服務(wù)器根據(jù)預(yù)先設(shè)定的邏輯利用數(shù)據(jù)和命令進(jìn)行相關(guān)操作。
3.3.4 委托技術(shù)[8]
委托是可用于調(diào)用其他對象方法的對象。它們有時被稱為類型安全函數(shù)指針,因為它們與其他編程語言中所使用的函數(shù)指針相似,但不同于函數(shù)指針。Visual Basic .NET 跨線程操作有兩種方式,委托和設(shè)置線程為cross型。相比之下委托技術(shù)更加可靠和穩(wěn)定因此本系統(tǒng)采用委托技術(shù)進(jìn)行跨線程的操作。
VB.NET委托函數(shù)的使用分為幾個部分:聲明事件、引發(fā)事件、編寫事件處理程序,從而把時間處理程序和事件聯(lián)系起來。當(dāng)一個線程收到一條來自客戶端的信息時,通過委托函數(shù),這條信息的內(nèi)容便可以顯示在服務(wù)器的一個列表中。
目前RFID的技術(shù)已經(jīng)在許多領(lǐng)域都取得了不小的成功。相信同樣得技術(shù)在校園自行車管理領(lǐng)域中也將發(fā)揮重要作用,本文簡單介紹了如何通過嵌入式系統(tǒng)將射頻系統(tǒng)和服務(wù)器連接構(gòu)成一套完整的自行車管理系統(tǒng)。由于采用了模塊化設(shè)計,同樣的一套系統(tǒng)只要稍加改進(jìn)就可以在眾多其他領(lǐng)域得到應(yīng)用。
[1] 羅春彬,彭龑,易彬.RFID技術(shù)發(fā)展與應(yīng)用綜述[J].通信技術(shù),2009,40(12):112-114.
[2] 胡建國.智能 RFID標(biāo)簽芯片理論與實現(xiàn)[D].廣州:中山大學(xué),2010.
[3] 王艷平.Windows 網(wǎng)絡(luò)與通信程序設(shè)計[M].北京:人民郵電出版社,2009:48-120.
[4] 徐麗萍.RFID系統(tǒng)讀寫器與電子標(biāo)簽硬件結(jié)構(gòu)分析[J].通信技術(shù),2012,45(08):118-119.
[5] Feddema, Helen.Access 2007 VBA[M].[s.l.]: John Wiley & Sons Inc.,2007:90-143.
[6] 遠(yuǎn)望谷公司.遠(yuǎn)望谷系列 RFID設(shè)備技術(shù)手冊[C].深圳:遠(yuǎn)望谷公司,2009.
[7] BEHROUZ A. Forouzan TCP/IP Protocol Suite Fourth Edition[M].[s.l.]:Higher Education,2008:432-498.
[8] Fred Barwell, Richard BlairProfessinoal.VB.NET Fifth Edition[M].[s.l.]: Wrox Press, 2011:70-86.
[9] 王珺吉,王新征,汪松,等.基于 RFID的軍事物資管理系統(tǒng)[J].信息安全與通信保密,2011(02):64-66.