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