嵌入式智能家庭網(wǎng)關的研究與設計
0 概述
家庭網(wǎng)絡接入Internet目前主要通過PC機接入Internet和采用嵌入式產品通過以太網(wǎng)控制器接入Internet兩種方式。前者優(yōu)點是明顯的,如靈活性、大量現(xiàn)有的可用的軟件環(huán)境和高級的用戶接口及軟件工具。但是對于智能家庭網(wǎng)絡來說,網(wǎng)絡的使用者希望能方便快捷地獲得服務,所需熟悉的操作要盡可能地少,并且在任何地方都能對家中設備進行監(jiān)控;而PC不能隨意移動,對設備的控制就會受到局限。因此,目前在智能家庭網(wǎng)絡中,網(wǎng)關產品的設計主要采用嵌入式系統(tǒng)。
一個智能家庭網(wǎng)關可以看成是一個信息處理系統(tǒng),組成系統(tǒng)的各單元就是連接在網(wǎng)絡各節(jié)點的設備??刂破脚_一方面輔助不具備信息化條件的設備實現(xiàn)信息化,即提供信息處理的能力;另一方面又提供統(tǒng)一的信息交換接口及控制規(guī)則,從而實現(xiàn)從內部家庭網(wǎng)絡到Internet信息的互通。目前實現(xiàn)信息管理和協(xié)議轉換的方式有兩種:一種是:瀏覽器+WEB Server+CGI技術;另一種是:監(jiān)控軟件十應用服務器+現(xiàn)場總線驅動技術[1]。以瀏覽器+WEB Server+CGI為主的技術手段只能獲取單個家庭網(wǎng)絡中的節(jié)點信息。而以監(jiān)控軟件+應用服務器十現(xiàn)場總線驅動為主的技術手段卻可以同時獲取多個家庭網(wǎng)絡的節(jié)點信息,有助于實現(xiàn)多個家庭網(wǎng)絡的同類節(jié)點的實時監(jiān)控[2](如上網(wǎng)流量監(jiān)控)。近幾年來國內許多高校和一些知名企業(yè)所研制的智能家庭網(wǎng)絡系統(tǒng)的協(xié)議轉換主要以:瀏覽器+WEB Server+CGI技術為主,有應用范圍的局限性。鑒于現(xiàn)有網(wǎng)關產品的種種缺陷,本文主要致力于:以監(jiān)控軟件+應用服務器+現(xiàn)場總線驅動技術為核心技術,而瀏覽器+WEB Server+CGI為輔助技術設計并實現(xiàn)家庭網(wǎng)關。
圖1 網(wǎng)絡控制系統(tǒng)模型
1 總體設計分析
1.1智能家庭網(wǎng)關的設計要求
家庭網(wǎng)關類似于一個龐大的計算機系統(tǒng),所有的家庭設備都連接在上面,受它的集中控制??傮w而言,網(wǎng)關要起到三個功能:
1)Internet接入功能,包括路由、NAT(地址轉換)等等;
2)家庭網(wǎng)絡中各種不同通信協(xié)議之間的轉換,以及家庭網(wǎng)絡系統(tǒng)與TCP/IP協(xié)議之間的轉換;
3)運行家電管理軟件,將使用不同通信協(xié)議的家用電器都接入到家庭網(wǎng)絡中,并統(tǒng)一管理起來;
可以看出,網(wǎng)關是家庭網(wǎng)絡中的物理上和邏輯上的核心。
1.2 家庭網(wǎng)關網(wǎng)絡控制模型分析
根據(jù)系統(tǒng)的體系結構將家庭網(wǎng)關抽象為站點[3],將家庭內部的被控對象(智能電冰箱、智能微波爐等等)抽象為節(jié)點。其網(wǎng)絡控制模型如圖1所示。
站點:站點是通過Internet訪問家庭內部網(wǎng)絡的驛站,它可以將來自互聯(lián)網(wǎng)絡的各種信息通過協(xié)議轉換的方法傳遞到家庭內部網(wǎng)絡,同時提取家庭內部網(wǎng)絡的各種信息增加TCP/IP協(xié)議報頭、報尾使之可以在廣域網(wǎng)甚至Internet上發(fā)布并向遠端監(jiān)控機傳遞,使遠端監(jiān)控機可以對其控制,而具備此項功能的站點我們通常稱其為家庭網(wǎng)關。
節(jié)點:節(jié)點負責對單個家用電器實施控制使其按照使用者的要求正常運行,同時以特定的通訊協(xié)議將本地信息傳送到家庭網(wǎng)關或者接收來自家庭網(wǎng)關的指令以改變現(xiàn)在的運行狀況。所以可以把它理解為以單片機為核心的智能家用電器,由于不同的家用電器要連接到同一個網(wǎng)關上,要使它們相互連接又互不影響,采用現(xiàn)場總線是個很好的辦法,所以節(jié)點還應該支持現(xiàn)場總線協(xié)議。
2 硬件結構
根據(jù)前面的分析,可以確定硬件系統(tǒng)應具備的功能特征,圖2給出了智能家庭網(wǎng)關的硬件結構。
圖2 系統(tǒng)硬件結構
為保證家庭網(wǎng)關的實用性和可擴展性,網(wǎng)關平臺需要選用高性能的微處理器,廉價的8位處理器己經(jīng)無法滿足設計的要求,考慮到以后系統(tǒng)的升級以及32位處理器的價格不斷下降,設計中決定采用32位的MPU(S3C2410)[4]作為整個系統(tǒng)的核心。
由于網(wǎng)關要實現(xiàn)服務器的功能,因而需要文件系統(tǒng)的支持,同時需要操作系統(tǒng)來支持多任務,這些都決定了硬件平臺中需要有擴展的SDRAM和Flash(或者EEPROM )等存儲芯片。Flash中存儲操作系統(tǒng)和文件系統(tǒng),系統(tǒng)啟動后將復制到SDRAM中運行。通用I/O接口的設計,用于完成外部信號的接入。為完成與外部信號線的連接,MPU需要支持一定數(shù)量的通用I/O口。
家庭網(wǎng)關要實現(xiàn)與Internet的連接,需要有相應的連接模塊。Ethernet模塊就是為了完成與外部網(wǎng)絡的物理連接。
同時,家庭網(wǎng)關還要連接內部輕量級網(wǎng)絡[5] (家庭網(wǎng)絡中一般使用485. 232等輕量級網(wǎng)絡互聯(lián))。一般這些網(wǎng)絡都可以通過UART口與網(wǎng)關相連。而家庭網(wǎng)關的一些控制或調試信息也需要通過UART口輸出到宿主機的虛擬平臺。
JTAG接口用于實現(xiàn)MPU中程序的實時監(jiān)控,絕大多數(shù)的32位MCU都支持JTAG格式的在線調試功能。
X10系統(tǒng)[6]與網(wǎng)關的接口是整個家庭網(wǎng)絡控制方面至關重要的一個接口。網(wǎng)關通過一個普通I/0口進行過零點信號檢測,通過另一個普通I/O口向電力線載波系統(tǒng)發(fā)出控制命令,最后達到控制大多數(shù)家電的目的(照明,空調,熱水器等等)。目前所實現(xiàn)的控制是單向的,由于控制命令數(shù)據(jù)量少,而受控電器的狀態(tài)數(shù)據(jù)可以根據(jù)控制命令進行判斷,所以這種控制在目前是可以滿足使用要求的。
3 軟件設計
家庭網(wǎng)關是為家庭智能網(wǎng)絡服務的,由于家庭網(wǎng)絡本身的復雜性(網(wǎng)絡種類多,終端種類多等),嵌入式網(wǎng)關的軟件設計也要考慮諸多因素。圖3是軟件設計體系結構。
圖3 軟件體系結構
該系統(tǒng)是一個三層系統(tǒng),不同層次協(xié)同工作,各層之間通過不同的協(xié)議進行信息交互。為了適應復雜的網(wǎng)絡環(huán)境,該系統(tǒng)采用了以監(jiān)控軟件+應用服務器+現(xiàn)場總線為主,以瀏覽器+WEB Server+CGI為輔的雙技術體系。該3層系統(tǒng)中客戶子系統(tǒng)用來運行提供用戶接口和前端處理的應用程序(即瀏覽器和監(jiān)控軟件)。中間層子系統(tǒng)的宿主既是家庭網(wǎng)關,它包括應用服務器和Web服務器用于發(fā)布信息和數(shù)據(jù)及指令的傳達,另外它還包含數(shù)據(jù)庫服務器提供可供客戶機使用的各種資源和服務。現(xiàn)場控制系統(tǒng)是最終執(zhí)行控制指令、實現(xiàn)控制目標和性能指標的執(zhí)行機構。
在本文的三層軟件體系結構中,發(fā)出數(shù)據(jù)庫查詢的應用可以駐留在數(shù)據(jù)庫以外的任何機器上,客戶子系統(tǒng)不論處于何地,只要能夠通過網(wǎng)絡與數(shù)據(jù)庫服務器進行通訊,就可以發(fā)出查詢并檢索結果。如果在家庭網(wǎng)絡內部進行查詢,僅僅從本地數(shù)據(jù)庫中進行檢索并返回結果即可。如果在家庭網(wǎng)絡外部進行查詢那么必須通過虛擬數(shù)據(jù)庫,找到目標站點及節(jié)點,由虛擬數(shù)據(jù)庫發(fā)送傳送參數(shù)指令,現(xiàn)場控制系統(tǒng)接到指令后進行檢索,并返回查詢結果給虛擬數(shù)據(jù)庫最后顯示在用戶監(jiān)控界面中。當用戶發(fā)出控制指令時,無論是在家庭網(wǎng)絡內部還是外部,控制指令都可以通過不同的網(wǎng)絡協(xié)議可靠地到達被控對象并完成相應的操作,最后把執(zhí)行結果(成功或者失敗)返回給指令的發(fā)出者。在一般的C/S概念中,客戶端是廉價的個人PC,服務器是價格昂貴、功能強大的專用Server。但對于本系統(tǒng)來講,嵌入式家庭網(wǎng)關是應用服務器和Web服務器的宿主,而嵌入式系統(tǒng)本身資源有限,所以在事物處理時不應將過多的任務分配給服務器,避免因服務器負擔過重而使整個網(wǎng)絡性能下降,要充分發(fā)揮客戶端計算機的作用,合理分配網(wǎng)絡資源,提高數(shù)據(jù)處理的效率。
4 結語
本文首次將監(jiān)控軟件+應用服務器+現(xiàn)場總線以及瀏覽器+WEB Server+CGI兩種技術融合到智能家庭網(wǎng)關產品中,較好的解決了傳統(tǒng)產品的缺陷。通過本系統(tǒng)在實際家庭智能網(wǎng)絡中的運行表明,該系統(tǒng)達到了設計初期的各項要求,能夠通過Internet實時控制系統(tǒng)中的智能家電并精確的獲取家電狀態(tài)信息。相信在未來的信息家電、智能小區(qū)[7]等領域嵌入式智能家庭網(wǎng)關將得到廣泛的應用。
相關閱讀
智能家庭離我們還有多遠?
評論