家庭網(wǎng)關是將計算機互聯(lián)網(wǎng)與自主構建的家庭網(wǎng)絡連接在一起的智能網(wǎng)絡。它能夠實現(xiàn)家庭終端的統(tǒng)一智能化管理,用戶只需通過GUI界面進行簡單的操作就能實時調取家電的工作狀態(tài)信息,并能控制家庭終端;同時智能家庭網(wǎng)關還有自動控制功能,能夠處理一些無需人工操作的工作。
項目研究目的如下
要實現(xiàn)的基本功能為:
通過外部網(wǎng)訪問家庭網(wǎng)關,可以遠程控制家庭終端設備。
智能家庭網(wǎng)關有一定的自主處理能力,可以自動控制一些無需人工干預的終端設備的操作。
預期在項目之后可擴展實現(xiàn)的功能為:
制作成功簡易低成本的智能家庭網(wǎng)關產(chǎn)品,網(wǎng)關包括嵌入式操作系統(tǒng),界面友好,可以作為所有外部網(wǎng)接入到家庭網(wǎng)的物理接口。
智能家庭網(wǎng)關為家庭內部的設備分配內部專用的唯一的IP地址,并且具有路由功能和網(wǎng)絡地址翻譯(NAT)功能。
智能家庭網(wǎng)關可以在家庭網(wǎng)絡內部傳輸音頻、視頻流,支持視頻點播(VOD),視頻共享等,營造友好舒適的多媒體環(huán)境。
加入無線控制模塊,各種終端設備無需使用傳輸線與網(wǎng)關相連,而是采用無線控制,增強靈活性。
項目研究意義
家庭網(wǎng)關在家庭網(wǎng)絡中扮演著重要角色,借助現(xiàn)有的計算機網(wǎng)絡技術,將家庭內部各種家電和設備連網(wǎng),通過網(wǎng)絡為人們提供各種豐富、多樣化、個性化、方便、舒適、安全和高效的服務。在家電控制方面,用戶可以根據(jù)自己的需求來配置家電,從而方便地對家電進行遠程控制;在視頻監(jiān)控方面,通過遠程調取安裝在家里的監(jiān)控設備所拍攝到的視頻信息,用戶可以及時清楚地了解家里的情況,一旦出現(xiàn)異常情況,及時報警;在多媒體接入方面,通過家庭數(shù)字機頂盒,用戶不僅可以觀看到高清的數(shù)字節(jié)目,還可以互動點播節(jié)目和瀏覽網(wǎng)頁,真正實現(xiàn)多媒體在家庭中的應用;在信息服務方面,通過將智能家庭網(wǎng)絡與其他網(wǎng)絡系統(tǒng)互連,用戶可以及時得到諸如商品售后、健康等方面的服務。家庭網(wǎng)關已成為人們日常生活中不可缺少的一部分,因此,對低成本、安全性好、可靠性高的家庭網(wǎng)關進行研究,具有重要的意義。
項目應用前景和學術價值
隨著人們生活質量的提高,家庭內部的電子產(chǎn)品越來越多,采用智能家庭網(wǎng)關進行集中控制管理,將給人們的生活帶來極大的方便。因此,家庭網(wǎng)關的應用將會是大量的。以前家庭內部出現(xiàn)的小型網(wǎng)絡路由器的功能有限,其應用是在家庭內多個PC同時共享一個寬帶網(wǎng)絡接入。它只能控制PC終端,對于其他如冰箱、空調等家電就無能為力了。智能家庭網(wǎng)關則不僅能夠提供寬帶接入,而且可以控制管理家庭內部的各種電器。例如,在網(wǎng)絡應用方面,家中的小孩可以接入Web來學習學校的課程,同時另外一個家庭成員可以進行網(wǎng)上購物。多個人可以同時進行網(wǎng)絡操作,而不需要等待其他人完成操作;在多媒體應用方面,家庭網(wǎng)關不僅管理高速Internet的接入,而且對日益豐富的多媒體應用,如視頻點播(VOD),視頻共享,混合視頻和音頻信息流的可視電話,以及其它交互形式的娛樂服務,如網(wǎng)絡游戲等提供更加人性化的管理服務;此外,在家庭電子終端的控制管理方面,家庭網(wǎng)關可以智能化控制家電,視頻監(jiān)控家庭情況,與小區(qū)物業(yè)聯(lián)網(wǎng)便于接收即時服務信息,智能化抄寫電表、水表等,為日常生活提供極大的便利。因此,其應用前景將是十分廣泛的。
智能家庭網(wǎng)關的研究在我國正在逐步走向成熟,但相對國外來說,在這方面還是比較落后。具體體現(xiàn)在技術設備落后,制造成本較高。目前很多家庭網(wǎng)關產(chǎn)品是采用PC機作為服務器或以單片機作為核心芯片的技術方案,功耗及成本較高,而且靈活性不夠。通過設計低成本、安全和可靠的智能家庭網(wǎng)關,參與目前家庭網(wǎng)關的研究發(fā)展討論,熟悉和掌握UDP協(xié)議內容、數(shù)據(jù)的加解密算法、網(wǎng)絡地址轉化(NAT)以及GUI用戶交互式界面的設計,真正理解整個家庭網(wǎng)關的工作流程,也可以為其他設計者及廠商提供一些技術借鑒。
現(xiàn)有研究基礎、條件
項目研發(fā)的技術基礎:
①UDP協(xié)議是主要傳輸協(xié)議之一。采用改進的UDP協(xié)議,一定程度上提高數(shù)據(jù)傳輸可靠性,滿足智能家庭網(wǎng)關的傳輸需要;
②數(shù)據(jù)加解密算法采用RC4算法,可以有效提高數(shù)據(jù)信息的安全性;
③運用網(wǎng)絡地址轉化(NAT)可以將內網(wǎng)地址與外網(wǎng)地址進行轉化,使得家庭網(wǎng)關成為連接計算機互聯(lián)網(wǎng)和家庭內部網(wǎng)絡的橋梁;
④GUI界面的設計,使得用戶操作簡單、明了、方便。
(2)項目團隊的工作基礎
①C、C++語言的熟練掌握,有一定嵌入式的開發(fā)經(jīng)驗;
②在UDP傳輸協(xié)議方面有一定的基礎。
研究目標
在項目預期時限內,完成智能家庭網(wǎng)關基本功能的設計及測試,即能夠通過外部網(wǎng)發(fā)送控制信息,管理家庭內部終端設備;同時完成家庭網(wǎng)關的自動控制功能,即完成不需人工控制管理的應用,自動協(xié)調家庭電器設備的開、關及其他調節(jié)。
在完成基本功能后,如有時間,則繼續(xù)完成擴展功能,包括路由地址轉換,操作系統(tǒng)移植,視頻點播及共享以及實現(xiàn)無線控制。
要解決的關鍵問題是要對每個家庭終端設備分配唯一的地址,并實現(xiàn)路由功能,以便使用網(wǎng)關控制不同的設備。
擬采取的研究方法、技術路線及可行性分析
縱觀國內外在智能家庭網(wǎng)關領域的發(fā)展,有三種技術方案代表著智能網(wǎng)關不同發(fā)展時期的技術特點:PC架構的智能控制系統(tǒng)出現(xiàn)在中國智能家庭網(wǎng)關的萌芽階段,基本上停留在向使用者展示智能家庭網(wǎng)關的概念階段,實用性并不強,屬于第一代;目前很多國內外智能家庭網(wǎng)關廠商研制的機遇單片機架構的智能控制系統(tǒng)在實用性、易用性和專業(yè)性方面有了很大程度上的提高,屬于第二代;而基于嵌入式系統(tǒng)的家庭智能系統(tǒng)在國內的發(fā)展也處于初級階段,隨著嵌入式技術更加廣泛的應用,成本逐步降低,中國的智能家庭網(wǎng)關最終將走向嵌入式。
本設計采用基于改進UDP協(xié)議的智能家庭網(wǎng)關技術方案,采用單片機PIC來控制以太網(wǎng)模塊,無需操作系統(tǒng)支持,以適合項目預期及低成本、低功耗、實時性好、擴展性強的要求。
項目基本功能的實現(xiàn)是在兩個主要控制芯片PIC單片機和Ethernet網(wǎng)絡接口,采用改進的UDP協(xié)議,完成大部分的控制信息的傳輸。
項目硬件設計
單片機PIC主要負責對Etnernet網(wǎng)絡接口進行讀寫及復位控制。Ethernet是一個高度集成的以太網(wǎng)芯片,能簡單的實現(xiàn)即插即用并兼容NE2000、掉電等特性。它將封裝好的以太網(wǎng)幀進行處理并通過網(wǎng)絡接口和雙絞線進行傳輸。Ethernet有復位及讀寫控制管腳,需要通過相應的地址端口和數(shù)據(jù)端口對Ethernet中的寄存器進行配置,實現(xiàn)網(wǎng)絡數(shù)據(jù)的發(fā)送和接收。在實際硬件連接中,將P0.8-P0.12作為地址端口,P0.16-P0.23作為數(shù)據(jù)端口,P0.7作為復位引腳對RTL8019進行復位,P0.13作為讀引腳控制以太網(wǎng)模塊從相應數(shù)據(jù)端口讀數(shù)據(jù),P0.14作為寫引腳控制以太網(wǎng)模塊往相應數(shù)據(jù)端口寫數(shù)據(jù)。
項目軟件設計
軟件的設計是在Agilent公司的ADS1.2開發(fā)環(huán)境下進行的。最重要的部分就是完成UDP包的發(fā)送、處理及接收。由于采用UDP數(shù)據(jù)包的內容作為控制信息,因此需要對數(shù)據(jù)包的數(shù)據(jù)部分進行重新定義。定義如下:
其中,操作類型占用1個字節(jié),00h代表初始化建立握手請求,01h代表初始化建立握手應答,02h代表發(fā)送請求,03h代表發(fā)送響應,其他值默認保留。操作對象占用2個字節(jié),在服務器端,它接收到的UDP數(shù)據(jù)報內容中的操作對象即為對應客戶端的端口號;在客戶端,它接收到的UDP數(shù)據(jù)報內容中的操作對象則為自身的端口號。操作內容即為具體的實現(xiàn)操作,占用40個字節(jié)。
針對數(shù)據(jù)內容的安全性問題,采用了RC4算法對數(shù)據(jù)內容進行加密解密。它是一個可變密鑰長度、面向字節(jié)操作的流密碼,其基本思想為:首先初始化一個長度為256的S數(shù)組:依次對S[0],S[1],…,S[255]賦0到255的8位數(shù)值,輸入可變長度密鑰,根據(jù)密鑰內容及長度建立臨時數(shù)組T。然后根據(jù)數(shù)組T的內容置換S數(shù)組;最后將S數(shù)組按一定的方式轉化成密鑰流q。在發(fā)送端,依據(jù)密鑰流q對原始數(shù)據(jù)“data”進行異或,即加密。在接收端,輸入與發(fā)送端一樣的密鑰,運用和發(fā)送端同樣的算法生成相同的密鑰流對已加密的數(shù)據(jù)“datam”進行異或,即完成數(shù)據(jù)解密。
數(shù)據(jù)包的封裝過程如圖所示。層(1)表示UDP數(shù)據(jù)報。需要給每個終端設定不同的端口號作為源端口號,目標端口號都固定為服務器的端口號,消息長度為數(shù)據(jù)長度加UDP報頭長度,校驗和是偽IP頭和從UDP頭和數(shù)據(jù)得來的校驗之和,數(shù)據(jù)為加密后的數(shù)據(jù)。層(2)表示為UDP數(shù)據(jù)報經(jīng)過一次封裝后轉化成IP數(shù)據(jù)報,其中需要為每個終端分配一個IP地址,協(xié)議類型設置為UDP協(xié)議,長度為IP報頭長度加UDP數(shù)據(jù)報長度。層(3)表示為IP數(shù)據(jù)報再經(jīng)過最后一次封裝轉化為以太網(wǎng)幀。
數(shù)據(jù)包的解析過程是封裝的逆過程,系統(tǒng)接收到以太網(wǎng)數(shù)據(jù)幀后,首先檢驗它的校驗和,如果校驗和出現(xiàn)錯誤就丟棄該數(shù)據(jù)包,命令發(fā)送方重新發(fā)送。否則繼續(xù)判斷數(shù)據(jù)包的類型,確定是IP數(shù)據(jù)報后,根據(jù)數(shù)據(jù)報的格式進行進一步檢驗,最后再經(jīng)過一次拆包獲取UDP數(shù)據(jù)報的內容來決定下一步的工作,并發(fā)送一個確認數(shù)據(jù)包。
項目的軟件整體設計流程如圖4所示。其中,發(fā)送端應用層數(shù)據(jù)處理部分是從終端采集的數(shù)據(jù)按規(guī)定的數(shù)據(jù)格式進行處理后再加密。數(shù)據(jù)封裝部分定義了put_ether(),put_ip(),put_udp()三個函數(shù),功能分別是封裝以太網(wǎng)幀、IP數(shù)據(jù)報和UDP數(shù)據(jù)報。網(wǎng)絡驅動部分需要通過單片機PIC控制Ethernet以太網(wǎng)模塊來完成,將以太網(wǎng)幀發(fā)送到接收端。接收端接收到以太網(wǎng)幀后,進行數(shù)據(jù)拆包。數(shù)據(jù)拆包部分分別定義了get_ether(),get_ip(),get_udp()三個函數(shù),實現(xiàn)了檢驗和解析以太網(wǎng)幀、IP數(shù)據(jù)報、UDP數(shù)據(jù)報的功能。最后再將數(shù)據(jù)在應用層進行解密,來控制終端。
項目可行性分析
本項目采用當前最新的智能家庭網(wǎng)關技術方案,并對方案適當裁剪,以減小復雜性和成本。如項目的硬件平臺采用單片機PIC和Ethernet以太網(wǎng)模塊,價格低,功耗小且完全可以滿足系統(tǒng)處理需要;軟件設計是對UDP協(xié)議進行改進,避免使用復雜的TCP協(xié)議,數(shù)據(jù)加密、封裝及拆包流程清晰簡單,且使用UDP協(xié)議增加了信令及數(shù)據(jù)信息傳輸?shù)膶崟r性。
項目的創(chuàng)新之處
本項目的創(chuàng)新之處在于對UDP協(xié)議進行了改進,使其更適合于傳輸信令信息。并采用RC4算法對數(shù)據(jù)進行加密,一定程度保障了數(shù)據(jù)傳輸?shù)陌踩?。最后得出了低成本、低功耗、低復雜性、高安全性的控制方案,設計出的家庭網(wǎng)關適合用于普通家庭住宅。具體說來,將UDP包的數(shù)據(jù)部分進一步劃分,定義不同的數(shù)據(jù)格式、類型以控制不同的終端設備。同時,網(wǎng)關還有自動控制功能,能夠自動、及時處理一些不需要人工干預的操作,增加了易用性。
評論