王思沫 汪志龍 譚雨晴 阮庭珅 蔣峰
摘 要: 針對(duì)當(dāng)前校園一卡通系統(tǒng)存在的查詢難、儲(chǔ)值難等問題,基于無線通信、北斗定位等技術(shù),設(shè)計(jì)一種新穎的智能校園一卡通系統(tǒng)。該系統(tǒng)將其后臺(tái)數(shù)據(jù)庫與手機(jī)APP端相連,學(xué)生使用其學(xué)號(hào)和密碼登錄APP,能自助辦理充值、查詢、轉(zhuǎn)賬、定位、上鎖、解鎖等業(yè)務(wù),使得學(xué)生告別時(shí)間和空間上的限制,隨時(shí)隨地對(duì)自己的校園一卡通進(jìn)行業(yè)務(wù)操作,具有較高的實(shí)用性和便捷性。
關(guān)鍵詞: 校園一卡通; 手機(jī)APP; 無線通信; 自助業(yè)務(wù); 轉(zhuǎn)賬; 系統(tǒng)設(shè)計(jì)
中圖分類號(hào): TN915?34; TP273 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)16?0055?04
Abstract: In allusion to the query and recharge difficulties existing in the current campus e?card system, a novel intelligent campus e?card system is designed based on the wireless communication technology and Beidou positioning technology. In the system, the background database is connected to the mobile phone APP. Students use their student IDs and passwords to log into the APP to independently handle services such as recharge, query, money transfer, positioning, locking and unlocking, so that they can be free from the limitation of time and space to conduct service operations on their campus cards anytime and anywhere, which has a high practicality and convenience.
Keywords: campus e?card; mobile phone APP; wireless communication; self?service operation; money transfer; system design
隨著教育信息化的快速發(fā)展,校園一卡通已經(jīng)成為高等院校加強(qiáng)基礎(chǔ)管理的重要工具,同時(shí)也成為了學(xué)生在校園必不可缺的生活用品。然而,隨著時(shí)代的發(fā)展,一卡通的革新似乎很少。當(dāng)前,校園一卡通的充值方式有兩種:一種是在工作時(shí)間到指定充值點(diǎn)由人工進(jìn)行業(yè)務(wù)辦理;另一種是在充值機(jī)器處自助辦理業(yè)務(wù)。第一種充值方式受時(shí)間空間限制,第二種則受地點(diǎn)限制,深受廣大學(xué)生的詬病。更為重要的是當(dāng)一卡通一旦丟失,學(xué)生們往往很難在第一時(shí)間進(jìn)行掛失,容易造成經(jīng)濟(jì)上的損失,同時(shí)補(bǔ)辦一卡通也至少需要三天的時(shí)間,對(duì)學(xué)生的校園生活帶來很多不便。文中針對(duì)當(dāng)前校園一卡通系統(tǒng)存在的問題,結(jié)合“互聯(lián)網(wǎng)+”以及北斗定位等技術(shù)[1],設(shè)計(jì)一種新穎的智能一卡通系統(tǒng),擬解決上述問題。
1.1 智能校園一卡通芯片的設(shè)計(jì)
本文設(shè)計(jì)的智能校園一卡通系統(tǒng)由IC卡芯片、讀寫控制器以及數(shù)據(jù)中心組成。文中將重點(diǎn)介紹這3個(gè)部分的實(shí)現(xiàn)過程。
智能校園一卡通IC卡芯片以Freescale 16位單片機(jī)MC9S12XS128[2]作為控制核心器件,由嵌入式的操作系統(tǒng)進(jìn)行統(tǒng)一調(diào)度從而最終達(dá)到實(shí)現(xiàn)多任務(wù)同時(shí)進(jìn)行的目的,智能校園一卡通IC卡芯片的組成原理框圖如圖1所示。芯片中控制核心模塊采用太陽能供電,然后通過LM7805芯片對(duì)所產(chǎn)生的電能進(jìn)行穩(wěn)壓處理,最后使得機(jī)器一直處于工作狀態(tài)。圖1中,無線通信模塊選用芯訊通(SIMCom)公司的SIMCom GSM/GPRS[3],單片機(jī)通過USB接口與無線通信模塊相連,該無線通信模塊通過與手機(jī)APP服務(wù)器端無線通信的硬件接口連接來整體實(shí)現(xiàn)智能校園一卡通的通信。圖1中的定位采用北斗定位模塊,其中包括北斗衛(wèi)星定位[4]單元:近程無線信標(biāo)被動(dòng)定位單元,單片機(jī)通過UART接口與該北斗定位單元連接,確定校園卡所在的經(jīng)緯度信息。若智能校園卡不慎遺失,則可以根據(jù)定位信息迅速找回。
1.2 讀寫控制器設(shè)計(jì)
讀寫控制器不僅保證了智能校園一卡通系統(tǒng)具有優(yōu)良的可靠性和絕對(duì)的安全性,還可以根據(jù)不同的場所,選擇不同的讀寫終端,同時(shí)用戶可以根據(jù)現(xiàn)有的網(wǎng)絡(luò)情況、地理位置及一卡通信息流的計(jì)劃,選擇適當(dāng)?shù)木W(wǎng)絡(luò)結(jié)構(gòu)。讀寫器[5]以射頻識(shí)別技術(shù)為核心,讀卡器采用雙CPU系統(tǒng)設(shè)計(jì),其中單片機(jī)89C52作為主控器件,通過P1口與串行器件24C64、顯示、報(bào)警電路連接。顯示模塊采用串行方式進(jìn)行通信,24C64用來存儲(chǔ)本消費(fèi)終端機(jī)地址和其他數(shù)據(jù)信息。
P0口分別與MMM微模塊及CAN總線控制器SJA1000相連,用作數(shù)據(jù)線。監(jiān)控電路選用DS1232L芯片,上電和掉電時(shí)給89C52、MMM模塊及CAN總線控制器SJA1000產(chǎn)生RESET信號(hào);看門狗對(duì)系統(tǒng)進(jìn)行監(jiān)控,防止死機(jī)。由于單片機(jī)的I/O口資源比較緊張,而鍵盤需要8個(gè)I/O口,因此,設(shè)計(jì)中鍵盤處理使用一個(gè)獨(dú)立的從CPU(89C2051)完成。89C2051從按鍵掃描過程中獲得鍵碼,最后以串行的方式與主CPU進(jìn)行通信,主CPU獲得鍵碼后再做相應(yīng)的后續(xù)處理。讀寫器的電路原理如圖2所示。
1.3 數(shù)據(jù)中心的組成
所設(shè)計(jì)的智能校園一卡通系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)采用多層C/S模式[6]:第一層以數(shù)據(jù)庫服務(wù)器為中心的局域網(wǎng)的分布式結(jié)構(gòu);第二層以應(yīng)用服務(wù)器為中心的局域網(wǎng)的分布式結(jié)構(gòu);第三層以第二層局域網(wǎng)的網(wǎng)絡(luò)工作站作為控制主機(jī)的現(xiàn)場總線網(wǎng)絡(luò)結(jié)構(gòu),該層網(wǎng)絡(luò)控制各個(gè)校園卡收費(fèi)終端,其系統(tǒng)數(shù)據(jù)中心組成框圖如圖3所示。
1.4 基于數(shù)據(jù)中心的北斗定位功能
為實(shí)現(xiàn)智能校園一卡通的定位功能,設(shè)計(jì)中將北斗芯片裝載在能自動(dòng)檢測智能校園一卡通PVC卡的裝置上,通過北斗終端定位系統(tǒng)得到相應(yīng)的位置坐標(biāo),然后由數(shù)據(jù)中心進(jìn)行計(jì)算處理來確定智能校園一卡通的位置。北斗終端的定位是基于偽距測量原理實(shí)現(xiàn)的。在用戶位置未知的衛(wèi)星導(dǎo)航定位中,用戶位置有三個(gè)未知數(shù),定位時(shí)間由于也是未知量,所以單頻點(diǎn)在定位的時(shí)候至少需要接收4顆衛(wèi)星信號(hào)才能實(shí)現(xiàn)定位。假設(shè)由導(dǎo)航電文計(jì)算得到的4顆北斗衛(wèi)星的坐標(biāo)分別為[(x1,y1,z1)],[(x2,y2,z2)],[(x3,y3,z3)],[(x4,y4,z4)];用戶位置坐標(biāo)為[(ρ1,ρ2,ρ3)];用戶鐘相對(duì)于UTC時(shí)間的鐘差為[Δt],則有:
智能校園一卡通系統(tǒng)的軟件由嵌入式操作系統(tǒng)控制程序、無線通信控制程序、IC卡讀寫程序、定位數(shù)據(jù)處理程序、基于Android手持終端的APP程序等組成。限于篇幅,這里只介紹APP程序的設(shè)計(jì)流程和嵌入式控制程序。
2.1 基于Android 的APP程序開發(fā)
智能校園一卡通系統(tǒng)的手持終端APP基于Android操作系統(tǒng)開發(fā)。文中采用Android開發(fā)技術(shù)和服務(wù)器、數(shù)據(jù)庫原理等相關(guān)技術(shù),并運(yùn)用NET.Framework4的開發(fā)端環(huán)境和MVC框架(模型?視圖?控制器)模式[7]的Native技術(shù)手段開發(fā)手機(jī)應(yīng)用服務(wù)端,通過無線通信系統(tǒng)(3G/4G/WiFi信號(hào))將智能校園一卡通與手機(jī)APP端對(duì)接,實(shí)現(xiàn)功能強(qiáng)大的智能校園一卡通與APP應(yīng)用,開發(fā)流程如圖4所示。
APP應(yīng)用程序利用Java語言來開發(fā),由于還需要基于Dalvik的虛擬機(jī),因此,選用Google公司推薦的Java集成開發(fā)環(huán)境Eclipse。同時(shí)選用了由SUN公司提供的Java SDK,其中包括JRE(Java Runtime Environment)。此外,進(jìn)行Android的應(yīng)用程序開發(fā)還需要有Google提供的Android SDK,并需要在Eclipse中安裝ADT,為Android開發(fā)提供開發(fā)工具的升級(jí)或者變更。
在手機(jī)APP端中采用C/S(Client/Server)模式,在eclipse中采用Android DeveloperTools為開發(fā)工具[8],界面的整體布局以LinearLayout和RelativeLayout為主,界面的視圖、字體,圖片等經(jīng)過美化處理,適合手機(jī)用戶瀏覽和操作。選用Android系統(tǒng)中的核心組件Activity 、Service,核心組件之間的通信功能由Intent來實(shí)現(xiàn)。手機(jī)APP端連接服務(wù)器端采用TCP/IP網(wǎng)絡(luò)協(xié)議,為降低數(shù)據(jù)傳送的流量,在數(shù)據(jù)接收上采用輕量級(jí)的Json數(shù)據(jù)交換格式,從而實(shí)現(xiàn)校園一卡通查詢、充值、轉(zhuǎn)賬、定位、上鎖、解鎖6個(gè)功能模塊,其中定位功能采用HTML5定位實(shí)現(xiàn)[9]。
與手機(jī)APP通信的服務(wù)器端采用經(jīng)典的MVC設(shè)計(jì)模式結(jié)合Tomcat 6.0和SQL Server數(shù)據(jù)庫搭建而成。利用JDBC 訪問后臺(tái)數(shù)據(jù)庫,選用queryBalanceServlet處理查詢校園一卡通內(nèi)余額操作;選用lockCardServlet處理學(xué)生鎖定校園一卡通操作;選用rechargeConsumptionServlet處理學(xué)生充值操作;選用showNewsServlet處理學(xué)生查看校園一卡通定位功能等,同時(shí)系統(tǒng)選用MD5加密系統(tǒng)進(jìn)行敏感數(shù)據(jù)的加密[10],比如支付密碼、登錄密碼等。APP無線通信操作利用Java語言中常用的網(wǎng)絡(luò)通信方式[11]讓開發(fā)的APP與相關(guān)服務(wù)器端使用的ServerSocket產(chǎn)生的實(shí)例Socket對(duì)象連接。設(shè)計(jì)中指定服務(wù)器的程序端口號(hào)和IP地址,使得APP與PC服務(wù)器處于同一局域網(wǎng)。此時(shí),一旦APP與Socket之間有動(dòng)作產(chǎn)生,客戶端便會(huì)建立虛擬鏈路,從而獲取其中的istream和ostream,發(fā)送和接收服務(wù)器中XML存儲(chǔ)的數(shù)據(jù)[12],并使用DOM4J來解析數(shù)據(jù)。之后布局信息也將通過DOM4J強(qiáng)制轉(zhuǎn)換成XML文檔,反饋給服務(wù)器端。
2.2 嵌入式控制核心模塊軟件進(jìn)程
智能校園一卡通IC卡芯片以Freescale 16位單片機(jī)MC9S12XS128作為控制核心器件,由嵌入式的操作系統(tǒng)進(jìn)行統(tǒng)一調(diào)度從而最終達(dá)到實(shí)現(xiàn)多任務(wù)同時(shí)進(jìn)行的目的,嵌入式控制核心模塊軟件進(jìn)程包括3個(gè)線程。線程1為主流程,實(shí)現(xiàn)對(duì)校園一卡通錢包進(jìn)行實(shí)時(shí)顯示,線程2實(shí)現(xiàn)對(duì)錢包的實(shí)時(shí)記錄監(jiān)測模塊通信,線程3為通信與定位線程,實(shí)現(xiàn)與北斗定位模塊和無線通信模塊通信,其中還設(shè)置了一個(gè)所有線程共享的內(nèi)存空間用來進(jìn)行線程之間的數(shù)據(jù)傳遞,同時(shí)線程1與線程2及線程3之間還可以進(jìn)行消息的傳遞。嵌入式控制核心模塊線程圖如圖5所示。
智能校園一卡通系統(tǒng)的APP界面[13]用Java語言進(jìn)行編程實(shí)現(xiàn),該APP界面實(shí)現(xiàn)了查詢、轉(zhuǎn)賬、充值、定位等功能,實(shí)現(xiàn)流程圖如圖6所示,APP應(yīng)用界面見圖7。
本文系統(tǒng)為高校學(xué)生提供了極大的便利。線上的自助一卡通業(yè)務(wù)操作告別了傳統(tǒng)線下排隊(duì)辦理業(yè)務(wù)的麻煩,不受時(shí)間和空間限制,隨時(shí)隨地辦理充值、查詢、轉(zhuǎn)賬、定位、上鎖、解鎖等業(yè)務(wù)。一旦遺失一卡通,也能在第一時(shí)間進(jìn)行上鎖(掛失),再通過定位功能查詢詳細(xì)位置,從而在第一時(shí)間找回丟失的一卡通,找回后一鍵解鎖,使一卡通正常使用,極大可能地減少一卡通丟失所造成的損失,具有較高的實(shí)用性。
[1] 趙學(xué)洋,李海紅.基于北斗?物聯(lián)網(wǎng)技術(shù)的導(dǎo)航信息系統(tǒng)探討[J].新技術(shù)新工藝,2013(3):112?115.
ZHAO Xueyang, LI Haihong. Exploration of navigation information system based on Beidou Internet of Things technology [J]. New technology & new process, 2013(3): 112?115.
[2] 丁磊.基于16位單片機(jī)MC9S12XS128的兩輪自平衡智能車的系統(tǒng)研究與開發(fā)[D].西安:長安大學(xué),2013.
DING Lei. The development and research of two?wheeled self?balancing intelligence vehicle system based on 16?bit MCU MC9S12XS128 [D]. Xian: Changan University, 2013.
[3] 毛天珂,李姣.GPRS通信模塊中無線傳輸系統(tǒng)的協(xié)議設(shè)計(jì)[J].電子世界,2013(7):128?129.
MAO Tianke, LI Jiao. Protocol design of wireless transmission system in GPRS communication module [J]. Electronics world, 2013(7): 128?129.
[4] 萬琪俊.基于北斗導(dǎo)航衛(wèi)星移動(dòng)定位系統(tǒng)研究與實(shí)現(xiàn)[D].廣州:華南理工大學(xué),2013.
WAN Qijun, Research and implementation of Beidou navigation satellite mobile positioning system [D]. Guangzhou: South China University of Technology, 2013.
[5] 歐陽宏志,肖玉明.校園一卡通系統(tǒng)中RFID讀寫器的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2014,22(16):109?112.
OUYANG Hongzhi, XIAO Yuming. Design of the RFID reader in campus card system [J]. Electronic design engineering, 2014, 22(16): 109?112.
[6] 袁曉戎.基于物聯(lián)網(wǎng)的校園一卡通系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2017(4):225?227.
YUAN Xiaorong. Design and implementation of campus card system based on Internet of Things [J]. Automation & instrumentation, 2017(4): 225?227.
[7] 丁蓉,孫曉輝,張禾.校園一卡通在高校教學(xué)管理中的應(yīng)用[J].中國教育信息化,2017(7):63?64.
DING Rong, SUN Xiaohui, ZHANG He. Application of campus card in teaching management in colleges and universities [J]. The Chinese journal of ICT in education, 2017(7): 63?64.
[8] 周宇,尹生強(qiáng),王冬青,等.基于Eclipse和Android系統(tǒng)的App開發(fā)平臺(tái)搭建研究[J].青島大學(xué)學(xué)報(bào)(工程技術(shù)版),2016,31(3):49?53.
ZHOU Yu, YIN Shengqiang, WANG Dongqing, et al. Building App development platform based on the Eclipse and Android [J]. Journal of Qingdao University (Engineering & technology edition), 2016, 31(3): 49?53.
[9] 魯立,劉楨.基于HTML5地理定位技術(shù)的移動(dòng)終端導(dǎo)航設(shè)計(jì)[J].電子設(shè)計(jì)工程,2012,20(22):120?122.
LU Li, LIU Zhen. Design of the mobile terminal navigation based on HTML5 geolocation technology [J]. Electronic design engineering, 2012, 20(22): 120?122.
[10] 趙潔,楊劍.物聯(lián)網(wǎng)多設(shè)備通信中的加密模塊設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2016,39(18):69?72.
ZHAO Jie, YANG Jian. Design and implementation of encryption module in multi?equipment communication of Internet of Things [J]. Modern electronics technique, 2016, 39(18): 69?72.
[11] 宋澤瑞.基于SOCKET編程接口的網(wǎng)絡(luò)通信[J].中國新通信,2017,19(5):29.
SONG Zerui. Network communication based on SOCKET programming interface [J]. China new telecommunications, 2017, 19(5): 29.
[12] 陳飛飛.基于DOM4J的XML文檔解析技術(shù)研究與應(yīng)用[J].軟件導(dǎo)刊,2016,15(3):36?37.
CHEN Feifei. Research and application of XML document analysis technology based on DOM4J [J]. Software guide, 2016, 15(3): 36?37.
[13] 魏士靖.基于互聯(lián)網(wǎng)的智能手機(jī)移動(dòng)網(wǎng)絡(luò)界面設(shè)計(jì)分析[J].現(xiàn)代電子技術(shù),2017,40(2):78?80.
WEI Shijing. Design analysis on mobile web interface of smart phone based on Internet [J]. Modern electronics technique, 2017, 40(2): 78?80.