基于ZigBee協(xié)議的無線通信網(wǎng)關(guān)的設(shè)計
掃描二維碼
隨時隨地手機看文章
引 言
ZigBee 技術(shù)是一種短距離無線傳感器網(wǎng)絡(luò)和控制協(xié)議, 其工作頻率為 2.4 GHz,主要用于短距離傳輸控制信息的無線控制系統(tǒng),數(shù)據(jù)量比較小,適合電池供電系統(tǒng),ZigBee 協(xié)議是一種低成本傳輸手段。
本文旨在完成基于ZigBee 協(xié)議的無線通信網(wǎng)關(guān)的設(shè)計。主要分為硬件電路的設(shè)計和 ZigBee、GPRS 網(wǎng)關(guān)應(yīng)用程序的設(shè)計。該網(wǎng)關(guān)設(shè)計特點如下:
(1) 利用 ZigBee網(wǎng)絡(luò)技術(shù),可實現(xiàn)無線網(wǎng)絡(luò)的區(qū)域監(jiān)測, 解決現(xiàn)場布線容易老化等問題,提高監(jiān)控系統(tǒng)的靈活性和可維護(hù)性。
(2) 通過 GPRS網(wǎng)絡(luò)實現(xiàn)與遠(yuǎn)程監(jiān)控中心的無線連接, 實現(xiàn)數(shù)據(jù)監(jiān)控和無線在線更新,可大量節(jié)省人力和物力資源。
(3) 該網(wǎng)關(guān)具有普遍適用性,可用于水質(zhì)監(jiān)測、環(huán)境監(jiān)測、橋梁安全監(jiān)測、交通監(jiān)控、光伏發(fā)電等網(wǎng)絡(luò)應(yīng)用電站監(jiān)控系統(tǒng)等,在監(jiān)控領(lǐng)域有著廣泛的應(yīng)用前景。
(4) 如果將系統(tǒng)終端采集節(jié)點監(jiān)測傳感器的類型和監(jiān)控內(nèi)容相統(tǒng)一,就可以完成不同領(lǐng)域的監(jiān)控內(nèi)容,因此該解決方案是網(wǎng)絡(luò)應(yīng)用中一個非常重要的技術(shù)問題。
1 總體方案設(shè)計
無線通信網(wǎng)關(guān)主要通過串口網(wǎng)絡(luò)采集系統(tǒng)監(jiān)測到的數(shù)據(jù)信號,采集數(shù)據(jù)的 ZigBee 模塊的信號通過GPRS 網(wǎng)絡(luò)模塊的無線接口與遠(yuǎn)程監(jiān)控中心連接。圖 1 所示為該無線通信網(wǎng)關(guān)的總體設(shè)計框圖。
基于ZigBee 協(xié)議的無線網(wǎng)關(guān)的設(shè)計,需要有相關(guān)的硬件和軟件,硬件采用德州儀器公司生產(chǎn)的完全支持ZigBee 協(xié)議的CC2530 芯片,該芯片附帶相應(yīng)的開發(fā)包,還有相應(yīng)的關(guān)聯(lián)Z-Stack 協(xié)議棧。系統(tǒng)采用CC2530 芯片作為核心芯片,設(shè)計了一個ZigBee/GPRS 網(wǎng)關(guān)。作為無線傳感器網(wǎng)絡(luò)的網(wǎng)關(guān)和公共移動通信網(wǎng)絡(luò)進(jìn)行了很好的聯(lián)系,實現(xiàn)了信息的有效傳輸。網(wǎng)關(guān)組件如下:
(1) CC2530作為ZigBee的微處理器為系統(tǒng)提供控制器( 增強型C8051) 和 ZigBee射頻模塊 (2.4GHz),同時控制其他外設(shè)和網(wǎng)關(guān)數(shù)據(jù)的轉(zhuǎn)換;
(2) SIM300/GPRS通訊模塊通過串口與CC2530相連, 用于網(wǎng)關(guān)與遠(yuǎn)程PC機的數(shù)據(jù)通訊;
(3) 外部實時時鐘和 E2PROM存儲器通過I2C總線與CC2530 相連,分別實現(xiàn)系統(tǒng)定時和一些實時信息數(shù)據(jù)的存儲;
(4) 串行通訊模塊與終端采集節(jié)點通過無線鏈路相連接, 實現(xiàn)前端監(jiān)控數(shù)據(jù)和控制數(shù)據(jù)的傳輸;
(5) 人機界面模塊由LCD和按鍵組成,主要用于數(shù)據(jù)的現(xiàn)場查看和維護(hù)檢修。
2 系統(tǒng)硬件設(shè)計
2.1 CC2530開發(fā)板硬件資源概述
CC2530 單片機是一款完全兼容 8051 內(nèi)核, 同時支持IEEE802.15.4 協(xié)議的無線射頻單片機。擁有 256 KB 的Flash, 可實現(xiàn) ZigBee 協(xié)調(diào)器、路由器和子節(jié)點的功能。核心板主要包括 CC2530 單片機、天線接口、晶振、ADC 接口、RS 232 接口、I/O擴展接口、對應(yīng)液晶板等。
(1)電源接口:實現(xiàn)開發(fā)板供電,CC2530單片機正常工作需要的電壓范圍為23.6V 。
(8)對應(yīng)液晶板 :提供了一個 12864 點陣液晶模塊,該模塊帶有漢字字庫,便于數(shù)據(jù)顯示。
2.2 GPRS模塊選型及電路設(shè)計
SIM300 模塊是SIMCOM 公司開發(fā)的一個功能強大的嵌入式 TCP/IP 協(xié)議棧。用于短信、語音、高速信息數(shù)據(jù)的傳輸。傳真模塊自動上電后,連接到GPRS 網(wǎng)絡(luò),建立與數(shù)據(jù)中心的通信鏈路,遠(yuǎn)端用戶設(shè)備隨時與控制中心收發(fā)數(shù)據(jù)。該用戶設(shè)備的遠(yuǎn)程站點狀態(tài)信息通過發(fā)送命令發(fā)送給單片機控制。SIM300模塊和CC2530 連接方式如圖 2 所示。說明如下:
(1) 串口1端口有 7根線(包括數(shù)據(jù)線 /TXD和 /RXD, 狀態(tài)線 /RTS和/CTS,控制線 /DTR、/DCD和 RING)。
(2) 串口1可用作復(fù)合信號撥號傳真,GPRS服務(wù)和發(fā)送控制模塊的AT指令。還可使用多路復(fù)用功能,但多路復(fù)用功能不能同時使用串口 2。
(3) 串口 1 支持 1 200,2 400,4 800,9 600,19 200, 38 400,57 600,115 200 波特率,默認(rèn)為 115 200 b/s。
(4) 自動波特率支持1 200,2 400,4 800,9 600,19 200, 38 400,57 600,115 200 b/s。
(5) 串口 2端口有兩根線( 只包含數(shù)據(jù)線 /TXD和 / RXD)。
(6) 串口 2只能用來傳送 AT指令,不能用來復(fù)合信號撥號、傳真,也沒有多路復(fù)用功能。
(7) 串口2 支持 9 600,19 200,38 400,57 600,115 200 b/s波特率。
2.3 其它電路設(shè)計
2.3.1 人機接口電路
本文采用16 3 字符SPI 接口的LCD 屏幕、按鍵與LED 組成系統(tǒng)人機界面,使用CC2530 的嵌入式增強型 8051 內(nèi)核作為其控制器。
2.3.2 復(fù)位電路
本設(shè)計采用按鍵和 USB 雙復(fù)位電路, 其中USB_EM_ RESET 用于仿真器控制CC2530 復(fù)位。
3 系統(tǒng)軟件設(shè)計
3.1 總體構(gòu)成
ZigBee/GPRS 網(wǎng)關(guān)軟件主要實現(xiàn)ZigBee 協(xié)調(diào)器的建立和GPRS 網(wǎng)絡(luò)的建立,并且實現(xiàn) ZigBee 與GPRS 網(wǎng)絡(luò)之間的數(shù)據(jù)轉(zhuǎn)換,其軟件流程圖如圖 3 所示。
首先上電系統(tǒng)初始化,包括ZigBee 網(wǎng)絡(luò)和GPRS 模塊的初始化,初始化完成后,系統(tǒng)進(jìn)入睡眠,直到檢查周期運行到模塊處理系統(tǒng)。模塊任務(wù)周期首先檢查是否有GPRS 模塊接收到遠(yuǎn)程監(jiān)控中心的通訊信號,若有,則 GPRS 模塊是執(zhí)行狀態(tài) ;若沒有,則直接反應(yīng)。判斷 ZigBee 定時器的時間是否到時。若ZigBee 查詢周期的定時器到時,則數(shù)據(jù)采集和收集監(jiān)測每個子集合的節(jié)點信號工作參數(shù),如果監(jiān)測信號數(shù)據(jù)被更新,監(jiān)測信號數(shù)據(jù)發(fā)送到每個子節(jié)點,然后確定是否有一個按鍵信號,并更新相應(yīng)的 LCD 顯示信息,存儲相關(guān)數(shù)據(jù), 進(jìn)入睡眠狀態(tài)。
3.2 ZigBee網(wǎng)絡(luò)程序設(shè)計
ZigBee 協(xié)議實現(xiàn)方面已經(jīng)有許多公司推出了自己的ZigBee 協(xié)議棧, 例如 Ember、AirBee、Figure 8 Wireless 等, 其中以 Figure 8 Wireless(F8W)所設(shè)計的 Z-Stack 最負(fù)盛名, 應(yīng)用更廣。
Z-Stack 包含了網(wǎng)狀網(wǎng)絡(luò)拓?fù)涞膸缀跞δ艿膮f(xié)議棧,在競爭激烈的ZigBee 領(lǐng)域占有重要地位,本設(shè)計采用Z-Stack_ CC2530 版本的ZigBee 協(xié)議棧進(jìn)行應(yīng)用開發(fā)。由于Z-Stack 協(xié)議棧已經(jīng)提供了完整的ZigBee2007 協(xié)議各層的代碼,因此本文對此不再贅述。
3.3 GPRS驅(qū)動程序設(shè)計
GPRS 在SIM300 模塊的工作流程如圖 4 所示。
SIM300 嵌入式軟件驅(qū)動程序主要包括電源模塊、SIM300 初始化模塊和AT 指令功能模塊。
3.3.1 SIM300初始化
將SIM300上電,觀察networkled引腳上的網(wǎng)絡(luò)指示燈, 網(wǎng)絡(luò)指示燈閃爍頻率為64msON/800msOFF,工作狀態(tài)為SIM300模塊尋找GPRS網(wǎng)絡(luò),經(jīng)過一段時間,閃爍頻率網(wǎng)絡(luò)指標(biāo)為64msON/3000msOFF,說明模塊連接到GPRS 網(wǎng)絡(luò)。時間的長短根據(jù)地理位置的信號強度決定,信號強度越高, 等待的時間就越少,一般在12s。SIM300連接到GPRS網(wǎng)絡(luò)后,SIM300的POWERKEY引腳得到一個大于1500ms 的低脈沖,該脈沖是單片機引腳給出的,作為打開SIM300模塊的觸發(fā)脈沖。
3.3.2 AT指令
AT 指令集是從終端設(shè)備(TE)或數(shù)據(jù)終端設(shè)備(DTE) 向終端適配器(TA)或數(shù)據(jù)電路終端設(shè)備(DCE)發(fā)送的,通過終端適配器TA,數(shù)據(jù)終端設(shè)備 (TE)發(fā)送AT 命令控制移動臺(MS)的功能,與 GSM 網(wǎng)絡(luò)服務(wù)進(jìn)行交互。用戶可以通過AT 進(jìn)行呼叫、電話本、短信、數(shù)據(jù)業(yè)務(wù)、文本消息、傳真等方面的控制。使用時直接以命令的形式發(fā)送字符,接收時間需要等待并判斷。
3.3.3 如何使用TCP向遠(yuǎn)端SERVER傳輸數(shù)據(jù)
先要建立一個TCP 連接,模塊作為客戶端向遠(yuǎn)程服務(wù)器發(fā)起一個TCP 連接,成功連接需要客戶端連接到的互聯(lián)網(wǎng)服務(wù)器,該服務(wù)器的IP 地址是網(wǎng)絡(luò)的IP 地址(可以用撥號方式獲得),運行我們的服務(wù)器軟件建立 TCP 連接。連接成功后返回 CONNECT OK 信息。然后可以用 AT+CIPSEND 發(fā)送數(shù)據(jù)到服務(wù)器,如果服務(wù)器有數(shù)據(jù),則模塊通過串口接收 數(shù)據(jù)。使用“AT+CIPCLOSE”命令關(guān)閉 TCP 連接。
4 利用該網(wǎng)關(guān)實現(xiàn)的無線網(wǎng)絡(luò)水情監(jiān)測系統(tǒng)
大型跨流域調(diào)水工程從水庫的中心取水,分別為三個不 同的基地供水,以解決嚴(yán)重的水資源短缺危機。這樣一個具 體的工程一般難以通過架設(shè)電纜設(shè)備完成監(jiān)測并實時傳輸水 文信息,在這種情況下,無線通信的優(yōu)勢變得愈加明顯。但在 真實的測量環(huán)境中,要測量水位、水壓等參數(shù),需要形成多 個測量點的網(wǎng)絡(luò)。測量多個參數(shù)往往需設(shè)置在一定的區(qū)域內(nèi), 用于無線傳感器網(wǎng)絡(luò)的通信建設(shè)可以實現(xiàn)距離的可行性,因此 我們結(jié)合 ZigBee 和 GPRS 技術(shù)的特點,使用之前的通信網(wǎng)關(guān) 設(shè)計了基于 ZigBee/GPRS 的無線網(wǎng)絡(luò)水情監(jiān)測系統(tǒng),其示意 圖如圖 5 所示。
該系統(tǒng)具有自組織、短距離、低功耗、遠(yuǎn)程傳輸?shù)膬?yōu)勢, 每一個水情監(jiān)測設(shè)備設(shè)計成一個終端采集節(jié)點,形成一定距離的拓?fù)渚W(wǎng)絡(luò)。結(jié)合本文設(shè)計的無線網(wǎng)關(guān)完成遠(yuǎn)程傳輸網(wǎng)絡(luò)的設(shè)備監(jiān)測和終端信息采集。方案通過以上ZigBee 無線通信網(wǎng)關(guān)完成了協(xié)調(diào)器節(jié)點和無線通信模塊及上位機軟件的無線通訊, 實現(xiàn)了監(jiān)控區(qū)域內(nèi)的無線網(wǎng)絡(luò)水情監(jiān)控。
5 結(jié) 語
基于無線傳感器網(wǎng)絡(luò)實現(xiàn)水文監(jiān)測網(wǎng)絡(luò)的現(xiàn)代化具有一定的現(xiàn)實意義,此舉不僅可以滿足遠(yuǎn)程監(jiān)控測量的基本要求, 還能夠?qū)崿F(xiàn)無線網(wǎng)絡(luò)化與現(xiàn)代智能化的需求,具有廣大的應(yīng)用前景。