趙軍
摘 要 多媒體教學(xué)已經(jīng)成為學(xué)校教學(xué)的主要形式之一,隨著多媒體教室利用率的提升,應(yīng)通過合理設(shè)計遠(yuǎn)程管理系統(tǒng),提高其管理效率。文章首先對多媒體教室遠(yuǎn)程管理系統(tǒng)的硬件結(jié)構(gòu)進(jìn)行分析,進(jìn)而探討其軟件功能的設(shè)計與實現(xiàn),包括下位機(jī)軟件的主程序設(shè)計、射頻讀卡程序設(shè)計、網(wǎng)絡(luò)通信程序設(shè)計,以及上位機(jī)軟件的監(jiān)控程序設(shè)計和數(shù)據(jù)接口設(shè)計等。
關(guān)鍵詞 TCP協(xié)議;多媒體教室;遠(yuǎn)程管理;系統(tǒng)設(shè)計
中圖分類號 TP3 文獻(xiàn)標(biāo)識碼 A 文章編號 1674-6708(2018)223-0113-02
傳統(tǒng)的多媒體教室管理系統(tǒng)獨立性較高,多數(shù)控制管理功能為本地功能,需要管理人員到具體教室中進(jìn)行操作,管理效率較低。在全新的多媒體教學(xué)模式構(gòu)建需求下,各學(xué)校多媒體教室數(shù)量不斷增加,管理任務(wù)十分繁重。
為確保正常的教學(xué)秩序,必須采取先進(jìn)的管理手段,對多媒體教室的管理模式進(jìn)行創(chuàng)新。基于TCP協(xié)議實現(xiàn)的多媒體教室遠(yuǎn)程管理系統(tǒng),可以解決傳統(tǒng)管理系統(tǒng)存在的問題,極大地減輕管理人員負(fù)擔(dān),實現(xiàn)遠(yuǎn)程集中管理目標(biāo)。
1 系統(tǒng)硬件結(jié)構(gòu)
本次設(shè)計的多媒體教室遠(yuǎn)程管理系統(tǒng)是基于互聯(lián)網(wǎng)TCP協(xié)議實現(xiàn)的,具有遠(yuǎn)程控制、網(wǎng)絡(luò)通訊等功能。從系統(tǒng)硬件組成結(jié)構(gòu)來看,主要基于C8051F020單片機(jī)芯片進(jìn)行開發(fā),包含4個外圍電路模塊,具體為網(wǎng)絡(luò)通信、時鐘發(fā)生、射頻讀卡和設(shè)備控制模塊。其中,網(wǎng)絡(luò)通信模塊采用CP2200以太網(wǎng)控制器實現(xiàn),射頻讀卡模塊采用MFRC522射頻讀卡芯片實現(xiàn)。其功能和性能都能夠滿足學(xué)校多媒體教室遠(yuǎn)程管理的需要,保證系統(tǒng)響應(yīng)效率和系統(tǒng)運(yùn)行可靠性。在該硬件系統(tǒng)結(jié)構(gòu)下,可通過分別設(shè)計和實現(xiàn)下位機(jī)、上位機(jī)軟件,完成系統(tǒng)設(shè)計任務(wù)[ 1 ]。
2 基于TCP協(xié)議的多媒體教室遠(yuǎn)程管理系統(tǒng)下位機(jī)軟件設(shè)計
2.1 主程序設(shè)計
下位機(jī)系統(tǒng)主程序主要負(fù)責(zé)多媒體教室設(shè)備的電源啟??刂?、網(wǎng)絡(luò)數(shù)據(jù)接收控制、輸入數(shù)據(jù)讀取控制以及控制命令解析和執(zhí)行等功能。采用的C8051F020單片機(jī)芯片在不通電情況下,服務(wù)器組態(tài)軟件為中控離線狀態(tài),通電后,經(jīng)過復(fù)位及初始化,由網(wǎng)絡(luò)模塊根據(jù)TCP協(xié)議,連接上位機(jī)的端口,并將上位機(jī)組態(tài)軟件的狀態(tài)改變成中控在線。此時,下位機(jī)開始對識別區(qū)是否插入IC卡進(jìn)行循環(huán)判斷,讀取到IC卡卡號之后,將卡號傳輸?shù)缴衔粰C(jī),由上位機(jī)開始驗證,下位機(jī)等待上位機(jī)的回應(yīng)。如果上位機(jī)未在3s時間以內(nèi)作出應(yīng)答,則切換到本地驗證模式,查詢本地flash。
在下位機(jī)運(yùn)行過程中,會時刻對上位機(jī)的控制指令進(jìn)行監(jiān)聽,同時控制周邊多媒體設(shè)備,每隔15s,向上位機(jī)發(fā)送狀態(tài)包,每隔1h,向上位機(jī)發(fā)送flash中存儲的數(shù)據(jù)表更新請求。由此可以確??ㄌ枖?shù)據(jù)和教務(wù)課表數(shù)據(jù)保持一致。若下位機(jī)接收到控鍵盤電路中斷請求,則讀取鍵值,然后執(zhí)行相應(yīng)的執(zhí)行控制指令[2]。
2.2 射頻讀卡程序設(shè)計
射頻讀卡程序的設(shè)計主要以MFRC522射頻讀卡芯片為核心,在MFRC522射頻讀卡芯片完成初始化操作后,依次循環(huán)尋卡、防沖撞、選卡功能,讀取物理卡號。成功讀取后,將物理卡號傳送到服務(wù)器端進(jìn)行身份驗證,等待時間同樣為3s。在3s內(nèi)服務(wù)器接收到系統(tǒng)通過驗證的指令,就會啟動電源輸出,如果未收到通過驗證指令,則判定為離線狀態(tài)或存在網(wǎng)絡(luò)故障。此時先通過時鐘芯片讀取當(dāng)前時間,然后從本地flash中查詢工號驗證。在這樣的射頻讀卡程序設(shè)計下,教師可以在網(wǎng)絡(luò)在線情況完成刷卡身份驗證,即使出現(xiàn)網(wǎng)絡(luò)故障,也能夠通過本地驗證,正常使用多媒體設(shè)備[ 3 ]。
2.3 網(wǎng)絡(luò)通信程序設(shè)計
網(wǎng)絡(luò)通信模塊是實現(xiàn)遠(yuǎn)程控制功能的關(guān)鍵,其主要功能有初始化、芯片驅(qū)動、TCP/IP協(xié)議棧處理等。其中,芯片驅(qū)動功能是由相應(yīng)的驅(qū)動程序接收網(wǎng)絡(luò)數(shù)據(jù),同時負(fù)責(zé)數(shù)據(jù)發(fā)送。出于軟硬件資源的考慮,而且該系統(tǒng)的實際功能需求較少,設(shè)計TCP/ IP協(xié)議棧時,可只選擇3個協(xié)議,即TCP協(xié)議、IP協(xié)議和ARP協(xié)議。其中的重點是TCP協(xié)議模塊的設(shè)計,TCP協(xié)議屬于運(yùn)輸層的協(xié)議,具有端口功能,支持傳輸通道的復(fù)用與分用。在TCP數(shù)據(jù)傳輸工作中,數(shù)據(jù)包的首部字節(jié)長度為20~60,該協(xié)議是面向連接的,數(shù)據(jù)傳輸服務(wù)可靠,主要功能函數(shù)有初始化函數(shù)、?;詈瘮?shù)、發(fā)送函數(shù)、接收函數(shù)和重傳函數(shù)等。
在與上位機(jī)建立連接時,需要建立三次握手。第一次握手中的發(fā)送請求方為下位機(jī),應(yīng)答方為上位機(jī)。得到上位機(jī)回發(fā)的應(yīng)答包后,開始進(jìn)行第二次握手,此時發(fā)送方變?yōu)樯衔粰C(jī),應(yīng)答方變?yōu)橄挛粰C(jī),上位機(jī)得到回應(yīng)后回發(fā)應(yīng)答包。最后經(jīng)過第三次握手,建立TCP連接。在連接成功的情況下,下位機(jī)接收到TCP包后,會在上位機(jī)請求號的基礎(chǔ)上,增加一個接收數(shù)據(jù)長度,將請求號、應(yīng)答號設(shè)置為TCP包的應(yīng)答號,然后再發(fā)送出應(yīng)答包。
在上下位機(jī)的通訊期間,應(yīng)答號與請求號必須保持一致。若出現(xiàn)應(yīng)答號比請求號小的情況,說明下位機(jī)未接收到應(yīng)答包,此時要由下位機(jī)重新發(fā)送緩存數(shù)據(jù)包。若連續(xù)兩次重發(fā)后,應(yīng)答號仍小于請求號,則關(guān)閉連接。如果出現(xiàn)應(yīng)答號比請求號大的情況,則直接關(guān)閉連接。采用這種連接方式能夠確保網(wǎng)絡(luò)傳輸通信的可靠性和穩(wěn)定性,適用于多媒體教室管理。
3 基于TCP協(xié)議的多媒體教室遠(yuǎn)程管理系統(tǒng)上位機(jī)軟件設(shè)計
3.1 監(jiān)控程序設(shè)計
在上位機(jī)軟件設(shè)計過程中,監(jiān)控程序要在主窗口加載后,創(chuàng)建服務(wù)器偵聽主socket。然后分別創(chuàng)建并執(zhí)行接入線程和管理線程。其中,接入子線程負(fù)責(zé)處理客戶端接入。在遠(yuǎn)端連接時,先建立新連接的socket和新連接對象,并對其進(jìn)行關(guān)聯(lián),再創(chuàng)建新的連接子線程,最后成功將連接對象加入到客戶端的對象集合內(nèi)。
管理子線程的工作是對離線的連接對象進(jìn)行清除,釋放系統(tǒng)資源,自動刪除客戶端socket。之后讀取后臺數(shù)據(jù)庫狀態(tài),對其屬性列表進(jìn)行更新,在查詢操作中,可顯示當(dāng)前多媒體教室的使用狀態(tài)。在監(jiān)控程序運(yùn)行過程中,先循環(huán)遍歷客戶端集合,查詢每一個連接對象,將超時對象剔除。在剔除操作過程中,要關(guān)閉對應(yīng)的連接子程序,同時關(guān)閉遠(yuǎn)端socket,使其處于離線狀態(tài),然后將數(shù)據(jù)庫對應(yīng)節(jié)點也改變?yōu)殡x線狀態(tài)。更新樹形列表,根據(jù)遍歷的節(jié)點IP地址,查詢中控狀態(tài)值。
最后,通過查詢系統(tǒng),獲取多媒體教室使用情況,根據(jù)教室號,實現(xiàn)設(shè)備使用狀態(tài)的查詢功能,并更新相應(yīng)標(biāo)簽,實現(xiàn)對多媒體教室設(shè)備的遠(yuǎn)程監(jiān)控。為避免出現(xiàn)子程序共用一個連接對象,引發(fā)數(shù)據(jù)庫操作沖突,還需要對每個子程序進(jìn)行分別設(shè)計,采用連接對象實現(xiàn)數(shù)據(jù)庫操作,采取這種辦法,可有效提升數(shù)據(jù)庫的讀寫效率,確保系統(tǒng)穩(wěn)定運(yùn)行。
3.2 數(shù)據(jù)接口設(shè)計
系統(tǒng)數(shù)據(jù)接口包含一卡通接口和教務(wù)接口等。其中,一卡通接口的作用是調(diào)用一卡通Web? Service接口,在原始數(shù)據(jù)表中提取卡號、工號、姓名等字段,對其格式進(jìn)行轉(zhuǎn)換后,存儲到本地數(shù)據(jù)表中,等待調(diào)用。教務(wù)接口的作用是調(diào)用教務(wù)系統(tǒng)Web?Service接口,在原始數(shù)據(jù)表中相應(yīng)的教務(wù)字段信息,同樣需要進(jìn)行格式轉(zhuǎn)化,然后存儲在本地數(shù)據(jù)表中。在數(shù)據(jù)接口的處理過程中,數(shù)據(jù)結(jié)構(gòu)和格式轉(zhuǎn)換是難點部分,比如一卡通原始數(shù)據(jù)表中的卡號為十進(jìn)制字符串類型,設(shè)置為可變長度,但系統(tǒng)所需的時4字節(jié)十六進(jìn)制卡號,所以需要將原字符串先轉(zhuǎn)換為32位無符號整數(shù)類型,然后再將其轉(zhuǎn)換為字節(jié)數(shù)組,最后插入到數(shù)據(jù)庫卡號字段中。
教務(wù)表中的數(shù)據(jù)組織結(jié)構(gòu)與多媒體遠(yuǎn)程管理系統(tǒng)的結(jié)構(gòu)都不一樣,需要依次完成各個數(shù)據(jù)字段的轉(zhuǎn)換功能。先從一卡通原始數(shù)據(jù)表中獲得功耗、上課時間和地點等信息,在對其進(jìn)行拆解,通過層層循環(huán)后,構(gòu)成系統(tǒng)所需的數(shù)據(jù)結(jié)構(gòu)。為保證數(shù)據(jù)使用安全性,所有Web?Service接口調(diào)用者都需要身份驗證,通過驗證的人員才能夠進(jìn)行指令發(fā)送。采用這種方式可以為多媒體教室設(shè)備的使用安全性提供保障。
4 結(jié)論
綜上所述,基于TCP協(xié)議設(shè)計實現(xiàn)的多媒體教室遠(yuǎn)程管理系統(tǒng)能夠滿足多媒體教室管理的實時監(jiān)控、遠(yuǎn)程操作、使用安全等方面的需求,而且使系統(tǒng)管理的集中度得到明顯提升。將基于TCP協(xié)議的多媒體教室遠(yuǎn)程管理系統(tǒng)應(yīng)用到學(xué)校多媒體教室管理實踐中,能夠同時提升管理效率和系統(tǒng)運(yùn)行可靠性,具有較高的綜合效益。
參考文獻(xiàn)
[1]孫宏志,鄒元君.多媒體教室遠(yuǎn)程管理系統(tǒng)構(gòu)建及應(yīng)用[J].軟件導(dǎo)刊,2017,16(2):88-90.
[2]張波.基于TCP協(xié)議的多媒體教室遠(yuǎn)程管理系統(tǒng)的設(shè)計[J].價值工程,2016,35(5):195-197.
[3]吳洋.多媒體教學(xué)管理系統(tǒng)的設(shè)計與實現(xiàn)[D].西安:西安科技大學(xué),2014.