《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于ZigBee、GPRS和TCP/IP協(xié)議的無線網關設計
基于ZigBee、GPRS和TCP/IP協(xié)議的無線網關設計
來源:微型機與應用2013年第8期
項雷軍
(華僑大學 信息科學與工程學院,福建 廈門361021)
摘要: 針對ZigBee無線傳感器網絡的遠程監(jiān)控技術的實現,設計一個將ZigBee協(xié)議與TCP/IP協(xié)議有機融合在一起的無線網關。系統(tǒng)運行時,互聯網中的遠程服務器可通過網關對ZigBee無線傳感器網絡所有節(jié)點進行監(jiān)控。此網關設計方案成本低廉且易于實現,可以為無線傳感器網絡在諸多領域的應用開發(fā)提供設計參考。
Abstract:
Key words :

摘  要: 針對ZigBee無線傳感器網絡的遠程監(jiān)控技術的實現,設計一個將ZigBee協(xié)議與TCP/IP協(xié)議有機融合在一起的無線網關。系統(tǒng)運行時,互聯網中的遠程服務器可通過網關對ZigBee無線傳感器網絡所有節(jié)點進行監(jiān)控。此網關設計方案成本低廉且易于實現,可以為無線傳感器網絡在諸多領域的應用開發(fā)提供設計參考。
關鍵詞: ZigBee;無線傳感器網絡;C8051F120GPRS;TCP/IP協(xié)議;網關

    隨著無線通信技術、傳感器技術和計算機網絡技術的不斷發(fā)展,無線傳感器網絡作為一種多學科交叉技術得到了學術界和工業(yè)界的廣泛關注。ZigBee技術是一種具有近距離、低速率、低功耗、雙向數據傳輸、可以自組網等特點的高可靠個域網無線通信標準[1-2]。在工業(yè)控制、醫(yī)療健康、農業(yè)節(jié)水灌溉、樓宇自動化、智能電網等眾多領域,基于ZigBee技術的無線傳感器網絡都具有很好的應用價值和發(fā)展前景[2-3]。ZigBee無線網絡的網關設計有多種方法,設計方案各有優(yōu)缺點,難易程度和成本開支存在差異。本文所介紹的基于ZigBee技術的無線傳感器網絡網關通過GPRS將互聯網中的計算機通過網絡與無線傳感器網絡的協(xié)調器連接在一起,通過互聯網中的計算機對無線傳感器網絡進行監(jiān)控。且該系統(tǒng)的網關實現了ZigBee無線傳感網絡和基于TCP/IP協(xié)議的互聯網的有機融合,網關GPRS從網絡中分配到一個IP地址,使整個無線傳感器網絡成為互聯網中的一臺“計算機”[4-5]。該網關設計方案實現較為容易,且成本低廉,對無線傳感器網絡在工業(yè)控制、智能電網、環(huán)境監(jiān)測、智能家居等領域的應用開發(fā)具有很好的參考價值。
1 系統(tǒng)的拓撲結構
    ZigBee是由ZigBee聯盟在IEEE 802.15.4的物理層(PHY)和媒體介質訪問層(MAC)基礎上增加網絡層(NWK)和應用層(APL)等所形成的協(xié)議體系結構[2,6]。在ZigBee網絡中存在兩種設備,即全功能設備(FFD)和精簡功能設備(RFD)。網絡中的節(jié)點可分為網絡協(xié)調器、路由器和終端節(jié)點。網絡協(xié)調器和路由器必須是FFD,而終端節(jié)點則可以是FFD或者RFD。FFD既可以與FFD通信,也可以與RFD通信,而RFD與RFD之間不能直接通信。ZigBee網絡的拓撲結構可分為星形網絡、網狀網絡和樹狀網絡。
    本系統(tǒng)主要是由ZigBee無線傳感器網絡、網關和遠程服務器組成,系統(tǒng)的整體結構如圖1所示。系統(tǒng)的ZigBee無線傳感器網絡選用樹狀網絡拓撲結構。網關是整個ZigBee無線網絡的控制中心,它由以CC2430為處理器的ZigBee網絡協(xié)調器、8位單片機C8051F120、GPRS模塊、電源模塊及其他外圍電路所構成。網絡服務器是連接在互聯網中具有公網IP地址的一臺個人計算機,在該臺計算機中安裝有基于Visual C++開發(fā)環(huán)境所設計開發(fā)的帶有Access數據庫的控制軟件。

2 硬件設計
    此系統(tǒng)無線網關的主要功能是將ZigBee無線網絡和互聯網中的計算機連接起來,使得通過互聯網可以監(jiān)控ZigBee網絡中的所有節(jié)點,通過該網關也可以對ZigBee網絡中的節(jié)點進行監(jiān)控。該無線網關的硬件主要由ZigBee網絡協(xié)調器、GPRS模塊和C8051F120微處理器組成。網絡協(xié)調器的核心芯片選擇TI公司生產的CC2430單片機,GPRS模塊選用的是SIM300模塊,C8051F120單片機是美國Silicon Laboratories公司的產品。
    CC2430是由一顆高性能、低功耗的8051單片機內核和符合IEEE 802.15.4標準的2.4 GHz的無線電收發(fā)機組成[7]。CC2430的閃存根據存儲空間的大小可以分成3種,分別是32 KB、64 KB和128 KB,本系統(tǒng)的網絡協(xié)調器微處理器選擇的是128 KB的CC2430。
    C8051F120是一款完全繼承的混合信號片上系統(tǒng)型的8位MCU,具有64個數字I/O引腳,該款芯片共有100個引腳,具有豐富的片上資源;具有128 KB的Flash存儲器和8 448 B的片內RAM;兩個串行通信接口,分別是UART0和UART1,在此系統(tǒng)網關設計中這兩個串行端口對數據和控制指令的傳輸起到關鍵作用。
    SIM300是一款內嵌了TCP/IP網絡通信協(xié)議、可以通過標準的AT指令進行操作的高性能GPRS模塊。通過AT指令操作可以輕松使GRPS與互聯網中的計算機建立基于TCP/IP的網絡連接,該模塊還具有短信息和語音通話功能,非常適合應用于工業(yè)監(jiān)控和樓宇自動化等領域。
    該系統(tǒng)網關的硬件設計結構如圖2所示,C8051F120與SIM300之間的通信基于RS232串口通信協(xié)議,使用的是UART0端口,TX0和RX0分別是I/O端口的P0.0與P0.1;與網絡協(xié)調器之間的通信同樣基于RS232串口通信協(xié)議,使用的是UART1端口,TX1和RX1分別是I/O端口的P0.2與P0.3。網絡協(xié)調器端的串口通信選擇的是CC2430的UART0,TX和RX分別是I/O端口的P0.3與P0.2。在串口通信中,TX應該與接收方的RX連接,RX應該與發(fā)送方的TX連接,所以C8051F120與GPRS的串口連接要交叉連接,也就是C8051F120的TX0連接GPRS的RX,RX0連接GPRS的TX。同理,C8051F120與網絡協(xié)調器的連接也要交叉連接。在該網關的設計中,還要考慮到一個電源參考電壓的問題,為了使它們有一個共同的地,網關的這三部分的地要連接在一起。

    通過中間的C8051F120對網絡協(xié)調器和GPRS之間的雙向數據進行處理,可以使協(xié)調器不會因為GPRS的握手協(xié)議的存在而提高串口通信的中斷頻率,把主要的工作放在ZigBee無線網絡這一端,從而提高網絡協(xié)調器的運行穩(wěn)定性并且使ZigBee無線網絡具有良好的可擴展性。
3 軟件編程
    網關的軟件設計是在網關的硬件設計基礎上展開的。根據前面的硬件設計,程序設計可以分為兩個部分:網絡協(xié)調器的程序設計和基于C8051F120的程序設計。GPRS模塊的操作屬于C8051F120的程序處理范疇。
3.1 網絡協(xié)調器的程序設計
    網絡協(xié)調器是整個ZigBee網絡的控制中心,在ZigBee網絡中處于核心地位。整個系統(tǒng)中,網絡協(xié)調器的作用主要分為兩個方面:(1)對ZigBee網絡進行組網;(2)連接ZigBee網絡與C851F120,使二者之間互相通信。具體而言,網絡協(xié)調器對ZigBee網絡進行組網,為網絡中的各個節(jié)點分別分配一個16位的網絡地址,對網絡中的節(jié)點進行控制和采集相關節(jié)點信息。在ZigBee網絡與C8051F120之間起到“橋梁”的作用,即接收并處理來自C8051F120的控制指令,采集來自ZigBee網絡的數據并打包傳輸給C8051F120,由C8051F120做進一步處理。
    網絡協(xié)調器與C8051F120之間的通信是基于RS232串口通信協(xié)議的串口通信。ZigBee協(xié)議棧所定義的串口通信波特率有38 400 bit/s和115 200 bit/s,此處選擇115 200 bit/s作為協(xié)調器與C8051F120通信的波特率。系統(tǒng)開發(fā)過程中,選用Z-Stack的例程SimpleApp并以此為基礎設計協(xié)調器和ZigBee節(jié)點的程序,此舉可節(jié)省較多開發(fā)時間。協(xié)調器程序設計時,與串口通信相關的一些參數應在sapi.h文件中定義,而初始化部分應放在sapi.c中的初始化函數SAPI_Init(byte task_id)中,當協(xié)調器開始工作時即可初始化CC2430的串口通信。ZigBee網絡協(xié)調器開始工作時是從協(xié)議棧的ZMain.c文件中的主函數main(void)開始運行的,在此過程中需調用osal_int_disable(INTS_ALL)關中斷,再調用協(xié)議棧各層的初始化函數及CC2430片上資源的初始化函數進行初始化,初始化之后調用osal_int_enable(INTS_ALL)允許中斷。最后程序通過osal_start_
system( )進入協(xié)議棧的任務操作系統(tǒng)。該函數是協(xié)議棧操作系統(tǒng)的主循環(huán)函數,進入該函數后將不再返回。在操作系統(tǒng)的運行過程中如果有事件產生將調用函數task_event_processor( )對事件進行處理。
    系統(tǒng)開發(fā)過程中,網絡協(xié)調器和終端節(jié)點的程序是在同一個工程中進行開發(fā)的,即Z-Stack中的sapi.c文件和sapi.h文件是由網絡協(xié)調器程序和終端節(jié)點程序共同調用的,故在這兩個文件中單獨涉及到網絡協(xié)調器和單獨涉及到終端節(jié)點的程序部分應分別存入各自的條件編譯程序塊中。網絡協(xié)調器的程序運行流程圖如圖3所示。

3.2 基于C8051F120的程序設計
    在系統(tǒng)設計中,C8051F120是一個很重要的中間件,它將ZigBee網絡與互聯網中的遠程服務器連接起來,使得管理員可以通過服務器的控制軟件或其他客戶端控制軟件對ZigBee網絡進行實時監(jiān)控。C8051F120通過UART0與SIM300連接在一起,在啟動時首先要做的工作就是初始化SIM300模塊并與互聯網中的遠程服務器建立連接,這樣管理員才可以通過遠程服務器上的控制軟件對ZigBee無線網絡進行監(jiān)控。這一步非常重要,如果不與服務器建立連接,則管理員就無法通過服務器上的控制軟件對ZigBee無線傳感器網絡進行監(jiān)控。根據系統(tǒng)要求,C8051F120對GPRS模塊的初始化可以分為表1所示的幾個部分。

    C8051F120的程序設計用到兩個串口通信,串口通信的數據收發(fā)均通過中斷服務程序實現[8]。C8051F120總共有20個中斷源。在中斷系統(tǒng)中,UART0的中斷優(yōu)先級是4,UART1的中斷優(yōu)先級是20,即UART0的優(yōu)先級比UART1高。系統(tǒng)選用外部22.118 4 MHz晶振經鎖相環(huán)二倍頻后,產生50 MHz時鐘源。Timer2通過16位自動重裝載模式設置115 200 bit/s的波特率作為UART0波特率。而Timer1通過8位自動重裝載模式設置115 200 bit/s的波特率作為UART1波特率,這個波特率與協(xié)調器的波特率相匹配。該部分的設置均采用Silicon Laboratories IDE集成開發(fā)環(huán)境來編程實現。C8051F120的程序運行流程圖如圖4所示。

    由于ZigBee網絡與遠程服務器之間的通信屬于通過GPRS進行的基于TCP/IP的網絡通信,受移動網絡的影響,因此系統(tǒng)通信容易產生時滯,多次發(fā)送的數據集中在同一時間接收,易產生誤控制及數據的誤處理。為解決該問題,需按照以下基本格式定義無線通信的握手協(xié)議:從服務器端發(fā)送來的控制指令的格式為0xAA+節(jié)點序號+節(jié)點網絡地址+指令+0xAA,總字節(jié)數是6 B。如果C8051F120從GPRS接收到的數據不符合這種數據格式,則對這樣的數據不做處理,直接從緩存中刪除。C8051F120從網絡協(xié)調器接收到的數據幀也是由固定的幀頭和幀尾以及中間的相關數據組成,數據幀的格式是0xFF+(節(jié)點序號+節(jié)點網絡地址+節(jié)點狀態(tài))+…+(節(jié)點序號+節(jié)點網絡地址+節(jié)點狀態(tài))+0xFF。C8051F120接收到網絡協(xié)調器發(fā)送過來的數據時,則轉到UART1串口通信的中斷服務子程序進行處理,要處理的內容包括判斷數據幀的幀頭、幀尾、總字節(jié)數等。如果中間的數據判斷有哪個與程序設計過程中定義的不一致,則退出中斷并清空接收緩存,否則按流程圖的順序執(zhí)行程序。在程序的運行過程中,C8051F120每完成一個任務都會用一個相應的全局變量來標志,以便作為下一個環(huán)節(jié)程序處理依據。例如變量InitOrRun,當InitOrRun=0時,表示此時程序處于GPRS的初始化階段;InitOrRun=1時,表示此時程序處于系統(tǒng)正常運行階段。
    ZigBee技術在各種監(jiān)測與控制領域的應用將會越來越廣泛,根據系統(tǒng)的要求以及特定通信協(xié)議設計一個網關,把不同的通信協(xié)議組合或轉換,是一項非常重要的工作,對系統(tǒng)的開發(fā)實現起到關鍵作用。本系統(tǒng)的網關不僅可以將基于TCP/IP的網絡通信的數據轉換為監(jiān)控ZigBee無線網絡的控制指令,也可以將ZigBee無線網絡的數據進行轉換后通過互聯網傳輸給遠程服務器和客戶端計算機。此網關設計方案中單片機C8051F120的程序稍作修改即可應用于類似的系統(tǒng)中,例如工業(yè)控制、智能家居、農業(yè)節(jié)水灌溉、環(huán)境監(jiān)測、煤礦安全等。
參考文獻
[1] ZigBee Alliance.ZigBee Specification[S].2006.
[2] 金純,羅祖秋,羅鳳,等.ZigBee技術基礎及案例分析[M].北京:國防工業(yè)出版社,2008.
[3] 崔遜學,趙湛,王成.無線傳感器網絡的領域應用與設計技術[M].北京:國防工業(yè)出版社,2009.
[4] 劉元安,葉靚,邵謙明,等.無線傳感器網絡與TCP/IP網絡的融合[J].北京郵電大學學報,2006,29(6):1-4.
[5] 龐訓磊,殷保群,奚宏生.一種使用TCP/IP協(xié)議實現無線傳感器網絡互連的新型設計[J].傳感技術學報,2007,20(6):1386-1390.
[6] REESE R.A ZigBee TM-subset/IEEE 802.15.4TM multiplatform protocol stack[C].In Electrical/Computer Engr MSU.2006.
[7] Chipcon.CC2430 preliminary data sheet(Rev.1.03)SWRS036A[S].2005.
[8] 陳連坤.單片機原理及及接口技術(C語言版)[M].北京:清華大學出版社,北京交通大學出版社,2010.

此內容為AET網站原創(chuàng),未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
99riav1国产精品视频| 久久精品国产综合| 久久国产视频网站| 亚洲永久字幕| 亚洲综合日韩| 亚洲欧美激情诱惑| 亚洲一区二区在线视频| 在线视频亚洲一区| 亚洲视频大全| 一区二区三区四区五区精品视频| 亚洲国产婷婷香蕉久久久久久99| 亚洲电影av| 亚洲国产欧美日韩另类综合| 亚洲国产精品成人久久综合一区| 亚洲成色www久久网站| 在线日韩视频| 亚洲国产精品999| 亚洲日韩欧美视频一区| 亚洲日本免费电影| 日韩视频免费观看| 夜色激情一区二区| 亚洲午夜精品| 欧美一区免费视频| 亚洲国产精品专区久久| 最新国产の精品合集bt伙计| 日韩视频一区二区三区| 一区二区三区**美女毛片| 亚洲影视在线| 久久国产精品一区二区| 久久久久久久久久久成人| 老司机午夜免费精品视频| 欧美电影免费观看大全| 欧美日本精品在线| 国产精品激情| 国产中文一区| 最新精品在线| 一区二区三区欧美日韩| 校园春色综合网| 亚洲欧洲在线一区| 亚洲视频一二三| 久久丁香综合五月国产三级网站| 久久蜜桃av一区精品变态类天堂| 欧美a级片网站| 国产精品99一区| 国产视频亚洲精品| 亚洲国产精品视频| 亚洲一区二区综合| 亚洲国产精品电影| 在线亚洲电影| 久久国产欧美日韩精品| 欧美mv日韩mv国产网站| 国产精品yjizz| 韩日成人在线| 一本色道久久综合亚洲精品不卡| 欧美一区二区三区日韩| 亚洲美女免费视频| 欧美一区二区三区免费视频| 免费欧美网站| 国产精品一级在线| 亚洲激情在线观看视频免费| 亚洲综合电影一区二区三区| 最新日韩av| 香蕉尹人综合在线观看| 欧美成人精品一区| 国产精品自拍小视频| 亚洲国产毛片完整版| 亚洲一区二区欧美日韩| 91久久综合亚洲鲁鲁五月天| 亚洲欧美怡红院| 欧美黑人多人双交| 国产亚洲免费的视频看| 亚洲最新在线视频| 亚洲黄色影院| 欧美一区二区三区的| 欧美日本韩国一区二区三区| 国产一区在线观看视频| 中文亚洲视频在线| 亚洲精选一区| 久久欧美中文字幕| 国产精品一区二区女厕厕| 最近看过的日韩成人| 午夜精品一区二区三区在线| 9色porny自拍视频一区二区| 久久久蜜桃一区二区人| 国产精品久久久久久妇女6080| 亚洲国产日韩欧美综合久久| 久久av老司机精品网站导航| 亚洲一区欧美| 欧美精品一区二区蜜臀亚洲 | 在线看欧美日韩| 性欧美8khd高清极品| 亚洲午夜三级在线| 欧美精品七区| 亚洲国产清纯| 亚洲国产成人高清精品| 久久精品午夜| 国产色综合网| 亚洲在线日韩| 亚洲男人第一av网站| 欧美日韩三级| 亚洲精选在线观看| 日韩视频专区| 欧美国产精品中文字幕| 极品日韩久久| 久久精品二区| 久久久蜜桃精品| 国产在线观看一区| 欧美一区91| 欧美在线亚洲综合一区| 国产精品普通话对白| 99精品国产在热久久下载| 99在线精品免费视频九九视| 欧美国产精品va在线观看| 亚洲高清资源| 亚洲精品一区久久久久久| 免费视频一区| 亚洲国产成人午夜在线一区| 亚洲黑丝在线| 欧美 日韩 国产一区二区在线视频| 国产偷久久久精品专区| 欧美一二三视频| 久久精品国产成人| 狠狠色丁香久久综合频道| 久久疯狂做爰流白浆xx| 久久精品在线观看| 国产真实久久| 亚洲国产精品黑人久久久| 欧美成人性生活| 亚洲日韩视频| 亚洲午夜视频| 国产精品一国产精品k频道56| 午夜精品国产| 久久综合中文| 亚洲国产精品尤物yw在线观看| 日韩视频第一页| 欧美三级视频在线| 亚洲你懂的在线视频| 久久99伊人| **性色生活片久久毛片| 亚洲精品一级| 欧美日韩一区二区三区在线视频 | 亚洲第一区中文99精品| 裸体女人亚洲精品一区| 亚洲国产精品一区在线观看不卡| 日韩一二在线观看| 国产精品乱码妇女bbbb| 午夜视频在线观看一区二区三区 | 亚洲大胆av| 亚洲国产裸拍裸体视频在线观看乱了中文| 久久丁香综合五月国产三级网站| 国产一区二区电影在线观看| 亚洲黄网站黄| 欧美日韩国产成人在线观看| 亚洲精品乱码久久久久久黑人 | 亚洲视频免费| 国产精品久久久久久久久久三级 | 国产精品啊啊啊| 欧美亚洲在线观看| 麻豆91精品| 99精品免费网| 久久精品国产视频| 亚洲福利视频网站| 亚洲午夜久久久久久久久电影院| 国产精品实拍| 亚洲黄色有码视频| 国产精品成人在线观看| 欧美一区二区精品在线| 欧美激情1区2区3区| 亚洲自拍啪啪| 欧美黑人一区二区三区| 亚洲自拍偷拍色片视频| 欧美成人高清| 亚洲在线观看| 欧美国产三区| 香蕉久久a毛片| 欧美日韩不卡一区| 欧美一区二区视频97| 欧美日韩一区二区三区四区在线观看| 香蕉久久夜色精品国产使用方法 | 欧美婷婷久久| 亚洲电影第1页| 欧美性淫爽ww久久久久无| 亚洲高清免费在线| 国产精品国产三级国产a| 91久久精品美女高潮| 国产精品一区=区| 99精品国产在热久久下载| 国产一级精品aaaaa看| 亚洲网站视频| 一区二区三区我不卡| 亚洲男人av电影| 亚洲激情成人| 久久久无码精品亚洲日韩按摩| 日韩亚洲国产精品| 蜜臀av一级做a爰片久久| 亚洲欧美影音先锋| 欧美三区美女| 日韩亚洲不卡在线| 伊人色综合久久天天五月婷| 国产精品乱看|