劉鳳秋,趙有以,劉 昊,王建民
(哈爾濱理工大學 應用科學學院,哈爾濱 150080)
隨著計算機和網絡技術的不斷發展與進步,網絡選課系統已經在國內高校得到普遍應用,逐漸成為高等院校安排教學必不可少的工具[1-4]。然而,由于學校選課時間集中,選課人數巨大,出現用戶無法登錄系統選課或者網絡訪問速度慢的現象,在相對集中的時間內大量用戶同時訪問網絡服務器進行選課,使得選課效率非常低,嚴重時致使學校網絡癱瘓,影響正常的工作。
文中提出一種基于GSM網絡的短信選課系統,該系統能夠接收選課用戶通過移動終端發送的選課信息,并進行相應的處理,同時具有一定的存儲功能,避免頻繁訪問服務器,實現在選課高峰時對選課用戶的分流,緩解選課高峰對于網絡和數據庫訪問的壓力。
針對高等學校選課時間相對集中,選課人數眾多的需求,同時考慮到GSM網絡通信的特點,GSM短信選課系統應該具備如下功能:1)接收用戶(學生)通過手機短信向指定的號碼發送含有學號、密碼、課程代號等內容的短信;2)對接收的短信內容解碼,判斷接收信息是否符合規定的協議格式。如果短信內容有效,返回選課有效提示給用戶。否則返回選課無效提示給用戶;3)系統具有一定的信息存儲功能,用于存儲用戶的選課信息,避免頻繁訪問數據庫;4)具備友好的人機交互界面;5)實現通信接口與主機(上位機)進行信息交互;6)上電以及連接故障自檢功能;7)支持飛信、人機交互等其它功能。
GSM短信選課系統功能框架如圖1所示,包括多個用戶終端、GSM短信選課系統以及上位機。用戶終端指選課學生、任課教師或教務處工作人員所使用的手機,不同用戶具有不同的權限,通過手機短信進行選課或者對選課情況進行查詢、刪除等操作。GSM短信系統是整個系統核心,負責接收、處理、保存移動終端發送的選課請求,根據處理結果向用戶終端和上位機發送確認信息。上位機負責接收來自GSM短信選課系統信息,并對數據庫進行寫入、刪除等操作。

圖1 選課系統功能框圖Fig.1 Structure diagram of elective system
GSM短信選課系統的硬件結構如圖2所示,主要包括主控制器、GSM短信模塊、USB通信接口、人際交互模塊和存儲模塊等模塊。主控制器用于短信的解碼與編碼以及控制系統其它的外設;GSM短信模塊主要用于短信息的接收與發送;USB通信模塊為上位機通信提供USB接口;人機交互模塊主要包括TFT彩色觸摸屏和聲音提示模塊,用于用戶輸入信息以及有關信息的顯示等;存儲模塊用于暫時儲存選課數據。

圖2 GSM短信選課系統硬件結構框Fig.2 Structure diagram of the hardware system
1)主控制器 主控制器選用STM32F103增強型單片機,STM32系列單片機是意法半導體公司專門為高性能、低成本、低功耗的嵌入式應用設計的產品,其主頻能達到72 MHz,在同類產品中性能最高的產品,本系統中用于對接收到的短信進行解碼,并通過USB接口向上位機發送解碼結果,同時控制TFT彩色液晶屏顯示、時鐘正常運行和SD存儲卡對選課信息的記錄。
2)GSM短信收發模塊 選用SIMENS公司生產的新一代GSM/GPRS模塊TC35i,實現接收選課信息與發送選課狀態信息等任務。
3)觸摸屏模塊 本系統選用8寸TFT工業串口屏代替鍵盤和點陣液晶,實現了通過觸摸對系統進行控制操作,并在彩色液晶上顯示時間、選課用戶的號碼及選課人數等信息,提供了更人性化的便捷操作。
4)存儲模塊 選用SD卡作為存儲模塊,用于存儲和記錄選課信息,為后期進行人員篩選做好充分準備,以確保選課可以更安全、更可靠地完成。
5)電源模塊 為系統提供不同電壓電流的電源需求,由外接7 V電源經LM1086-ADJ降壓到4.2 V后為TC35i短信模塊提供標準的工作電壓,同時經LM1086-3.3 V降壓到3.3 V后為單片機系統和存儲模塊提供工作電壓,經LM1086-5.0 V降壓到5.0 V后為TFT觸摸屏提供工作電壓。
系統軟件采用Keil MDK編寫,Keil MDK為德國著名軟件公司Keil出品的一款C編譯器,具有操作簡單、界面友好及代碼效率高等特點。
為了提高系統的可讀性以及代碼效率,軟件采用狀態機思想設計,圖3所示為系統的狀態轉換圖。系統上電復位后進入IDLE空閑狀態,若檢測到短信標志CMTI則進入RECEIVE狀態接收短信并進行解碼,如果ERROR不為0即不符合協議,則進入SEND狀態直接回復用戶不符協議的提示信息,否則進入ACCRORD狀態。此狀態下開啟定時器并檢測上位機是否有回復信息,如果在3秒內收到回復信息則進入REPLY狀態并根據上位機回復內容確定需要發送給用戶的短消息,否則認為是上位機處理錯誤,最后程序進入SEND狀態發送短信選課的結果,并返回到IDLE狀態。

圖3 軟件狀態轉換圖Fig.3 State transition diagram of the software
系統上電后首先完成對單片機外設的初始化,并檢測TC35i模塊硬件及網絡的連接是否正常。如果系統工作正常,則檢測是否有新的短消息。如果有,系統要對其進行讀取、刪除并對短消息進行解碼,判斷短信內容是否符合事先確定的選課短信協議。如果符合,則對短信內容進行編碼,并通過USB端口發送到上位機。否則,回復給用戶相應的提示信息,具體流程如圖4所示。
完成設計后,對GSM短信選課系統進行了大量的調試和實驗。在進行測試時,打開下位機,并通過USB連接線將下位機與上位機相連。待下位機網絡搜索完成后,運行該測試的應用軟件,輸入授權碼,并進行相應端口號及通信速率的設置。設置完成后,通過手機短信、飛信等終端向系統發送符合協議要求及不符合協議要求的測試短信。通信協議的具體的格式為:學號+密碼+課程號,如學號為0907010118的學生密碼為 0907010118,要選的課程號為 123456789,則符合協議的發送內容為09070101180907010118123456789。實際測試結果表明,系統能夠按照設計的要求對發送內容進行正確處理。測試界面如圖5所示。大量測試實驗表明,系統運行穩定、可靠,具備實際應用的前景。
文中闡述了GSM短信選課系統的設計和實現過程,并對其中所涉及關鍵問題進行了詳細的討論。針對高校網絡選課擁堵而引起的現代高校學生選課難的問題,提出了一種有效的解決途徑。推行這種技術是緩解網絡選課效率低下的有效方法之一,同時可為參與選課人員提供更簡單更人性化操作平臺。

圖4 軟件流程圖Fig.4 Flow chart of the software

圖5 GSM短信選課系統實物以及上位機界面Fig.5 Elective sytem based on GSM message and software GUI on the host
[1]張小靈,胡其圖,張超,等.基于WEB的物理實驗選課系統的設計與實現[J].物理與工程,2004,14(1):28-31.
ZHANG Xiao-ling,HU Qi-tu,ZHANG Chao,et al.A Webbased physics experiment course selection system[J].Physics and Engineering,2004,14(1):28-31.
[2]李淑堃.基于GSM MODEM的高校選課輔助系統設計與開發[J].計算機應用與軟件,2012,29(4):203-205.
LI Shu-kun.Design and developing the auxiliary system for courses selection in colleges based on GSM model[J].Computer Applications and Software,2012,29(4):203-205.
[3]于偉,徐冉,朱世松,等.基于手機短信服務的網上選課系統設計[J].計算機工程與設計,2007,28(11):2748-2750.
YU Wei,XU Ran,ZHU Shi-song,et al.Design of elective system based on GSM short message service[J].Computer Engineering and Design,2007,28(11):2748-2750.
[4]朱藝紅,陳嶺.北京體育大學選課管理系統軟件的開發與應用[J].北京體育大學學報,2002,25(5):667-669.
ZHU Yi-hong,CHEN Ling.Development and application of administration software for selecting courses[J].Beijing University of Physical Education,2002,25(5):667-669.
[5]楊東風.志愿選課算法分析與優化研究[J].電子設計工程.2011, 19(5):108-110.
YANG Dong-feng.Volunteers course algorithm analysis and optimization research[J].Electronic Design Engineering,2011,19(5):108-110.
[6]黃新林,王鋼,劉春剛.有限狀態機在單片機編程中的應用[J].哈爾濱理工大學學報,2008,13(4):7-9.
HUANG Xin-lin,WANG Gang,LIU Chun-gang, Application offinite state machine in single chip microcomputer programming[J].Joumal of Harbin University of Technology,2008,13(4):7-9.