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