新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式的無線智能家居網關設計方案

        基于嵌入式的無線智能家居網關設計方案

        作者: 時間:2012-05-30 來源:網絡 收藏

        3。1家庭軟件體系結構

        家庭采用模塊化,如圖4所示由硬件驅動層、操作系統層、網絡協議層和應用程序層組成。硬件驅動層描述節點中Zigbee模塊和Wi-Fi模塊的驅動;操作系統層移植了ARMLinux實時操作系統內核;網絡協議層移植了Zigbee和Wi-Fi協議棧,實現Zigbee和Wi-Fi協議雙向轉換;應用程序層在Linux內核上移植Web服務器軟件Boa。

        圖4 家庭網關結構

        圖4家庭網關結構。

        網關中的網絡協議層主要完成從Wi-Fi和Zigbee協議的相互轉換工作。對于從Zigbee設備發送到Wi-Fi的數據,在網關需要經過以下處理步驟:Zigbee設備接收到數據→去掉物理層Zigbee分組→去掉MAC層Zigbee分組→添加MAC頭的Wi-Fi分組→添加物理層頭的Wi-Fi分組→Wi-Fi處理或發送。Wi-Fi接收數據到發送給Zigbee設備的過程如下:

        Wi-Fi接收到數據→去掉物理層Wi-Fi分組→去掉MAC層Wi-Fi分組→添加MAC頭的Zigbee分組→添加物理層頭的Zigbee分組→Zigbee處理或發送。Wi-Fi-Zigbee通信協議模型如圖5所示。

        圖5 Zigbee /Wi-Fi 網關的通信協議模型

        圖5Zigbee/Wi-Fi網關的通信協議模型。

        3。2Zigbee組網軟件

        家庭網關集成了Zigbee網絡協調器和Web服務器,有兩個主要功能。1)實現傳感器網絡的建立,傳感器節點管理和數據傳輸。將收集到的數據存儲在數據庫中,使用戶可以隨時查詢監控Zigbee終端設備的狀態。2)用戶可以通過Web瀏覽器直接訪問網關,可以進行實時監測和遠程管理。

        為了實現家庭網關的功能,在硬件平臺上移植了Linux2。6實時操作系統、Zigbee協議棧和VT6656的驅動程序,并使用HTTP協議的Boa服務器作為Web服務器,其中ZigBee網絡協調器的軟件實現包括ZigBee協議和監控管理程序的移植。該軟件流程如圖6所示。

        圖6 Zigbee 軟件流程

        圖6Zigbee軟件流程。

        內部ZigBee網絡中,首先協調器進行初始化,然后協調器選擇一個稱為PANID的標識號碼,接著啟動網絡,所有的設備接入CSMA-CA機制的協調器。當協調器收到數據時,首先判斷是新節點加入網絡的請求還是設備節點的控制請求:如果是新節點加入網絡的請求則分配網絡地址并綁定節點;如果是控制請求,則調用控制請求處理函數處理數據。數據處理完畢,協調器返回等待請求監聽狀態。

        3。3家庭網關主程序

        家庭網關是建立在傳輸層以上的協議轉換器,通常它連接兩個或多個相互獨立的網絡,每接收一種協議的數據包后,在轉發之前將它轉換為另一種協議的格式,Zigbee協議棧由一系列分層結構組成,包括物理層、數據鏈路層、網絡層、應用支持層和應用層,每一層為上一層提供服務。采集節點將要傳輸的節點地址信息和監測數據以Zigbee幀的形式打包發送給網關節點。傳送數據在通過物理介質進入網關后,先用Zigbee協議棧解封裝得到原始數據,網關可以用操作系統上的應用軟件根據需要對原始數據處理。然后再以TCP/IP協議打包后通過USB口與Wi-Fi通信模塊VT6656相連,Wi-FiVT6656網卡通過AP路由器,將數據傳送到Wi-Fi網絡中,AP路由器接入Internet,從而實現網關與Internet相連。為實現系統的監測和控制兩大功能,數據幀結構的設計由前導碼、數據模式、目標地址、數據長度、數據信息與校驗和等部分構成[3],其中數據信息字段又劃分為方向位、功能類型和數據。

        方向位分為上行和下行兩種:上行傳輸的是監測數據,下行傳輸的是控制命令。

        家庭網關主程序處理流程如圖7所示。硬件上電系統啟動以后,應用程序初始化,網關開始監聽網絡,有數據到來網關進入中斷狀態。首先判斷是否Zigbee數據,如果是Zigbee數據,按照WSN協議處理數據然后打包轉發給Wi-Fi模塊,網關返回監聽狀態;如果不是Zigbee數據,網關判斷是否Wi-Fi數據,如果是則以Wi-Fi協議處理數據然后打包轉發給Zigbee模塊,并返回監聽狀態;若是未知數據,網關進行丟棄處理直接返回監聽網絡狀態。

        4測試結果與分析

        將設計的Wi-Fi-Zigbee網關與同樣采用通信技術的Wi-Fi-藍牙無線網關,以及采用綜合布線的有線網關做如下比較,如表1。有線網關網絡穩定性、抗干擾性方面高,但是耗時且靈活性較低,而無線網關耗費的工時少且在網絡穩定、靈活和抗干擾方面均性能良好。

        圖7 家庭網關主程序流程

        圖7家庭網關主程序流程

        表1三種網關的比較

        表1 三種網關的比較

        為驗證Wi-Fi-Zigbee網關在監控系統中的性能,測試了兩組性能指標:1)無障礙物和干擾狀態下,隨著距離的增加,數據丟包率和響應時間的變化情況;2)數據傳輸距離分別為10m、20m、50m時,有障礙物情況下丟包率和響應時間性能變化;如圖8所示,其中(a)、(b)為在無障礙物和干擾狀態下測得三種網關下丟包率與響應時間的曲線:(c)、(d)為在有障礙物和干擾情況下所測得的數據。實驗結果表明,在無障礙物傳輸距離為50m以內時,Wi-Fi-Zigbee網關較Wi-Fi-藍牙網關的優勢明顯,隨著傳輸距離增加,丟包率低維持在3%左右,相對于有線網關高出2%左右,而響應時間波動在1ms以內,完全能夠充分滿足正常家居環境的通信需要,而且接收功率很低,非常適合家庭的使用。在有障礙物和干擾的情況下,Wi-Fi-Zigbee網關丟包率與響應時間較有線網關稍高,卻遠優于Wi-Fi-藍牙網關。

        圖8 三種網關在不同環境下丟包率與響應時間的比較 linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

        tcp/ip相關文章:tcp/ip是什么




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 吉林省| 开化县| 鄱阳县| 昆山市| 临海市| 靖西县| 临沂市| 乌兰县| 中宁县| 静海县| 霍林郭勒市| 大宁县| 普兰店市| 呼伦贝尔市| 儋州市| 临邑县| 临江市| 宁阳县| 搜索| 昭苏县| 临清市| 行唐县| 衡阳县| 驻马店市| 新泰市| 晋州市| 宜州市| 扎兰屯市| 和静县| 萝北县| 景洪市| 阿鲁科尔沁旗| 汉阴县| 奉贤区| 中方县| 隆安县| 天等县| 新兴县| 建始县| 松潘县| 保山市|