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