王磊
摘要:文章通過對無線網(wǎng)絡(luò)電子時鐘軟件部分實現(xiàn)過程的介紹,為在信息技術(shù)和網(wǎng)絡(luò)技術(shù)高速發(fā)展的環(huán)境下開發(fā)嵌入式設(shè)備與服務(wù)器端交互的軟件,提供了一種有效的解決方案。
關(guān)鍵詞:無線網(wǎng);電子鐘;C/S架構(gòu)
隨著信息技術(shù)和網(wǎng)絡(luò)技術(shù)的高速發(fā)展,國內(nèi)各高校,包括一些中小學(xué),大多對學(xué)?,F(xiàn)有的網(wǎng)絡(luò)設(shè)備進行了升級改造,而且很多學(xué)校都擁有了自己的無線網(wǎng)絡(luò)環(huán)境,從而滿足了互聯(lián)網(wǎng)時代運用現(xiàn)代化教學(xué)手段進行教學(xué)的需要。遼寧軌道交通職業(yè)學(xué)院于2014年9月搬遷到新校區(qū),新校區(qū)的網(wǎng)絡(luò)基礎(chǔ)設(shè)施采用了國內(nèi)領(lǐng)先、國際先進的網(wǎng)絡(luò)設(shè)備,校園實現(xiàn)了無線網(wǎng)絡(luò)全覆蓋。為了更好地發(fā)揮校園網(wǎng)絡(luò)的作用,學(xué)院在信息化建設(shè)上作了大量工作,自主開發(fā)了很多信息系統(tǒng),無線網(wǎng)絡(luò)電子時鐘就是其中之_。
1 項目描述
無線網(wǎng)絡(luò)電子時鐘項目是遼寧軌道交通職業(yè)學(xué)院的一項院級科研項目,系統(tǒng)從設(shè)計到調(diào)試、制作和安裝,全部由校內(nèi)教師和學(xué)生完成,其總體架構(gòu)如圖l所示,系統(tǒng)完成的功能和實現(xiàn)方式如下所述。
1.1 系統(tǒng)功能
無線網(wǎng)絡(luò)電子時鐘(以下簡稱電子鐘)通過無線網(wǎng)絡(luò)與無線電子時鐘服務(wù)器(以下簡稱服務(wù)器)通信,實現(xiàn)各種功能。
1.1.1 自動校時功能
系統(tǒng)可以實現(xiàn)電子鐘與服務(wù)器時間同步,電子鐘在每次啟動時,通過無線網(wǎng)絡(luò)自動與服務(wù)器連接,從服務(wù)器獲得時間后,通過程序控制時間;電子鐘正常運行過程中,定時與服務(wù)器進行時間同步;服務(wù)器定期與互聯(lián)網(wǎng)上的標(biāo)準(zhǔn)時間服務(wù)器進行同步。通過以上3種手段,保證電子時鐘的時間準(zhǔn)確,保證全院各個場所的時間統(tǒng)一。
1.1.2 時間顯示和響鈴
服務(wù)器可以為每個電子鐘下發(fā)響鈴時間列表,在保證時間準(zhǔn)確的前提下,電子鐘顯示當(dāng)前的北京時間,并通過電子鐘中存儲的時間列表和音樂,在規(guī)定的時間響鈴,作為學(xué)生上下課或各項活動開始的鈴聲。因為每個時鐘可以設(shè)置不同的時間列表,這樣就為學(xué)院實現(xiàn)錯時上下課創(chuàng)造了條件。
1.1.3 音頻會議功能
系統(tǒng)在軟件設(shè)計時采用組播技術(shù),而且電子鐘的使用環(huán)境是在局域網(wǎng)中,能夠保證網(wǎng)絡(luò)帶寬,因此,本文設(shè)計了音頻廣播功能,根據(jù)組播技術(shù)的特點,將廣播分組,不同的組廣播不同的內(nèi)容,這樣就滿足了各系在同一時間給不同的學(xué)生開會的需要,學(xué)生只需要在班級就可以聽到會議的內(nèi)容。
1.1.4 狀態(tài)查詢功能
為了保證電子時鐘的正常運行,電子鐘定時向服務(wù)器發(fā)送自己的狀態(tài),同時服務(wù)器也定期去檢查電子鐘的狀態(tài),當(dāng)某個電子鐘出現(xiàn)故障時,在服務(wù)器端會給出警告,提示管理人員處理相應(yīng)的故障。
1.2 系統(tǒng)實現(xiàn)
系統(tǒng)的實現(xiàn)分為硬件部分和軟件部分,硬件部分采用嵌入式技術(shù),由學(xué)院其他教師完成,這里就不再贅述其工作過程,只給出其原理框圖,供感興趣的技術(shù)人員參考(見圖2)。
軟件部分采用c/s架構(gòu),客戶端為電子鐘,通過無線網(wǎng)絡(luò)與服務(wù)器端通信,實現(xiàn)電子鐘的各項功能。本文將詳細介紹客戶端和服務(wù)器端的軟件設(shè)計思路和實現(xiàn)方法。
2 客戶端軟件設(shè)計
客戶端軟件設(shè)計過程中,首先應(yīng)考慮的是加載硬件各模塊的驅(qū)動,包括無線WIFI驅(qū)動、音頻芯片驅(qū)動、顯示模塊驅(qū)動等。為了提高開發(fā)效率,也為了體現(xiàn)模塊化編程在嵌入式系統(tǒng)中的優(yōu)勢,本文采用了多進程方式設(shè)計軟件,每個模塊獨立開發(fā),運行時根據(jù)需要創(chuàng)建進程,進程間通過管道實現(xiàn)數(shù)據(jù)共享,進程運行結(jié)束后釋放相關(guān)資源,這樣既節(jié)省了系統(tǒng)資源,也可以方便、快速地查找系統(tǒng)調(diào)試過程中出現(xiàn)的問題在哪里。 客戶端軟件分為shell程序、主模塊、顯示模塊、聲音播放模塊。
2.1 shell程序
shell程序?qū)崿F(xiàn)加載WIFI模塊驅(qū)動,連接校園網(wǎng),獲取IP地址,成功后創(chuàng)建主模塊進程;不成功,則調(diào)用顯示進程,提示錯誤信息。
2.2 主模塊
主模塊實現(xiàn)以下功能:通過無線網(wǎng)絡(luò)與服務(wù)器端進行交互,向服務(wù)器端發(fā)送請求和接收服務(wù)器端的命令;創(chuàng)建顯示進程;在接收到服務(wù)器端某些需要客戶端共享的數(shù)據(jù)時,負責(zé)共享數(shù)據(jù)的管理等。圖3為主模塊的程序框圖。
2.3 顯示模塊
顯示模塊實現(xiàn)以下功能:加載顯示驅(qū)動;定時獲得客戶端系統(tǒng)時間,并顯示時間;通過管道獲取響鈴時間列表,并在需要響鈴的時間創(chuàng)建聲音播放進程播放鈴聲;定時向服務(wù)器端發(fā)送電子鐘狀態(tài)。圖4為顯示模塊的程序框圖。
2.4 聲音播放模塊
聲音播放模塊實現(xiàn)以下功能:加載音頻驅(qū)動程序;播放存儲器中的音樂文件。圖5為聲音播放模塊的程序框圖。
3 服務(wù)器端軟件設(shè)計
服務(wù)器端軟件采用MVC架構(gòu),在.net
framework4.5框架下,使用C#語言開發(fā),數(shù)據(jù)庫采用soL Server2008。軟件使用UDP技術(shù),實現(xiàn)組播和單播技術(shù),組播用來實現(xiàn)時鐘同步、響鈴策略發(fā)放和網(wǎng)絡(luò)廣播等功能,單播用來接收電子鐘的狀態(tài)。服務(wù)器端軟件的總體架構(gòu)如圖6所示。