基于茶園旱情監(jiān)測系統(tǒng)的WSN網(wǎng)關設計
干旱缺水歷來是制約我國農業(yè)生產(chǎn)發(fā)展的主要因素,南方省份如廣東,盡管年降雨量充足,但季節(jié)性缺水仍然嚴重,粵北、粵西地區(qū)尤為突出。茶樹對土壤含水量的要求較高,水分不足或過多均不利于茶樹生育,因而建立茶園旱情監(jiān)測系統(tǒng),將為解決茶園合理灌溉的問題提供了科學依據(jù)。
近年來,無線傳感器網(wǎng)絡(WSN)技術迅速興起,成為國內外研究的熱點領域之一。WSN中的網(wǎng)關負責接收來自節(jié)點發(fā)送的數(shù)據(jù),并將數(shù)據(jù)進行修正、融合等處理,然后通過以太網(wǎng)或GPRS等網(wǎng)絡基礎設施將數(shù)據(jù)接入Internet網(wǎng)絡,傳送至遠程終端,同時對遠程終端所發(fā)出的指令進行及時處理和反應。目前,國內外對于信息遠距離傳輸?shù)腤SN網(wǎng)關技術已進行了初步的研究。美國的Crossbow公司曾推出具有以太網(wǎng)通信功能的匯聚節(jié)點產(chǎn)品并得到應用。哈佛大學的科研人員曾經(jīng)在位于厄瓜多爾境內的唐古拉瓦火山(volean thngnrahua)附近部署了小范圍的無線傳感器網(wǎng)絡,采集次聲波信號并傳送至匯聚節(jié)點,通過接入無線Modem將數(shù)據(jù)轉發(fā)到9 km外火山監(jiān)測站的PC機上。國內一些大學和科研機構也提出了有關解決方案,比較典型的是基于有線通信方式的以太網(wǎng)和無線通信方式的GPRS,CDMA等WSN網(wǎng)關,也有利用公共電話網(wǎng)(PSTN),采用撥號方式建立臨時連接方式實現(xiàn)遠程數(shù)據(jù)傳輸的網(wǎng)關。
這里的目的是設計、開發(fā)一種適合于山地茶園旱情的WSN網(wǎng)關。
1網(wǎng)關系統(tǒng)的硬件設計
系統(tǒng)的硬件組成框圖如圖1所示。由CPU、存儲模塊、本地連接模塊、簇內網(wǎng)絡連接模塊以及簇外網(wǎng)絡連接模塊組成。
系統(tǒng)采用三星公司的S3C2410作為CPU。S3C2410是一款基于ARM920T內核的16/32位RISC嵌入式處理器,內部有內存管理單元(memory managerunit,MMU),可以穩(wěn)定運行在266 MHz。
存儲模塊由FLASH存儲器、SDRAM以及SD卡組成。其中,F(xiàn)LASH 7存儲器采用三星公司的K9F1208UDM NAND FLASH;內存SDRAM部分采用Hynix Semiconductor公司的HY57V561620芯片;S3C2410帶有SD卡接口,系統(tǒng)擴展出SD卡插槽,用SD卡擴展數(shù)據(jù)存儲空間。
本地連接模塊由串口電路、USB接口電路以及JTAG接口電路3部分組成。串口電路用于系統(tǒng)調試以及連接(自身)匯聚節(jié)點的DB51針擴展接口。USB接口用來連接USB設備,以及實現(xiàn)與工作站連接、下載Linux內核等功能。該模塊還提供了JTAG接口,方便用戶進行JTAG調試。
簇內網(wǎng)絡連接模塊主要負責網(wǎng)關與匯聚節(jié)點的連接,匯聚節(jié)點通過DB51針連接器與網(wǎng)關本地連接模塊中DB9串口連接,實現(xiàn)了網(wǎng)關與匯聚節(jié)點的連接功能。
簇外網(wǎng)絡連接模塊的功能是實現(xiàn)網(wǎng)關系統(tǒng)利用以太網(wǎng)或GPRS網(wǎng)絡接入Internet進行數(shù)據(jù)傳輸,供遠程終端進行數(shù)據(jù)查詢以及遠程監(jiān)控。簇外連接模塊由以太網(wǎng)接口電路以及GPRS接口電路組成。
2 網(wǎng)關系統(tǒng)軟件平臺搭建
Linux是內核可裁剪、重新配置的操作系統(tǒng)。在ARM平臺上移植Linux嵌入式操作系統(tǒng)的工作分為建立交叉編譯環(huán)境、Bootloader移植、Linux內核(kernel)移植、文件系統(tǒng)移植和系統(tǒng)驅動程序設計等。Linux系統(tǒng)移植示意圖如圖2所示。
交叉編譯環(huán)境是由編譯器、連接器和解釋器組成的綜合開發(fā)環(huán)境,可以將應用程序轉換成能在目標機上運行的二進制代碼。
Bootloader是嵌入式系統(tǒng)上電后執(zhí)行的第一個軟件代碼。它的主要運行任務就是將內核映像從硬盤上讀到RAM中,然后跳轉到內核的入口點去運行,即開始啟動操作系統(tǒng)。
文件系統(tǒng)是指在物理設備上的任何文件組織和目錄,它構成了Linux系統(tǒng)上所有數(shù)據(jù)的基礎。該系統(tǒng)選用JFFS2作為文件系統(tǒng)。
在Linux中,設備驅動程序的設計和使用一般有兩種方式可供選擇。第一種方式是將設備驅動程序作為可加載的模塊,動態(tài)地加載到內核,模塊是內核的一部分,但以獨立的個體形式存在;第二種方式是將設備驅動程序作為內核代碼的一部分編譯到內核中去,是以內核模式運行的。本文選用了第二種方式。
3 遠程數(shù)據(jù)傳輸方式設計與實現(xiàn)
在無線傳感器網(wǎng)絡與外部網(wǎng)絡進行遠程數(shù)據(jù)傳輸?shù)倪^程中,網(wǎng)關處于承上啟下的地位,是數(shù)據(jù)傳輸?shù)闹袠泄?jié)點。本文的通信軟件包括網(wǎng)關與匯聚節(jié)點通信模塊和網(wǎng)關與遠程終端通信模塊。
網(wǎng)關與匯聚節(jié)點之間的通信主要是指網(wǎng)關接收匯聚節(jié)點數(shù)據(jù)的過程,一般采用串口通信方式。由于Linux內核中已嵌入了串口驅動程序,對串口的操作可通過設備文件來實現(xiàn)。
網(wǎng)關與遠程終端進行數(shù)據(jù)傳輸則分別通過開發(fā)以太網(wǎng)應用程序和利用PPP協(xié)議,實現(xiàn)了以太網(wǎng)的有線通信和GPRS的無線通信。采用面向連接的客戶機/服務器模型,其通信過程見圖3??紤]到對數(shù)據(jù)傳輸?shù)目煽啃砸筝^高,故采用基于TCP的流式套接字(socket)通信機制。利用Sierra Wireless公司的Aircard750上網(wǎng)卡連接移動GPRS網(wǎng)絡接入Internet,從而實現(xiàn)網(wǎng)卡與遠程監(jiān)控中心的數(shù)據(jù)交換。利用PPP協(xié)議棧把數(shù)據(jù)包封裝成IP包的格式,發(fā)送給無線模塊。完成從撥號到最終邏輯通信鏈路的建立需要經(jīng)過:網(wǎng)關首先通過撥號呼叫ISP,在得到ISP應答后,建立起初始的物理連接,此時可以檢測到載波信號;然后終端與ISP之間開始傳送一系列經(jīng)過PPP封裝的LCP分組,用于協(xié)商選擇將要采用的PPP參數(shù),參數(shù)協(xié)商完成后開始認證過程;認證成功后,通信雙方開始交換一系列的NCP分組來配置網(wǎng)絡層。對于上層使用IP協(xié)議的情況而言,此過程是由IPCP完成的;當NCP配置完成后,邏輯通信鏈路就建立好了,雙方可以開始在此鏈路上交換上層數(shù)據(jù)。該過程中PPP狀態(tài)轉換如圖4所示。
4 試驗分析
網(wǎng)關系統(tǒng)要完成的主要任務包括采集傳感器節(jié)點旱情監(jiān)測的相關數(shù)據(jù),對數(shù)據(jù)進行處理和封裝后通過以太網(wǎng)或GPRS網(wǎng)絡發(fā)送到遠端具有固定公網(wǎng)IP的PC機。為了驗證該網(wǎng)關系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性、可靠性和適應性,分別對以太網(wǎng)連接和GPRS遠程傳輸可靠性進行了測試試驗。
試驗條件:
(1)Ethernet Switch交換機1個,EIA/TIA 568B標準網(wǎng)線(直連網(wǎng)線)2根;
(2)網(wǎng)關系統(tǒng)1套,采用嵌入式Linux操作系統(tǒng)、以太網(wǎng)口驅動程序、串口數(shù)據(jù)采集程序、socket套接字聯(lián)接程序;
(3)利用10Base-T接至網(wǎng)絡的PC機1臺,采用Windows XP操作系統(tǒng);
(4)Crossbow公司MICAz節(jié)點和MTS310傳感器6套,采用Crossbow公司的Moteview監(jiān)控軟件。
以太網(wǎng)的連接試驗主要是針對網(wǎng)關連接、網(wǎng)關接收匯聚節(jié)點數(shù)據(jù)以及遠程數(shù)據(jù)傳輸進行測試。網(wǎng)關連接測試是驗證網(wǎng)關嵌入式Linux操作系統(tǒng)、CS8900網(wǎng)卡初始化和驅動程序的運行正常與否,以及網(wǎng)關與監(jiān)測中心能否通過以太網(wǎng)進行正常的網(wǎng)絡連接。測試網(wǎng)關接收匯聚節(jié)點數(shù)據(jù)的目的主要是驗證SD卡的初始化、驅動程序正常與否,網(wǎng)關能否通過串口讀取匯聚節(jié)點所接收的WSN節(jié)點數(shù)據(jù)。試驗證明,網(wǎng)關系統(tǒng)能夠實時采集WSN節(jié)點數(shù)據(jù),并通過以太網(wǎng)遠程傳輸?shù)奖O(jiān)控中心,系統(tǒng)運行穩(wěn)定可靠。
GPRS數(shù)據(jù)傳輸可靠性可以由誤碼率和丟包率來衡量。為了節(jié)省網(wǎng)絡帶寬,該實驗以丟包率作為分析的主要依據(jù)。由于GPRS傳輸延遲的不確定性,數(shù)據(jù)傳輸?shù)目煽啃耘c數(shù)據(jù)包的發(fā)送時間間隔相關,間隔時間越大,數(shù)據(jù)傳輸?shù)目煽啃跃蜁档?。分別對TCP/IP傳輸和UDP傳輸兩種通信方式進行了測試丟包率試驗,發(fā)送間隔時間為1~10 s,每種間隔時間進行500次數(shù)據(jù)傳輸試驗,計算的丟包率如圖5所示??梢钥闯觯?種傳輸模式中,4~5 s是1個分界點,自此以后丟包率基本趨于穩(wěn)定,這時的丟包狀況來源于網(wǎng)絡的不可控因素。由于茶園旱情監(jiān)測對數(shù)據(jù)傳輸?shù)膶崟r性沒有過高的要求,因此,網(wǎng)關GPRS遠程傳輸采用TCP方式,間隔時間選為5 s。
5 結 語
針對目前無線傳感器網(wǎng)絡的應用特點及發(fā)展趨勢,結合現(xiàn)今網(wǎng)絡技術、嵌入式系統(tǒng)技術的發(fā)展,設計采用嵌入式系統(tǒng)平臺實現(xiàn)多種遠程數(shù)據(jù)傳輸技術的WSN網(wǎng)關,用于茶園旱情監(jiān)測系統(tǒng)。網(wǎng)關通過串行口與匯聚節(jié)點通信,可以通過以太網(wǎng)或GPRS兩種可選方式監(jiān)測數(shù)據(jù)發(fā)到遠程監(jiān)控中心。開發(fā)了功能完善的WSN網(wǎng)關應用軟件,在實際應用中取得了良好的效果。隨著3G時代的到來以及工業(yè)級3G通信模塊的推出,如何利用網(wǎng)關系統(tǒng)實現(xiàn)WSN與3G的互聯(lián)是今后擬研究解決的問題。