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