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