王磊



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