好吊视频一区二区三区-国产精品V欧美精品V日韩精品-老司机亚洲精品影院-国产精品视频免费播放

物聯(lián)傳媒 旗下網(wǎng)站
登錄 注冊
RFID世界網(wǎng) >  技術文章  >  其他  >  正文

嵌入式智能家庭網(wǎng)關的軟件設計方案

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

智能家庭網(wǎng)關的實現(xiàn),PC機完全可以滿足要求。

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

1 操作系統(tǒng)與開發(fā)工具

1.1 Windows CE

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

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

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

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

總之,Windows CE設計簡單靈活,是為適應嵌入式而推出的新型操作系統(tǒng),尤其友好的圖形界面正好迎合本設計的菜單界面開發(fā),成為本設計所采用的嵌入式操作系統(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 平臺應用程序開發(fā)環(huán)境NET Compact Framework 是微軟為移動智能設備開發(fā)的運行環(huán)境,同時提供調用本機API的能力。

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

2 需求分析

2.1 需求分析

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

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

2.2 界面需求分析

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

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

2.3 安全需求分析

系統(tǒng)在安全管理方面分以下幾點:

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

3 家庭網(wǎng)關的軟件設計

嵌入式智能家庭網(wǎng)關的具體功能包括:

本地控制:用戶通過網(wǎng)關上的鍵盤和顯示屏,對家用設備進行現(xiàn)場控制。

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

其系統(tǒng)結構圖如圖1 所示。

圖1 家庭網(wǎng)關應用結構圖

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

{$page$}

3.1 總體架構

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

圖2 主程序的流程圖

3.2 主窗體

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

圖3 主窗體界面

3.3 子窗體

3.3.1 "設置"子窗體

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

圖4 "設置"子窗體界面

(1) 修改密碼。

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

圖5 修改密碼流程圖

(2) 添加/移除設備。

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

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

{$page$}

3.3.2 "電器"子窗體

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

圖6 熱水器控制面板界面

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

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

3.3.3 "抄表"子窗體

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

圖8 "抄表"子窗體

3.4 Internet遠程控制

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

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

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

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

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

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

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

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

發(fā)送數(shù)據(jù)到設備的核心代碼如下:

3.5 文件的讀寫操作

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

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

4 結語

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