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