王思沫 汪志龍 譚雨晴 阮庭珅 蔣峰
摘 要: 針對當前校園一卡通系統存在的查詢難、儲值難等問題,基于無線通信、北斗定位等技術,設計一種新穎的智能校園一卡通系統。該系統將其后臺數據庫與手機APP端相連,學生使用其學號和密碼登錄APP,能自助辦理充值、查詢、轉賬、定位、上鎖、解鎖等業務,使得學生告別時間和空間上的限制,隨時隨地對自己的校園一卡通進行業務操作,具有較高的實用性和便捷性。
關鍵詞: 校園一卡通; 手機APP; 無線通信; 自助業務; 轉賬; 系統設計
中圖分類號: TN915?34; TP273 文獻標識碼: A 文章編號: 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
隨著教育信息化的快速發展,校園一卡通已經成為高等院校加強基礎管理的重要工具,同時也成為了學生在校園必不可缺的生活用品。然而,隨著時代的發展,一卡通的革新似乎很少。當前,校園一卡通的充值方式有兩種:一種是在工作時間到指定充值點由人工進行業務辦理;另一種是在充值機器處自助辦理業務。第一種充值方式受時間空間限制,第二種則受地點限制,深受廣大學生的詬病。更為重要的是當一卡通一旦丟失,學生們往往很難在第一時間進行掛失,容易造成經濟上的損失,同時補辦一卡通也至少需要三天的時間,對學生的校園生活帶來很多不便。文中針對當前校園一卡通系統存在的問題,結合“互聯網+”以及北斗定位等技術[1],設計一種新穎的智能一卡通系統,擬解決上述問題。
1.1 智能校園一卡通芯片的設計
本文設計的智能校園一卡通系統由IC卡芯片、讀寫控制器以及數據中心組成。文中將重點介紹這3個部分的實現過程。
智能校園一卡通IC卡芯片以Freescale 16位單片機MC9S12XS128[2]作為控制核心器件,由嵌入式的操作系統進行統一調度從而最終達到實現多任務同時進行的目的,智能校園一卡通IC卡芯片的組成原理框圖如圖1所示。芯片中控制核心模塊采用太陽能供電,然后通過LM7805芯片對所產生的電能進行穩壓處理,最后使得機器一直處于工作狀態。圖1中,無線通信模塊選用芯訊通(SIMCom)公司的SIMCom GSM/GPRS[3],單片機通過USB接口與無線通信模塊相連,該無線通信模塊通過與手機APP服務器端無線通信的硬件接口連接來整體實現智能校園一卡通的通信。圖1中的定位采用北斗定位模塊,其中包括北斗衛星定位[4]單元:近程無線信標被動定位單元,單片機通過UART接口與該北斗定位單元連接,確定校園卡所在的經緯度信息。若智能校園卡不慎遺失,則可以根據定位信息迅速找回。
1.2 讀寫控制器設計
讀寫控制器不僅保證了智能校園一卡通系統具有優良的可靠性和絕對的安全性,還可以根據不同的場所,選擇不同的讀寫終端,同時用戶可以根據現有的網絡情況、地理位置及一卡通信息流的計劃,選擇適當的網絡結構。讀寫器[5]以射頻識別技術為核心,讀卡器采用雙CPU系統設計,其中單片機89C52作為主控器件,通過P1口與串行器件24C64、顯示、報警電路連接。顯示模塊采用串行方式進行通信,24C64用來存儲本消費終端機地址和其他數據信息。
P0口分別與MMM微模塊及CAN總線控制器SJA1000相連,用作數據線。監控電路選用DS1232L芯片,上電和掉電時給89C52、MMM模塊及CAN總線控制器SJA1000產生RESET信號;看門狗對系統進行監控,防止死機。由于單片機的I/O口資源比較緊張,而鍵盤需要8個I/O口,因此,設計中鍵盤處理使用一個獨立的從CPU(89C2051)完成。89C2051從按鍵掃描過程中獲得鍵碼,最后以串行的方式與主CPU進行通信,主CPU獲得鍵碼后再做相應的后續處理。讀寫器的電路原理如圖2所示。

1.3 數據中心的組成
所設計的智能校園一卡通系統的網絡結構采用多層C/S模式[6]:第一層以數據庫服務器為中心的局域網的分布式結構;第二層以應用服務器為中心的局域網的分布式結構;第三層以第二層局域網的網絡工作站作為控制主機的現場總線網絡結構,該層網絡控制各個校園卡收費終端,其系統數據中心組成框圖如圖3所示。
1.4 基于數據中心的北斗定位功能
為實現智能校園一卡通的定位功能,設計中將北斗芯片裝載在能自動檢測智能校園一卡通PVC卡的裝置上,通過北斗終端定位系統得到相應的位置坐標,然后由數據中心進行計算處理來確定智能校園一卡通的位置。北斗終端的定位是基于偽距測量原理實現的。在用戶位置未知的衛星導航定位中,用戶位置有三個未知數,定位時間由于也是未知量,所以單頻點在定位的時候至少需要接收4顆衛星信號才能實現定位。假設由導航電文計算得到的4顆北斗衛星的坐標分別為[(x1,y1,z1)],[(x2,y2,z2)],[(x3,y3,z3)],[(x4,y4,z4)];用戶位置坐標為[(ρ1,ρ2,ρ3)];用戶鐘相對于UTC時間的鐘差為[Δt],則有:
智能校園一卡通系統的軟件由嵌入式操作系統控制程序、無線通信控制程序、IC卡讀寫程序、定位數據處理程序、基于Android手持終端的APP程序等組成。限于篇幅,這里只介紹APP程序的設計流程和嵌入式控制程序。
2.1 基于Android 的APP程序開發
智能校園一卡通系統的手持終端APP基于Android操作系統開發。文中采用Android開發技術和服務器、數據庫原理等相關技術,并運用NET.Framework4的開發端環境和MVC框架(模型?視圖?控制器)模式[7]的Native技術手段開發手機應用服務端,通過無線通信系統(3G/4G/WiFi信號)將智能校園一卡通與手機APP端對接,實現功能強大的智能校園一卡通與APP應用,開發流程如圖4所示。
APP應用程序利用Java語言來開發,由于還需要基于Dalvik的虛擬機,因此,選用Google公司推薦的Java集成開發環境Eclipse。同時選用了由SUN公司提供的Java SDK,其中包括JRE(Java Runtime Environment)。此外,進行Android的應用程序開發還需要有Google提供的Android SDK,并需要在Eclipse中安裝ADT,為Android開發提供開發工具的升級或者變更。
在手機APP端中采用C/S(Client/Server)模式,在eclipse中采用Android DeveloperTools為開發工具[8],界面的整體布局以LinearLayout和RelativeLayout為主,界面的視圖、字體,圖片等經過美化處理,適合手機用戶瀏覽和操作。選用Android系統中的核心組件Activity 、Service,核心組件之間的通信功能由Intent來實現。手機APP端連接服務器端采用TCP/IP網絡協議,為降低數據傳送的流量,在數據接收上采用輕量級的Json數據交換格式,從而實現校園一卡通查詢、充值、轉賬、定位、上鎖、解鎖6個功能模塊,其中定位功能采用HTML5定位實現[9]。
與手機APP通信的服務器端采用經典的MVC設計模式結合Tomcat 6.0和SQL Server數據庫搭建而成。利用JDBC 訪問后臺數據庫,選用queryBalanceServlet處理查詢校園一卡通內余額操作;選用lockCardServlet處理學生鎖定校園一卡通操作;選用rechargeConsumptionServlet處理學生充值操作;選用showNewsServlet處理學生查看校園一卡通定位功能等,同時系統選用MD5加密系統進行敏感數據的加密[10],比如支付密碼、登錄密碼等。APP無線通信操作利用Java語言中常用的網絡通信方式[11]讓開發的APP與相關服務器端使用的ServerSocket產生的實例Socket對象連接。設計中指定服務器的程序端口號和IP地址,使得APP與PC服務器處于同一局域網。此時,一旦APP與Socket之間有動作產生,客戶端便會建立虛擬鏈路,從而獲取其中的istream和ostream,發送和接收服務器中XML存儲的數據[12],并使用DOM4J來解析數據。之后布局信息也將通過DOM4J強制轉換成XML文檔,反饋給服務器端。
2.2 嵌入式控制核心模塊軟件進程
智能校園一卡通IC卡芯片以Freescale 16位單片機MC9S12XS128作為控制核心器件,由嵌入式的操作系統進行統一調度從而最終達到實現多任務同時進行的目的,嵌入式控制核心模塊軟件進程包括3個線程。線程1為主流程,實現對校園一卡通錢包進行實時顯示,線程2實現對錢包的實時記錄監測模塊通信,線程3為通信與定位線程,實現與北斗定位模塊和無線通信模塊通信,其中還設置了一個所有線程共享的內存空間用來進行線程之間的數據傳遞,同時線程1與線程2及線程3之間還可以進行消息的傳遞。嵌入式控制核心模塊線程圖如圖5所示。
智能校園一卡通系統的APP界面[13]用Java語言進行編程實現,該APP界面實現了查詢、轉賬、充值、定位等功能,實現流程圖如圖6所示,APP應用界面見圖7。
本文系統為高校學生提供了極大的便利。線上的自助一卡通業務操作告別了傳統線下排隊辦理業務的麻煩,不受時間和空間限制,隨時隨地辦理充值、查詢、轉賬、定位、上鎖、解鎖等業務。一旦遺失一卡通,也能在第一時間進行上鎖(掛失),再通過定位功能查詢詳細位置,從而在第一時間找回丟失的一卡通,找回后一鍵解鎖,使一卡通正常使用,極大可能地減少一卡通丟失所造成的損失,具有較高的實用性。
[1] 趙學洋,李海紅.基于北斗?物聯網技術的導航信息系統探討[J].新技術新工藝,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位單片機MC9S12XS128的兩輪自平衡智能車的系統研究與開發[D].西安:長安大學,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通信模塊中無線傳輸系統的協議設計[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].廣州:華南理工大學,2013.
WAN Qijun, Research and implementation of Beidou navigation satellite mobile positioning system [D]. Guangzhou: South China University of Technology, 2013.
[5] 歐陽宏志,肖玉明.校園一卡通系統中RFID讀寫器的設計[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] 袁曉戎.基于物聯網的校園一卡通系統的設計與實現[J].自動化與儀器儀表,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] 丁蓉,孫曉輝,張禾.校園一卡通在高校教學管理中的應用[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] 周宇,尹生強,王冬青,等.基于Eclipse和Android系統的App開發平臺搭建研究[J].青島大學學報(工程技術版),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地理定位技術的移動終端導航設計[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] 趙潔,楊劍.物聯網多設備通信中的加密模塊設計與實現[J].現代電子技術,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編程接口的網絡通信[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文檔解析技術研究與應用[J].軟件導刊,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] 魏士靖.基于互聯網的智能手機移動網絡界面設計分析[J].現代電子技術,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.