物聯傳媒 旗下網站
登錄 注冊
RFID世界網 >  技術文章  >  其他  >  正文

嵌入式智能家庭網關的軟件設計方案

作者:不詳
來源:RFID世界網收錄
日期:2012-09-13 11:18:54
摘要:為了統一管理智能家居的各種設備,實現用戶的便捷操作和控制,設計了嵌入式智能家庭網關。從軟件角度,選擇Windows CE作為操作系統,Microsoft Visual Studio作為開發工具,以C#作為開發語言。討論了控制界面主窗體及子窗體的實現流程,通過Winsock套接字實現家庭網關接入Internet的功能。經過測試表明,整個系統功能完整,人機交互界面友好,能通過Internet對智能家居系統進行遠程控制。
  智能家居讓用戶有更方便的手段來管理家庭設備,比如,通過無線遙控器、電話、互聯網或者語音識別控制家用設備,更可以執行場景操作,使多個設備形成聯動;另一方面,智能家居內的各種設備相互間可以通訊,不需要用戶指揮也能根據不同的狀態互動運行,從而給用戶帶來最大程度的高效、便利、舒適與安全。 智能家庭網關是一個獨立、智能、靈活多變、標準化的家居網絡系統接口單元。它通過各種途徑(如Internet、WAP、電話、手機等)從多種多樣的外部網絡接收通信信號,然后通過家庭內部網絡將信號傳送到特定的用戶設備上,并將相應信號反饋給外部通信節點,實現整個遠程交互過程。

智能家庭網關的實現,PC機完全可以滿足要求。

雖然處理能力較強,但以PC 機為載體存在著一些的缺點,如成本昂貴,體積較大,不易移動等,所以用其當作硬件載體性價比太低。隨著現代電子技術的發展,嵌入式技術得到了空前的發展。本設計正是基于嵌入式系統進行設計的。

1 操作系統與開發工具

1.1 Windows CE

本系統的操作系統采用的是微軟公司的嵌入式Windows CE 5.0.

Windows CE 是一個典型的嵌入式操作系統,它是微軟專門為信息設備、移動應用、消費類電子產品和嵌入式應用等非PC 領域設計的操作系統產品。開發人員可以利用豐富靈活的控件庫在Windows CE環境下為嵌入式應用建立各種專門的圖形用戶界面。

Windows CE 甚至還能支持諸如手寫體和聲音識別、動態影像、3D圖形等特殊應用。

Windows CE被設計成為一種高度模塊化的操作系統,以適應不同的類型智能設備對于操作系統映像大小的不同要求,系統設計者可以根據設備的性質只選擇那些必要的模塊或模塊中的組件包含進操作系統映像,其中內核(Kernel)、圖形窗口事件子系統(GWES)、文件系統(Filesys)和通信(Communication)模塊是4個主要的模塊。

總之,Windows CE設計簡單靈活,是為適應嵌入式而推出的新型操作系統,尤其友好的圖形界面正好迎合本設計的菜單界面開發,成為本設計所采用的嵌入式操作系統。

1.2 Microsoft Visual Studio

本系統開發工具是Microsoft Visual Studio,采用的語言是C# .Microsoft Visual Studio 為Windows CE提供了可視化的開發環境。

Microsoft Visual Studio是微軟公司推出的開發環境。是目前流行的Windows 平臺應用程序開發環境NET Compact Framework 是微軟為移動智能設備開發的運行環境,同時提供調用本機API的能力。

.NET Compact Framework 為設備提供了強大的。NET Framework 編程平臺。它是。NET Framework完整版的一個子集。為了適應它所在設備本身的限制,.NET Compact Framework 大約實現了完整版框架30%的類和方法。

2 需求分析

2.1 需求分析

家庭網關的實際功能規劃應該根據用戶的實際需求展開,對于一般住戶,家中普遍具有水電表及各種電器等,因此這里主要針對這幾項,把系統在功能的實現分為以下幾大類:

(1) 設置:主要用于家庭網關本身的管理,以及增刪電器設備、修改遠程服務器的IP和端口等;(2) 電器:包含幾種具有代表性的家庭常用電器,如熱水器、空調、冰箱等;(3) 抄表:管理各種抄表系統,如水表、電表、煤氣量表等。

2.2 界面需求分析

界面的設計要求滿足以下幾點:

(1) 界面美觀、簡潔、用戶界面友好,易于被用戶接受;(2) 對菜單采用分級方式管理,易于用戶使用;(3) 使用盡可能大的字體,不會出現誤單擊操作,良好的人機交流。

2.3 安全需求分析

系統在安全管理方面分以下幾點:

(1) 為了方便用戶,初次使用不需要密碼登錄;(2) 用戶可以根據需要是否設置密碼;(3) 根據需要可以對已經設置的密碼進行修改和刪除。

3 家庭網關的軟件設計

嵌入式智能家庭網關的具體功能包括:

本地控制:用戶通過網關上的鍵盤和顯示屏,對家用設備進行現場控制。

遠程控制:遠程用戶可以通過Internet對家庭設備進行控制和查詢。

其系統結構圖如圖1 所示。

圖1 家庭網關應用結構圖

家庭網關對內連接了家庭網絡、信息家電、智能儀表、消防與安防設備等。針對不同模塊的特點,可以設計與家庭網關的不同接口。為了與現有設備的兼容及滿足各個組成部分的功能需求,與家庭網絡部分的連接采用RJ-45接口標準;信息家電的種類繁多,無法用統一的接口來互聯,可以選擇信息開關或繼電器等配合紅外遙控器使用;水表、電表、煤氣表等智能儀表設備一般是每月一次查看且需要傳輸的數據量不大,所以可以RS-485 或CAN 總線這些較為簡單的總線接口標準;對于消防和安防設備,長期處于布防、監控狀態,且諸如視頻圖像對帶寬和速率要求比較嚴格,所以采用同軸電纜或光纖接入。

{$page$}

3.1 總體架構

主程序的流程圖如圖2 所示。上電開機后程序進入初始化(如判斷是否有預設密碼),在主窗體中有代表幾個不同類型的圖標,點擊不同的圖標按鈕可以進入相應的子菜單中,對子菜單進行操作。

圖2 主程序的流程圖

3.2 主窗體

主窗體要求簡單、直觀。主窗口只顯示分成的幾個類型及所需的操作按鈕。為了更直觀的表示各個類型,分別使用相應的圖標來表示,以示區別,并在圖標上方的中間顯示該類型的名稱,并且把選中狀態的類型顯示為浮動狀態。主窗口界面如圖3所示。

圖3 主窗體界面

3.3 子窗體

3.3.1 "設置"子窗體

"設置"子窗體的界面如圖4 所示。

圖4 "設置"子窗體界面

(1) 修改密碼。

修改密碼時,首先比較用戶輸入的原密碼經過加密后與從Config.xml文件讀出的相應信息進行比較,若不同則提示用戶重新輸入,若相同則再次比較用戶兩次輸入的新密碼,只有兩次輸入一致才把新密碼替換原始密碼,然后將新密碼加密后重新寫入Config.xml文件中,下次登錄時使用。修改密碼流程圖如圖5所示。

圖5 修改密碼流程圖

(2) 添加/移除設備。

加載Config.xml數據并相應填入Combox控件中,選擇Combox控件中的的設備名稱,然后點擊"添加"或"移除"按鈕對設備進行增刪,并修改Config.xml中對應的值。

(3) 設置服務器參數可以點擊"查看IP和端口"從Config.xml中獲取IP和端口;點擊"修改IP和端口"修改Comfig.xml中的對應信息,并與服務器進行重新連接。

{$page$}

3.3.2 "電器"子窗體

在"電器"子窗體中點擊對應的電器設備彈出相應的設備控制面板(如熱水器)對該設備進行控制。熱水器面板中的初始化函數對設備的溫度和狀態進行采集并把采集的數據顯示到相應的控件上。熱水器控制面板界面如圖6所示。

圖6 熱水器控制面板界面

點擊"確定"按鈕,根據左邊NumericUpDown控件的數值和CheckBox控件來控制熱水器的溫度和開關、點擊"查看水溫" 按鈕可以從右邊的TextBox控件和CheckBox控件中看到當前熱水器的溫度和開關狀態、點擊"返回" 按鈕退出。熱水器控制程序流程圖如圖7所示。

圖7 熱水器控制程序流程圖

3.3.3 "抄表"子窗體

可實現抄錄電表、水表和煤氣表的讀數。因為抄表系統只需實現讀操作,而沒有寫操作,所以TextBox是只讀屬性。界面如圖8所示。

圖8 "抄表"子窗體

3.4 Internet遠程控制

把家庭網關接入Internet并在"設置"子窗體的"Server"選項卡(見圖4)中輸入設置服務器的IP 地址和端口號,然后啟動網絡通信模塊,創建Winsock套接字,綁定IP地址和端口號,服務器了保存了該系統的套接字。以后遠程用戶通過Internet從服務器獲得保存在服務器端該系統Winsock 套接字并與處于偵聽狀態的套接字連接,從而對該系統進行控制。 遠程控制主機通過瀏覽器在遠端可以實時地控制家用設備,從而實現遠程控制的目標。

家庭網關的網絡模塊主要有兩大功能:一方面負責對遠程用戶控制命令的接收和分析,再根據結果控制家居設備;另一方面通過Internet將用戶需要獲取的家居設備狀態送到遠程瀏覽器。

下面以對熱水器的控制為例進行說明。熱水器的遠程控制界面如圖9所示。

圖9 熱水器的遠程控制界面

(1) 獲取熱水器的狀態。

獲取熱水器的狀態是由"獲取"按鈕來處理的,它獲取熱水器的在當前的溫度和開關狀態,并顯示在文本框和復選框。

(2) 設置熱水器的狀態。

設置熱水器的狀態是由"設置"按鈕來處理的,它設置熱水器的開關和熱水器的要加熱到的溫度。

發送數據到設備的核心代碼如下:

3.5 文件的讀寫操作

在文件操作的過程中,因為這里并不是為了純文本的操作,而只是為了要提取或存儲配置的信息,所以需要精確地定位到對應的信息在文件中的位置,為了實現這個要求,本設計對XML(可擴展標記語文)文件進行了讀寫操作。XML具有易于編輯、便于管理、適于存檔、容易查詢等諸多優點。

其中有一個只對文件進行讀操作,采用的方法是對XML 文件進行反序列化操作,把XML 文件加載到內存中去。

4 結語

本文介紹了嵌入式智能家庭網關的軟件設計過程,主體界面采用的是Microsoft Visual Studio 編寫,應用于硬件上采用觸摸屏作為輸入輸出設備的系統。Internet遠程控制功能給居家生活帶來更多安全、舒適和便利。為現代智能家庭常用的一些設備的統一管理提供一個可行的管理框架和實現方案。