孫 紅,潘永軍
(上海理工大學(xué)光電信息科學(xué)與計(jì)算工程機(jī)學(xué)院,上海 200093)
近年來我國溺水身亡事故頻發(fā),已成為青少年和兒童非正常死亡的頭號(hào)殺手。2013年1月1日,廣東汕尾陸豐市湖東鎮(zhèn)南四坑水庫發(fā)生一起溺水事故,造成4學(xué)生死亡。3月10日,廣東惠州惠城區(qū)水口街道一個(gè)魚塘發(fā)生溺水事故,造成4名小學(xué)生溺亡。據(jù)統(tǒng)計(jì),1991年我國1~4歲兒童因溺水死亡的比例,為34.2/10萬,排在各種死亡原因的第3位,中小學(xué)生平均每天有40多人因溺水而死亡。
本系統(tǒng)通過終端,利用ZigBee通信網(wǎng)絡(luò)和GPS衛(wèi)星定位,GPRS等技術(shù),把終端與信息服務(wù)平臺(tái)聯(lián)系起來,針對(duì)河流湖泊等危險(xiǎn)區(qū)域提供遠(yuǎn)程定位跟蹤、監(jiān)控調(diào)度、位置服務(wù)、短信群發(fā)等功能,對(duì)事故頻發(fā)的危險(xiǎn)區(qū)域進(jìn)行電子圍欄式監(jiān)控與管理,從源頭上減少溺水事故的發(fā)生,保護(hù)少年兒童的生命安全。
本系統(tǒng)設(shè)計(jì)的無線測(cè)控網(wǎng)絡(luò),實(shí)現(xiàn)了實(shí)時(shí)監(jiān)控危險(xiǎn)區(qū)域信息狀態(tài)的目的。測(cè)控區(qū)域內(nèi)的節(jié)點(diǎn)間自動(dòng)組網(wǎng),在保證信號(hào)傳輸安全和實(shí)時(shí)性的基礎(chǔ)上,實(shí)現(xiàn)了遠(yuǎn)程控制自動(dòng)化設(shè)備的目的。在防溺水的特殊環(huán)境下,ZigBee和GPRS組建的無線絡(luò)更加簡(jiǎn)單實(shí)用。
ZigBee是一種短距離、低速率無線網(wǎng)絡(luò)技術(shù),主要用于短距離的無線連接,具有20~250 kbit·s-1的傳輸速率,靈活的工作頻段為免執(zhí)照頻段2.4 GHz無線通信。自組網(wǎng)方式實(shí)現(xiàn)ZigBee組網(wǎng),這種網(wǎng)絡(luò)架構(gòu)稱為無線基礎(chǔ)架構(gòu)無線局域網(wǎng)絡(luò),且對(duì)網(wǎng)絡(luò)內(nèi)部設(shè)備的數(shù)量沒有限制,可隨時(shí)建立無線通信鏈路。一直處在監(jiān)聽狀態(tài)下的協(xié)調(diào)器能及時(shí)發(fā)現(xiàn)網(wǎng)絡(luò)中新添加的終端節(jié)點(diǎn)。一個(gè)ZigBee網(wǎng)絡(luò)中可以容納多達(dá)254個(gè)終端節(jié)點(diǎn)和1個(gè)中心節(jié)點(diǎn),節(jié)點(diǎn)間的無線通信距離為75 m、幾百m到幾km不等[1]。
GPRS是通用分組無線業(yè)務(wù)(General Packet Radio Service)的縮寫,是一種適用于間歇性的、突發(fā)性的或頻繁的、少量數(shù)據(jù)傳輸?shù)臒o線通信技術(shù)。為確保數(shù)據(jù)傳輸過程中的及時(shí)性和可靠性,可以充分利用GPRS網(wǎng)絡(luò)的覆蓋區(qū)域廣和通信網(wǎng)絡(luò)的識(shí)錯(cuò)誤的能力,同時(shí)增加GGSN和 SGSN(Serving GPRS Support Node),建立一個(gè)能夠?qū)崿F(xiàn)分組快速傳輸數(shù)據(jù),充分利用資源且支持IP協(xié)議及X.25協(xié)議等技術(shù)優(yōu)勢(shì)的“中心計(jì)算機(jī)—多個(gè)用戶點(diǎn)”的網(wǎng)絡(luò)[2]。
整體系統(tǒng)設(shè)計(jì)結(jié)構(gòu),如圖1所示。主要由用戶層、服務(wù)器層、網(wǎng)絡(luò)層和感知層組成。感知層的ZigBee網(wǎng)關(guān)將采集到的數(shù)據(jù)打包并通過GPRS發(fā)送到網(wǎng)絡(luò)層;服務(wù)器層對(duì)數(shù)據(jù)進(jìn)行分析后,反饋到網(wǎng)絡(luò)層中;在由網(wǎng)絡(luò)對(duì)用戶層進(jìn)行數(shù)據(jù)傳輸[3]。
圖1 系統(tǒng)整體結(jié)構(gòu)設(shè)計(jì)圖
由多個(gè)無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)組成無線傳感器網(wǎng)絡(luò),微處理器作為網(wǎng)絡(luò)節(jié)點(diǎn)中的中央處理單元。本系統(tǒng)采用CC2430芯片作為網(wǎng)絡(luò)節(jié)點(diǎn)中的中央處理單元,其芯片系統(tǒng)的功能模塊集成了CC2420RF收發(fā)器和增強(qiáng)型8051MCU;休眠模式下的電流消耗僅為0.9μA,提供外部中斷或RTC喚醒系統(tǒng)[4];電壓范圍較寬(2.0~3.6 V);提供模擬和數(shù)字外設(shè)接口支持采集各種數(shù)據(jù)。
按照樹狀網(wǎng)絡(luò)結(jié)構(gòu)設(shè)計(jì)的無線傳感器,主要由ZigBee網(wǎng)關(guān)和端節(jié)點(diǎn)來實(shí)現(xiàn)功能。其ZigBee網(wǎng)關(guān)具有網(wǎng)絡(luò)協(xié)調(diào)器的功能,能和網(wǎng)絡(luò)中任意設(shè)備進(jìn)行通信,這個(gè)全功能設(shè)備FFD(Full Function Device)即為主設(shè)備;而和ZigBee網(wǎng)關(guān)通信的端節(jié)點(diǎn)作為簡(jiǎn)化的功能設(shè)備RFD(Reduced Function Device),即為從設(shè)備。
端節(jié)點(diǎn)定時(shí)將采集到的數(shù)據(jù)通過ZigBee網(wǎng)絡(luò)發(fā)送到ZigBee網(wǎng)關(guān),通過GPRS網(wǎng)絡(luò)和互聯(lián)網(wǎng)對(duì)接的ZigBee網(wǎng)關(guān)將采集的數(shù)據(jù)發(fā)送至網(wǎng)絡(luò)層,通過網(wǎng)絡(luò)層與服務(wù)器層和用戶層進(jìn)行數(shù)據(jù)傳遞,如圖1所示。ZigBee網(wǎng)關(guān)與各個(gè)端節(jié)點(diǎn)之間通過ZigBee協(xié)議進(jìn)行通信,能大幅提高系統(tǒng)的靈活性和移動(dòng)性。
ZigBee網(wǎng)關(guān)由 ARM單片機(jī)、GPRS模塊、ZigBee模塊和天線等組成,基于LINUX操作系統(tǒng),運(yùn)行起來穩(wěn)定、可靠。ZigBee模塊負(fù)責(zé)和端節(jié)點(diǎn)通信,將接收到的數(shù)據(jù)轉(zhuǎn)發(fā)到ARM單片機(jī)進(jìn)行處理,數(shù)據(jù)分析處理完畢后將ARM單片機(jī)數(shù)據(jù)命令發(fā)送給所有端節(jié)點(diǎn)或某個(gè)端節(jié)點(diǎn),從而實(shí)現(xiàn)對(duì)危險(xiǎn)區(qū)域環(huán)境的監(jiān)測(cè)。GPRS模塊負(fù)責(zé)感知層和服務(wù)器層以及移動(dòng)用戶設(shè)備之間的數(shù)據(jù)傳輸?;竞诵碾娐返腁RM控制器和接口電路,可以保證這部分的正常工作。Linux嵌入式系統(tǒng)高效穩(wěn)定,擁有完善的網(wǎng)絡(luò)通信和文件管理機(jī)制,對(duì)多種硬件設(shè)備和不同的體系架構(gòu)支持良好,且具有優(yōu)秀的開發(fā)工具鏈及 ARM+Linux系統(tǒng)開發(fā)平等[5-7]等優(yōu)勢(shì)??刂乒芾碥浖x擇Linux嵌入式系統(tǒng),同時(shí)采用Atmel公司的AT91RM9200微處理器作為ARM芯片,其原理如圖2所示。
圖2 ARM控制器及接口電路系統(tǒng)圖
圖2中,以蜂窩射頻設(shè)備中的所有模擬和數(shù)字并處理GSM終端的語音和數(shù)據(jù)信號(hào)功能的GSM基帶處理器作為核心的MC39i模塊,還包括內(nèi)存、射頻模塊、電源模塊、40針零插力連接器裝置(ZIF)、天線接口等。指令、數(shù)據(jù)、語音信號(hào)和控制信號(hào)的雙向傳輸是通過ZIF連接SIM卡支架和電源實(shí)現(xiàn)。而本系統(tǒng)無線傳輸?shù)腉PRSModem采用西門子的低功雙頻GSM/GPRS模塊 MC39i[8],如圖 3 所示。
圖3 MC39i結(jié)構(gòu)圖
系統(tǒng)軟件分為3個(gè)部分:(1)端節(jié)點(diǎn)的數(shù)據(jù)采集和傳輸。(2)ARM+Linux的嵌入式系統(tǒng)軟件。(3)ZigBee網(wǎng)關(guān)的數(shù)據(jù)接收和發(fā)送。采用Jennic套件作為開發(fā)工具應(yīng)用在端節(jié)點(diǎn)和ZigBee網(wǎng)關(guān)之間的通信能搭建起ZigBee網(wǎng)絡(luò)平臺(tái),讓系統(tǒng)有較高的穩(wěn)定性,減少開發(fā)的難度[9]。大規(guī)模、較復(fù)雜結(jié)構(gòu)的程序,采用C語言進(jìn)行編寫,可以提高軟件代碼的可讀性,縮短開發(fā)周期。端節(jié)點(diǎn)實(shí)現(xiàn)數(shù)據(jù)采集和傳送的程序流程,如圖4所示。
圖4 終端節(jié)點(diǎn)控制程序流程圖
數(shù)據(jù)經(jīng)過ARM+Linux嵌入式模塊處理后由GPRS發(fā)送到網(wǎng)絡(luò)層,而這些來自節(jié)點(diǎn)的數(shù)據(jù)則由ZigBee網(wǎng)關(guān)將網(wǎng)絡(luò)連接并參與管理之后接收[10]。程序流程圖如圖5所示。
圖5 ZigBee網(wǎng)關(guān)控制設(shè)備流程圖
通過基于套接字的網(wǎng)絡(luò)通信和撥號(hào)上網(wǎng)來完成GPRS數(shù)據(jù)傳輸,也就是PPP撥號(hào)連接(Point to Point Protocol Over Ethernet,基于以太網(wǎng)的點(diǎn)對(duì)點(diǎn)協(xié)議連接),PPP連接建立后就可以通過GPRS上網(wǎng),并在套接字(Socket)的輔助下達(dá)成與服務(wù)器之間的通信。
服務(wù)器/客戶機(jī)模式(Server/Client)是由客戶端向服務(wù)器發(fā)送服務(wù)請(qǐng)求并由服務(wù)器接收后給出相應(yīng)服務(wù)的典型模式,應(yīng)用于網(wǎng)站中不同主機(jī)間的通信,如圖6所示。
圖6 Socket通信示意圖
利用VC++開發(fā)遠(yuǎn)程監(jiān)控中心服務(wù)器上運(yùn)行的數(shù)據(jù)接收程序,具有效率高、功能強(qiáng)大、操作靈活等特點(diǎn)。用戶在客戶端使用數(shù)據(jù)瀏覽和下載、提取和更新操作[5]以獲取指定IP地址服務(wù)器數(shù)據(jù)庫中的數(shù)據(jù),而這些數(shù)據(jù)是由監(jiān)聽Socket請(qǐng)求建立網(wǎng)絡(luò)存儲(chǔ)上去,即被程序采納 B/S(Brower/Server)體系結(jié)構(gòu)的主要作用[11]。
設(shè)計(jì)了基于GPRS和ZigBee技術(shù)的無線傳感器網(wǎng)絡(luò)防溺水系統(tǒng)。在GPRS,ZigBee協(xié)議的基礎(chǔ)上,簡(jiǎn)要介紹了遠(yuǎn)程監(jiān)控系統(tǒng)實(shí)現(xiàn)的基本原理、無線傳感器網(wǎng)絡(luò)、系統(tǒng)的硬件設(shè)計(jì)、系統(tǒng)軟件開發(fā)流程等。無線傳感器網(wǎng)絡(luò)的分布式性質(zhì)極大地提高了系統(tǒng)的方便性、移動(dòng)性和組網(wǎng)的靈活性,具有良好的應(yīng)用前景。
初步試驗(yàn)結(jié)果表明:(1)采用此種模式建立的無線傳感網(wǎng)絡(luò)具有較高的通信效率和穩(wěn)定可靠性。(2)在網(wǎng)絡(luò)質(zhì)量較好的情況下,GPRS數(shù)據(jù)通信延遲是1~2 s。如果發(fā)送的數(shù)據(jù)量越大,延遲會(huì)越明顯。(3)對(duì)于一個(gè)多節(jié)點(diǎn)的無線傳感網(wǎng)絡(luò),數(shù)據(jù)延遲會(huì)隨著網(wǎng)絡(luò)增大和ZigBee信號(hào)的強(qiáng)弱有明顯的增加。
[1]林少鋒,何一.基于CC2420的ZigBee無線網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].電子設(shè)計(jì)工程,2009(3):25 -27.
[2]陳紅華,徐云和,史曉云.基于GPS和GIS的土地監(jiān)察動(dòng)態(tài)巡查管理系統(tǒng)[J].安徽農(nóng)業(yè)科學(xué),2011(20):33-35.
[3]瞿雷,劉盛德,胡咸斌.ZigBee技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.
[4]高鍵.ZigBee無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的能耗研究[J].電子測(cè)試,2008(2):1-4.
[5]段治超,杜克明,孫忠富,等.基于ARM-Linux和GPRS的農(nóng)業(yè)環(huán)境無線遠(yuǎn)程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)網(wǎng)絡(luò)信息,2008(6):12-15.
[6]李新.基于CC2530的ZigBee網(wǎng)絡(luò)節(jié)點(diǎn)設(shè)計(jì)[J].可編程控制器與工廠自動(dòng)化,2011(3):26-28.
[7]楊瑋,呂科,張棟,等.基于ZigBee技術(shù)的溫室無線智能控制終端開發(fā)[J].農(nóng)業(yè)工程學(xué)報(bào),2010(3):34-36.
[8]王雪芳,何峰,郭文爽.基于ZigBee技術(shù)的智能家居系統(tǒng)[J].電子科技,2014 27(10):14 -18.
[9]施承.基于ZigBee協(xié)議的無線傳感器網(wǎng)絡(luò)關(guān)鍵技術(shù)的研究和實(shí)現(xiàn)[D].南京:東南大學(xué),2006.
[10]劉強(qiáng).無線傳感器網(wǎng)絡(luò)組網(wǎng)關(guān)鍵技術(shù)[D].成都:電子科技大學(xué),2012.
[11]馬龍,汪煒.基于ZigBee和Android手機(jī)的分布式光伏電站監(jiān)控系統(tǒng)[J].計(jì)算機(jī)與現(xiàn)代化,2014(4):21-24.