摘 要:無線傳感器網絡(WSN)的研究與開發是目前信息領域的一個熱點,其應用涉及農業在內的眾多領域。針對山地茶園的旱情監測,設計并實現一種以S3C2410為核心的WSN網關,通過外擴多個功能模塊構建了硬件平臺,利用Bootloader,Linux內核和JFFS2文件系統移植搭建了軟件平臺。網關與匯聚節點之間采用串口方式進行通信,通過開發以太網應用程序和利用PPP協議,實現了網關與遠程終端之間的以太網有線通信和GPRS無線通信。對以太網和GPRS的連接及遠程傳輸的可靠性進行了測試試驗。結果表明,當GPRS遠程傳輸的間隔時間在4 s以上時,采用TCP/IP模式進行數據傳輸的丟包率不超過0.2%。
關鍵詞:無線傳感器網絡; 旱情監測; 嵌入式網關; 軟件平臺
中圖分類號:TN92 文獻標識碼:B
文章編號:1004-373X(2010)10-0165-03
Design of an ARM-based WSNs Gateway for Drought Monitoring in Tea Plantation
WANG Wei-xing1,ZHONG Rong-min2, JIANG Sheng1
(1. South China Agricultural University, Guangzhou 510642, China;
2. Guangzhou South Electric Power Science and Technology Development Co., Ltd.,Guangzhou 510245, China)
Abstract:A WSNs gateway design scheme is demonstrated by combining the features of wired and wireless communication network and embedded system technology, and aiming at the remote data transmission of wireless sensor networks for drought monitoring in tea plantation. The new gateway adopts micro-controller S3C2410 as a kernel of the hardware platform. Its peripheral circuits mainly include the storage system, serial communication interface Ethernet interface, and other circuit systems, and provide the serial-port extension unit and standard interface unit. The Linux embedded operating system was selected to supervise hardware and serve as the software platform. The gateway exchanges information with the on-board sink node in serial mode and communicates with far terminals by wired Ethernet or wireless GPRS. The rests were conducted for validating the reliability of the gateway connection to Ethernet and GPRS. The results show that the packet loss rate does not exceed 0.2% when GPRS communication adopts TCP/IP mode with the transmission interval≥4 s.
Keywords:wireless sensor network; drought monitoring; embedded system gateway; software platform
0 引 言
干旱缺水歷來是制約我國農業生產發展的主要因素,南方省份如廣東,盡管年降雨量充足,但季節性缺水仍然嚴重,粵北、粵西地區尤為突出。茶樹對土壤含水量的要求較高,水分不足或過多均不利于茶樹生育[1],因而建立茶園旱情監測系統,將為解決茶園合理灌溉的問題提供了科學依據。
近年來,無線傳感器網絡(WSN)技術迅速興起,成為國內外研究的熱點領域之一[2]。WSN中的網關負責接收來自節點發送的數據,并將數據進行修正、融合等處理,然后通過以太網或GPRS等網絡基礎設施將數據接入Internet網絡,傳送至遠程終端,同時對遠程終端所發出的指令進行及時處理和反應[3]。目前,國內外對于信息遠距離傳輸的WSN網關技術已進行了初步的研究。美國的Crossbow公司曾推出具有以太網通信功能的匯聚節點產品并得到應用。哈佛大學的科研人員曾經在位于厄瓜多爾境內的唐古拉瓦火山(volean thngnrahua)附近部署了小范圍的無線傳感器網絡,采集次聲波信號并傳送至匯聚節點,通過接入無線Modem將數據轉發到9 km外火山監測站的PC機上[4]。國內一些大學和科研機構也提出了有關解決方案,比較典型的是基于有線通信方式的以太網和無線通信方式的GPRS[5],CDMA[6]等WSN網關,也有利用公共電話網(PSTN),采用撥號方式建立臨時連接方式實現遠程數據傳輸的網關[7]。
這里的目的是設計、開發一種適合于山地茶園旱情的WSN網關。
1 網關系統的硬件設計
系統的硬件組成框圖如圖1所示,由CPU、存儲模塊、本地連接模塊、簇內網絡連接模塊以及簇外網絡連接模塊組成。
圖1 硬件組成框圖
系統采用三星公司的S3C2410作為CPU。S3C2410是一款基于ARM920T內核的16/32位RISC嵌入式處理器,內部有內存管理單元(memory manager unit,MMU),可以穩定運行在266 MHz。
存儲模塊由FLASH存儲器、SDRAM以及SD卡組成。其中,FLASH 7存儲器采用三星公司的K9F1208UDM NAND FLASH;內存SDRAM部分采用Hynix Semiconductor公司的HY57V561620芯片;S3C2410帶有SD卡接口,系統擴展出SD卡插槽,用SD卡擴展數據存儲空間。
本地連接模塊由串口電路、USB接口電路以及JTAG接口電路3部分組成。串口電路用于系統調試以及連接(自身)匯聚節點的DB51針擴展接口。USB接口用來連接USB設備,以及實現與工作站連接、下載Linux內核等功能。該模塊還提供了JTAG接口,方便用戶進行JTAG調試。
簇內網絡連接模塊主要負責網關與匯聚節點的連接,匯聚節點通過DB51針連接器與網關本地連接模塊中DB9串口連接,實現了網關與匯聚節點的連接功能。
簇外網絡連接模塊的功能是實現網關系統利用以太網或GPRS網絡接入Internet進行數據傳輸,供遠程終端進行數據查詢以及遠程監控。簇外連接模塊由以太網接口電路以及GPRS接口電路組成。
2 網關系統軟件平臺搭建
Linux是內核可裁剪、重新配置的操作系統。在ARM平臺上移植Linux 嵌入式操作系統的工作分為建立交叉編譯環境、Bootloader移植、Linux內核(kernel)移植、文件系統移植和系統驅動程序設計等[8]。Linux系統移植示意圖如圖2所示。
圖2 Linux系統移植示意圖
交叉編譯環境是由編譯器、連接器和解釋器組成的綜合開發環境,可以將應用程序轉換成能在目標機上運行的二進制代碼。
Bootloader是嵌入式系統上電后執行的第一個軟件代碼。它的主要運行任務就是將內核映像從硬盤上讀到 RAM 中,然后跳轉到內核的入口點去運行,即開始啟動操作系統。
文件系統是指在物理設備上的任何文件組織和目錄,它構成了Linux系統上所有數據的基礎。該系統選用JFFS2作為文件系統。
在Linux中,設備驅動程序的設計和使用一般有兩種方式可供選擇。第一種方式是將設備驅動程序作為可加載的模塊,動態地加載到內核,模塊是內核的一部分,但以獨立的個體形式存在;第二種方式是將設備驅動程序作為內核代碼的一部分編譯到內核中去,是以內核模式運行的。本文選用了第二種方式。
3 遠程數據傳輸方式設計與實現
在無線傳感器網絡與外部網絡進行遠程數據傳輸的過程中,網關處于承上啟下的地位,是數據傳輸的中樞節點。本文的通信軟件包括網關與匯聚節點通信模塊和網關與遠程終端通信模塊。
網關與匯聚節點之間的通信主要是指網關接收匯聚節點數據的過程,一般采用串口通信方式。由于Linux內核中已嵌入了串口驅動程序,對串口的操作可通過設備文件來實現。
網關與遠程終端進行數據傳輸則分別通過開發以太網應用程序和利用PPP協議,實現了以太網的有線通信和GPRS的無線通信。采用面向連接的客戶機/服務器模型,其通信過程見圖3。考慮到對數據傳輸的可靠性要求較高,故采用基于TCP的流式套接字(socket)通信機制。
利用Sierra Wireless公司的Aircard750上網卡連接移動GPRS網絡接入Internet,從而實現網卡與遠程監控中心的數據交換。
利用PPP協議棧把數據包封裝成IP包的格式,發送給無線模塊。完成從撥號到最終邏輯通信鏈路的建立需要經過:網關首先通過撥號呼叫ISP,在得到ISP應答后,建立起初始的物理連接,此時可以檢測到載波信號;然后終端與ISP之間開始傳送一系列經過PPP封裝的LCP分組,用于協商選擇將要采用的PPP參數,參數協商完成后開始認證過程;認證成功后,通信雙方開始交換一系列的NCP分組來配置網絡層。對于上層使用IP協議的情況而言,此過程是由IPCP完成的;當NCP配置完成后,邏輯通信鏈路就建立好了,雙方可以開始在此鏈路上交換上層數據。該過程中PPP狀態轉換如圖4所示。
圖3 以太網通信方式網關與遠程終端通信過程
圖4 PPP狀態轉換圖
4 試驗分析
網關系統要完成的主要任務包括采集傳感器節點旱情監測的相關數據,對數據進行處理和封裝后通過以太網或GPRS網絡發送到遠端具有固定公網IP的PC機。為了驗證該網關系統數據傳輸的實時性、可靠性和適應性,分別對以太網連接和GPRS遠程傳輸可靠性進行了測試試驗。
試驗條件:
(1) Ethernet Switch交換機1個,EIA/TIA 568B標準網線(直連網線)2根;
(2) 網關系統1套,采用嵌入式Linux操作系統、以太網口驅動程序、串口數據采集程序、socket套接字聯接程序;
(3) 利用10Base-T 接至網絡的PC機1臺,采用Windows XP操作系統;
(4) Crossbow 公司 MICAz 節點和MTS310傳感器6套,采用Crossbow公司的Moteview監控軟件。
以太網的連接試驗主要是針對網關連接、網關接收匯聚節點數據以及遠程數據傳輸進行測試。網關連接測試是驗證網關嵌入式Linux操作系統、CS8900網卡初始化和驅動程序的運行正常與否,以及網關與監測中心能否通過以太網進行正常的網絡連接。測試網關接收匯聚節點數據的目的主要是驗證SD卡的初始化、驅動程序正常與否,網關能否通過串口讀取匯聚節點所接收的WSN節點數據。試驗證明,網關系統能夠實時采集WSN節點數據,并通過以太網遠程傳輸到監控中心,系統運行穩定可靠。
GPRS數據傳輸可靠性可以由誤碼率和丟包率來衡量。為了節省網絡帶寬,該實驗以丟包率作為分析的主要依據。由于GPRS傳輸延遲的不確定性,數據傳輸的可靠性與數據包的發送時間間隔相關,間隔時間越大,數據傳輸的可靠性就會降低[9]。分別對TCP/IP傳輸和UDP傳輸兩種通信方式進行了測試丟包率試驗,發送間隔時間為1~10 s,每種間隔時間進行500次數據傳輸試驗,計算的丟包率如圖5所示。可以看出,在2種傳輸模式中,4~5 s是1個分界點[10],自此以后丟包率基本趨于穩定,這時的丟包狀況來源于網絡的不可控因素。由于茶園旱情監測對數據傳輸的實時性沒有過高的要求,因此,網關GPRS遠程傳輸采用TCP方式,間隔時間選為5 s。
圖5 TCP與UDP丟包率分析圖
5 結 語
針對目前無線傳感器網絡的應用特點及發展趨勢,結合現今網絡技術、嵌入式系統技術的發展,設計采用嵌入式系統平臺實現多種遠程數據傳輸技術的WSN網關,用于茶園旱情監測系統。網關通過串行口與匯聚節點通信,可以通過以太網或GPRS兩種可選方式監測數據發到遠程監控中心。開發了功能完善的WSN網關應用軟件,在實際應用中取得了良好的效果。隨著3G時代的到來以及工業級3G通信模塊的推出,如何利用網關系統實現WSN與3G的互聯是今后擬研究解決的問題。
參考文獻
[1]吳伯千,潘根生.茶樹對水分脅迫的生理生化反應[J].浙江農業大學學報,1995,21(5):451-456.
[2]孫利民,李建中,陳渝,等.無線傳感器網絡[M].北京:清華大學出版社,2005.
[3]于海斌,曾鵬.智能無線傳感器網絡系統[M].北京:科學出版社,2006.
[4]WERNER-ALLEN G, JOHNSON J, RUIZ M, et al. Monitoring volcanic eruptions with a wireless sensor network[C]//Proceedings of the Second European Workshop on Wireless Sensor Networks. [S.l.]: [s.n.], 2005, 1:108-120.
[5]匡興紅,邵惠鶴.無線傳感器網絡網關研究[J].計算機工程,2007,33(6):228-230.
[6]歐杰峰,劉興華.基于CDMA模塊的無線傳感器網絡網關的實現[J].計算機工程,2007,33(1):115-116.
[7]阮勇,熊靜琪.網絡測控系統及其進展[J].中國測試技術,2003(2):56-57.
[8]鄭靈翔.嵌入式系統設計與應用開發[M].北京:北京航空航天大學出版社,2006.
[9]WU C H, CHANG S C, HUANG Y W. Design of a wireless ARM-based automatic meter reading and control system[C]//Power Engineering Society General Meeting. [S.l.]: [s.n.], 2004, 1:957-962.
[10]鐘榮敏.基于ARM的茶園WSNs旱情監測網關設計[D].廣州:華南農業大學,2009.