嵌入式智能家庭網(wǎng)關(guān)的軟件設(shè)計方案
出處:sdisen 發(fā)布于:2012-09-13 09:21:36
摘 要: 為了統(tǒng)一管理智能家居的各種設(shè)備,實現(xiàn)用戶的便捷操作和控制,設(shè)計了嵌入式智能家庭網(wǎng)關(guān)。從軟件角度,選擇Windows CE作為操作系統(tǒng),Microsoft Visual Studio作為開發(fā)工具,以C#作為開發(fā)語言。討論了控制界面主窗體及子窗體的實現(xiàn)流程,通過Winsock套接字實現(xiàn)家庭網(wǎng)關(guān)接入Internet的功能。經(jīng)過測試表明,整個系統(tǒng)功能完整,人機(jī)交互界面友好,能通過Internet對智能家居系統(tǒng)進(jìn)行遠(yuǎn)程控制。
智能家居讓用戶有更方便的手段來管理家庭設(shè)備,比如,通過無線遙控器、電話、互聯(lián)網(wǎng)或者語音識別控制家用設(shè)備,更可以執(zhí)行場景操作,使多個設(shè)備形成聯(lián)動;另一方面,智能家居內(nèi)的各種設(shè)備相互間可以通訊,不需要用戶指揮也能根據(jù)不同的狀態(tài)互動運行,從而給用戶帶來的高效、便利、舒適與安全。 智能家庭網(wǎng)關(guān)是一個獨立、智能、靈活多變、標(biāo)準(zhǔn)化的家居網(wǎng)絡(luò)系統(tǒng)接口單元。它通過各種途徑(如Internet、WAP、電話、手機(jī)等)從多種多樣的外部網(wǎng)絡(luò)接收通信信號,然后通過家庭內(nèi)部網(wǎng)絡(luò)將信號傳送到特定的用戶設(shè)備上,并將相應(yīng)信號反饋給外部通信節(jié)點,實現(xiàn)整個遠(yuǎn)程交互過程。
智能家庭網(wǎng)關(guān)的實現(xiàn),PC機(jī)完全可以滿足要求。
雖然處理能力較強,但以PC 機(jī)為載體存在著一些的缺點,如成本昂貴,體積較大,不易移動等,所以用其當(dāng)作硬件載體性價比太低。隨著現(xiàn)代電子技術(shù)的發(fā)展,嵌入式技術(shù)得到了空前的發(fā)展。本設(shè)計正是基于嵌入式系統(tǒng)進(jìn)行設(shè)計的。
1 操作系統(tǒng)與開發(fā)工具
1.1 Windows CE
本系統(tǒng)的操作系統(tǒng)采用的是微軟公司的嵌入式Windows CE 5.0.
Windows CE 是一個典型的嵌入式操作系統(tǒng),它是微軟專門為信息設(shè)備、移動應(yīng)用、消費類電子產(chǎn)品和嵌入式應(yīng)用等非PC 領(lǐng)域設(shè)計的操作系統(tǒng)產(chǎn)品。開發(fā)人員可以利用豐富靈活的控件庫在Windows CE環(huán)境下為嵌入式應(yīng)用建立各種專門的圖形用戶界面。
Windows CE 甚至還能支持諸如手寫體和聲音識別、動態(tài)影像、3D圖形等特殊應(yīng)用。
Windows CE被設(shè)計成為一種高度模塊化的操作系統(tǒng),以適應(yīng)不同的類型智能設(shè)備對于操作系統(tǒng)映像大小的不同要求,系統(tǒng)設(shè)計者可以根據(jù)設(shè)備的性質(zhì)只選擇那些必要的模塊或模塊中的組件包含進(jìn)操作系統(tǒng)映像,其中內(nèi)核(Kernel)、圖形窗口事件子系統(tǒng)(GWES)、文件系統(tǒng)(Filesys)和通信(Communication)模塊是4個主要的模塊。
總之,Windows CE設(shè)計簡單靈活,是為適應(yīng)嵌入式而推出的新型操作系統(tǒng),尤其友好的圖形界面正好迎合本設(shè)計的菜單界面開發(fā),成為本設(shè)計所采用的嵌入式操作系統(tǒng)。
1.2 Microsoft Visual Studio
本系統(tǒng)開發(fā)工具是Microsoft Visual Studio,采用的語言是C# .Microsoft Visual Studio 為Windows CE提供了可視化的開發(fā)環(huán)境。
Microsoft Visual Studio是微軟公司推出的開發(fā)環(huán)境。是目前流行的Windows 平臺應(yīng)用程序開發(fā)環(huán)境NET Compact Framework 是微軟為移動智能設(shè)備開發(fā)的運行環(huán)境,同時提供調(diào)用本機(jī)API的能力。
.NET Compact Framework 為設(shè)備提供了強大的。NET Framework 編程平臺。它是。NET Framework完整版的一個子集。為了適應(yīng)它所在設(shè)備本身的限制,.NET Compact Framework 大約實現(xiàn)了完整版框架30%的類和方法。
2 需求分析
2.1 需求分析
家庭網(wǎng)關(guān)的實際功能規(guī)劃應(yīng)該根據(jù)用戶的實際需求展開,對于一般住戶,家中普遍具有水電表及各種電器等,因此這里主要針對這幾項,把系統(tǒng)在功能的實現(xiàn)分為以下幾大類:
(1) 設(shè)置:主要用于家庭網(wǎng)關(guān)本身的管理,以及增刪電器設(shè)備、修改遠(yuǎn)程服務(wù)器的IP和端口等;(2) 電器:包含幾種具有代表性的家庭常用電器,如熱水器、空調(diào)、冰箱等;(3) 抄表:管理各種抄表系統(tǒng),如水表、電表、煤氣量表等。
2.2 界面需求分析
界面的設(shè)計要求滿足以下幾點:
(1) 界面美觀、簡潔、用戶界面友好,易于被用戶接受;(2) 對菜單采用分級方式管理,易于用戶使用;(3) 使用盡可能大的字體,不會出現(xiàn)誤單擊操作,良好的人機(jī)交流。
2.3 安全需求分析
系統(tǒng)在安全管理方面分以下幾點:
(1) 為了方便用戶,初次使用不需要密碼登錄;(2) 用戶可以根據(jù)需要是否設(shè)置密碼;(3) 根據(jù)需要可以對已經(jīng)設(shè)置的密碼進(jìn)行修改和刪除。
3 家庭網(wǎng)關(guān)的軟件設(shè)計
嵌入式智能家庭網(wǎng)關(guān)的具體功能包括:
本地控制:用戶通過網(wǎng)關(guān)上的鍵盤和顯示屏,對家用設(shè)備進(jìn)行現(xiàn)場控制。
遠(yuǎn)程控制:遠(yuǎn)程用戶可以通過Internet對家庭設(shè)備進(jìn)行控制和查詢。
其系統(tǒng)結(jié)構(gòu)圖如圖1 所示。

圖1 家庭網(wǎng)關(guān)應(yīng)用結(jié)構(gòu)圖
家庭網(wǎng)關(guān)對內(nèi)連接了家庭網(wǎng)絡(luò)、信息家電、智能儀表、消防與安防設(shè)備等。針對不同模塊的特點,可以設(shè)計與家庭網(wǎng)關(guān)的不同接口。為了與現(xiàn)有設(shè)備的兼容及滿足各個組成部分的功能需求,與家庭網(wǎng)絡(luò)部分的連接采用RJ-45接口標(biāo)準(zhǔn);信息家電的種類繁多,無法用統(tǒng)一的接口來互聯(lián),可以選擇信息開關(guān)或繼電器等配合紅外遙控器使用;水表、電表、煤氣表等智能儀表設(shè)備一般是每月查看且需要傳輸?shù)臄?shù)據(jù)量不大,所以可以RS-485 或CAN 總線這些較為簡單的總線接口標(biāo)準(zhǔn);對于消防和安防設(shè)備,長期處于布防、監(jiān)控狀態(tài),且諸如視頻圖像對帶寬和速率要求比較嚴(yán)格,所以采用同軸電纜或光纖接入。
3.1 總體架構(gòu)
主程序的流程圖如圖2 所示。上電開機(jī)后程序進(jìn)入初始化(如判斷是否有預(yù)設(shè)密碼),在主窗體中有代表幾個不同類型的圖標(biāo),點擊不同的圖標(biāo)按鈕可以進(jìn)入相應(yīng)的子菜單中,對子菜單進(jìn)行操作。

圖2 主程序的流程圖
3.2 主窗體
主窗體要求簡單、直觀。主窗口只顯示分成的幾個類型及所需的操作按鈕。為了更直觀的表示各個類型,分別使用相應(yīng)的圖標(biāo)來表示,以示區(qū)別,并在圖標(biāo)上方的中間顯示該類型的名稱,并且把選中狀態(tài)的類型顯示為浮動狀態(tài)。主窗口界面如圖3所示。

圖3 主窗體界面
3.3 子窗體
3.3.1 "設(shè)置"子窗體
"設(shè)置"子窗體的界面如圖4 所示。

圖4 "設(shè)置"子窗體界面。
(1) 修改密碼。
修改密碼時,首先比較用戶輸入的原密碼經(jīng)過加密后與從Config.xml文件讀出的相應(yīng)信息進(jìn)行比較,若不同則提示用戶重新輸入,若相同則再次比較用戶兩次輸入的新密碼,只有兩次輸入一致才把新密碼替換原始密碼,然后將新密碼加密后重新寫入Config.xml文件中,下次登錄時使用。修改密碼流程圖如圖5所示。

圖5 修改密碼流程圖。
(2) 添加/移除設(shè)備。
加載Config.xml數(shù)據(jù)并相應(yīng)填入Combox控件中,選擇Combox控件中的的設(shè)備名稱,然后點擊"添加"或"移除"按鈕對設(shè)備進(jìn)行增刪,并修改Config.xml中對應(yīng)的值。
(3) 設(shè)置服務(wù)器參數(shù)可以點擊"查看IP和端口"從Config.xml中獲取IP和端口;點擊"修改IP和端口"修改Comfig.xml中的對應(yīng)信息,并與服務(wù)器進(jìn)行重新連接。
3.3.2 "電器"子窗體
在"電器"子窗體中點擊對應(yīng)的電器設(shè)備彈出相應(yīng)的設(shè)備控制面板(如熱水器)對該設(shè)備進(jìn)行控制。熱水器面板中的初始化函數(shù)對設(shè)備的溫度和狀態(tài)進(jìn)行采集并把采集的數(shù)據(jù)顯示到相應(yīng)的控件上。熱水器控制面板界面如圖6所示。

圖6 熱水器控制面板界面。
點擊"確定"按鈕,根據(jù)左邊NumericUpDown控件的數(shù)值和CheckBox控件來控制熱水器的溫度和開關(guān)、點擊"查看水溫" 按鈕可以從右邊的TextBox控件和CheckBox控件中看到當(dāng)前熱水器的溫度和開關(guān)狀態(tài)、點擊"返回" 按鈕退出。熱水器控制程序流程圖如圖7所示。

圖7 熱水器控制程序流程圖。
3.3.3 "抄表"子窗體
可實現(xiàn)抄錄電表、水表和煤氣表的讀數(shù)。因為抄表系統(tǒng)只需實現(xiàn)讀操作,而沒有寫操作,所以TextBox是只讀屬性。界面如圖8所示。

圖8 "抄表"子窗體。
3.4 Internet遠(yuǎn)程控制
把家庭網(wǎng)關(guān)接入Internet并在"設(shè)置"子窗體的"Server"選項卡(見圖4)中輸入設(shè)置服務(wù)器的IP 地址和端口號,然后啟動網(wǎng)絡(luò)通信模塊,創(chuàng)建Winsock套接字,綁定IP地址和端口號,服務(wù)器了保存了該系統(tǒng)的套接字。以后遠(yuǎn)程用戶通過Internet從服務(wù)器獲得保存在服務(wù)器端該系統(tǒng)Winsock 套接字并與處于偵聽狀態(tài)的套接字連接,從而對該系統(tǒng)進(jìn)行控制。
遠(yuǎn)程控制主機(jī)通過瀏覽器在遠(yuǎn)端可以實時地控制家用設(shè)備,從而實現(xiàn)遠(yuǎn)程控制的目標(biāo)。
家庭網(wǎng)關(guān)的網(wǎng)絡(luò)模塊主要有兩大功能:一方面負(fù)責(zé)對遠(yuǎn)程用戶控制命令的接收和分析,再根據(jù)結(jié)果控制家居設(shè)備;另一方面通過Internet將用戶需要獲取的家居設(shè)備狀態(tài)送到遠(yuǎn)程瀏覽器。
下面以對熱水器的控制為例進(jìn)行說明。熱水器的遠(yuǎn)程控制界面如圖9所示。

圖9 熱水器的遠(yuǎn)程控制界面。
(1) 獲取熱水器的狀態(tài)。
獲取熱水器的狀態(tài)是由"獲取"按鈕來處理的,它獲取熱水器的在當(dāng)前的溫度和開關(guān)狀態(tài),并顯示在文本框和復(fù)選框。
(2) 設(shè)置熱水器的狀態(tài)。
設(shè)置熱水器的狀態(tài)是由"設(shè)置"按鈕來處理的,它設(shè)置熱水器的開關(guān)和熱水器的要加熱到的溫度。
發(fā)送數(shù)據(jù)到設(shè)備的代碼如下:

3.5 文件的讀寫操作
在文件操作的過程中,因為這里并不是為了純文本的操作,而只是為了要提取或存儲配置的信息,所以需要地定位到對應(yīng)的信息在文件中的位置,為了實現(xiàn)這個要求,本設(shè)計對XML(可擴(kuò)展標(biāo)記語文)文件進(jìn)行了讀寫操作。XML具有易于編輯、便于管理、適于存檔、容易查詢等諸多優(yōu)點。
其中有一個只對文件進(jìn)行讀操作,采用的方法是對XML 文件進(jìn)行反序列化操作,把XML 文件加載到內(nèi)存中去。
4 結(jié)語
本文介紹了嵌入式智能家庭網(wǎng)關(guān)的軟件設(shè)計過程,主體界面采用的是Microsoft Visual Studio 編寫,應(yīng)用于硬件上采用觸摸屏作為輸入輸出設(shè)備的系統(tǒng)。Internet遠(yuǎn)程控制功能給居家生活帶來更多安全、舒適和便利。為現(xiàn)代智能家庭常用的一些設(shè)備的統(tǒng)一管理提供一個可行的管理框架和實現(xiàn)方案。
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 工業(yè)5G技術(shù)在智能制造中的應(yīng)用與實踐解析2025/12/31 10:57:21
- 工業(yè)以太網(wǎng)交換機(jī)選型與現(xiàn)場應(yīng)用技術(shù)指南2025/12/18 10:48:14
- 無線傳輸電路基礎(chǔ),射頻前端設(shè)計、天線匹配與鏈路預(yù)算計算2025/10/27 13:55:50
- ASK 解調(diào)的核心要點與實現(xiàn)方式2025/9/5 16:46:17
- 雙偶極子天線:結(jié)構(gòu)、特性與應(yīng)用全解析2025/9/3 10:29:21









