陳少峰,鄧周虎,謝 冰,房鼎益,陳曉江
(西北大學信息科學與技術學院,陜西西安 710127)
無線傳感器網絡、主要應用于軍事、工農業、生物醫療、環境保護等領域進行監測、跟蹤以及偵查等[1,2],通常是在環境較為惡劣、地處偏遠、電力供應不完善、無公網覆蓋的野外環境中使用,因此,現有的無線傳感器網絡(WSNs)網關很難實現惡劣環境下的數據傳輸。
物聯網網關作為連接感知網絡與傳統通信網絡/互聯網的橋梁,既要實現感知網絡與現有的通信網絡/互聯網的無縫連接,又要完成對傳感器網絡和感知節點的管理與控制,在整個無線傳感器網絡中起到樞紐作用。常用無線傳感器網絡網關與公網之間的數據傳輸方式分為有線和無線兩大類。一般是通過網關內置的以太網接口/公共電話網接口/現場總線/WLAN/GPRS/GSM/3G(TD-SCDMA)/藍牙等模塊實現公網的接入[3~5],基本可以滿足復雜環境下的數據轉發需求,但存在數據處理能力有限、蓄電池供電不足導致的生存周期短等問題,而且在無公共網絡覆蓋地區無法實現數據的轉發。
本研究小組在使用無線傳感器網絡技術進行秦嶺野生動物資源智能感知研究項目中,需要在秦嶺北麓金絲猴保護區部署無線傳感器網絡監測野外環境下野生動物生存狀態,但由于無公眾網絡的支持,無法實時獲取無線傳感網采集的數據,只能由人工定期到采集現場提取網關存儲數據,使數據獲取的實時性和完整性大打折扣。因此,設計一種適用于無公網覆蓋地區的無線傳感器網絡數據遠程傳輸系統具有十分重要的意義。
為了使無公網覆蓋區域的無線傳感器網絡數據實現遠距離傳輸,需要結合不同頻段無線通信技術的特點,采用跨頻段轉接技術,結合2.4GHz頻段的高速率優勢與UHF/VHF頻段遠距離傳輸的良好性能,構建集成有2.4 GHz頻段收發模塊和UHF/VHF頻段收發模塊的數據傳輸系統[6,7]。
該系統由部署在無公網覆蓋區域的數據差轉單元和部署在有公網覆蓋區域的轉接單元2個部分組成。分布在無公網監測區域內的Zig Bee節點采集數據通過無線多跳的方式發送給數據差轉單元,該單元接收到數據并處理后,再通過UHF/VHF頻段遠程中轉傳輸給部署在有公網覆蓋區域的轉接單元;轉接單元接收到數據后,由公網接入單元根據其所處網絡環境,選擇有線方式(如,以太網、公共電話網和現場總線等)或無線方式(如,WLAN/GPRS/GSM/3G(TD-SCDMA)/藍牙等)接入公網,實現Zig Bee節點與遠程監控中心的數據通信。由于UHF/VHF頻段無線數傳模塊最大通信距離可根據其發射功率在5~50 km范圍內調整,使用中可根據實際應用情況通過多級中繼延伸覆蓋范圍,所以,該傳輸方法與公網相結合幾乎可以達到無縫覆蓋。適用于無網絡覆蓋地區的數據遠程中轉傳輸方法如圖1。

圖1 適用于無網絡覆蓋地區的數據遠程中轉傳輸方法Fig 1 Remote relay transmission method of data suitable for areas without network coverage
該系統包括數據差轉單元和轉接單元兩部分,其系統結構框圖如圖2。其中,數據差轉單元由數據匯聚模塊、ARM微處理器、UHF/VHF頻段無線數傳模塊、電源管理模塊組成。轉接單元由UHF/VHF頻段無線數傳模塊、ARM微處理器、GPRS模塊/WAN模塊、電源管理模塊組成。

圖2 系統結構框圖Fig 2 Structure block diagram of system
ARM微處理器作為系統的核心[8],分別在數據差轉單元和轉接單元中負責系統各線程任務的管理和協調、處理傳感器節點的數據、將采集的有效信息中轉傳輸到遠程監測中心、執行監測中心的控制指令和控制系統的休眠調度等。設計采用S3C2440A為控制器電路的微處理器芯片,嵌入式操作系統Linux管理各個任務的協調和調度。該芯片采用了ARM920t內核,集成了外部存儲控制器(SDRAM控制和片選邏輯)、LCD控制器、4通道DMA、3通道UART、2通道SPI、2端口USB、4通道PWM定時器、1通道內部定時器、看門狗定時器、130個通用I/O口和24通道外部中斷源等,具有功能強大、功耗低等優點,其全靜態設計適合于對成本和功耗敏感型的應用開發。微處理器的外部存儲單元包括SDRAM、用于固化程序的FLASH和暫存采集數據的32 Gbit SD卡。外圍接口電路包括一個異步串行接口(UART1)、由MAX232擴展的2個RS—232串口、1個HOST USB1.1接口、1個40針的LCD液晶屏接口、GPIO擴展接口和支持ADS1.2和keil等軟件單步調試用的JTAG接口。系統核心電路如圖3。

圖3 系統核心電路框圖Fig 3 Core circuit block diagram of system
數據匯聚模塊用于接收并匯聚Zig Bee節點采集的數據[9],射頻芯片采用CC2420。該芯片是一個基于無線傳感器網絡Zig Bee/802.15.4標準的片上系統,工作在2.4 GHz頻段,接收靈敏度-98 dBm,抗鄰道干擾能力為39 dB,數據傳輸速率250為kbps。它有多種工作模式,適合于能耗極低的系統,通過SPI接口與數據差轉單元的ARM微處理器連接實現與Zig Bee節點的數據收發。以CC2420為核心的數據匯聚模塊電路原理圖如圖4所示。

圖4 CC2420數據匯聚模塊電路原理圖Fig 4 Principle diagram of data aggregation module circuit of chip CC2420
UHF/VHF頻段無線數傳模塊由ISM頻段無線芯片Si4432和外圍電路組成,該芯片是一種高集成度、低功耗、多頻段的EZRadioPRO系列無線收發芯片,可工作在UHF/VHF頻段。芯片內部集成分集式天線、喚醒定時器、數字調制解調器、可配置的GPIO等,天線接收靈敏度-124 dBm。通過SPI接口、GPIO接口與ARM微處理器連接,實現數據差轉單元與轉接單元之間的遠距離傳輸。以Si4432為核心的UHF/VHF頻段無線數傳模塊電路原理圖如圖5所示。

圖5 UHF/VHF頻段無線數傳模塊電路原理圖Fig 5 Principle diagram of UHF/VHF band wireless data transmission module circuit
系統軟件設計為多線程任務方式,采用同一進程多個線程的方式來實現多任務并發執行,以提高用戶界面的響應能力和數據交換的效率。軟件包括用戶控制命令接收線程、無線傳感網接收線程和休眠調度線程。用戶控制命令接收線程負責與用戶交互操作,接收處理用戶的控制命令;休眠調度線程用于控制系統自身的休眠喚醒;無線傳感網接收線程用于控制數據匯聚模塊實時監聽采集數據。主程序流程如圖6所示。

圖6 主程序流程圖Fig 6 Flow chart of main program
針對野外環境下系統電源供給不足的問題,設計中采用太陽能與風能互補作為其主要能源,該方法在一定程度上解決了能源補給的問題,為進一步提高其野外生存周期,設計中引入節點的休眠調度思想,從根本上降低系統的平均功耗。為減小傳輸延遲,系統采用的休眠調度算法與無線Zig Bee節點算法必須保持一致,設計中把整個系統看作一個Sink節點,和無線Zig Bee節點一起采用相同的休眠調度算法。由于UHF/VHF頻段無線數傳模塊靜態功耗和發射功率較大,對該部分的休眠調度管理是本設計的重點,UHF/VHF頻段無線數傳模塊具有3種節電模式:硬件喚醒模式、串口喚醒模式和空中喚醒模式。硬件喚醒模式是其中最省電的一種,休眠電流小于10μA,設計中將UHF/VHF頻段無線數傳模塊的硬件喚醒控制引腳SLE與ARM微處理的GPIO接口相連,使GPIO接口輸出高低電平來控制其休眠喚醒。ARM微處理器也具有睡眠喚醒功能,在SLEEP模式下,給CUP和內部邏輯單元供電的電源被關閉,只有喚醒模塊與相應GPIO接口是工作的。這種狀態下,可以通過外部中斷或RTC(real-time clock)中斷將系統從睡眠狀態中喚醒。由于ARM微處理器具有實時時鐘芯片RTC,數據差轉單元與轉接單元之間可通過時鐘芯片RTC實現精確的時間同步,因此,該系統的休眠調度策略具有較好的簡易性、穩定性及精確性。圖7是系統的休眠調度時序圖。

圖7 休眠調度時序圖Fig 7 Timing diagram of sleep scheduling
將傳感網數據差轉裝置布置在西北大學信息科學與技術學院大樓前的空地里,在其周圍的樹上隨機部署了30個傳感器節點Micaz motes,用于采集溫濕度、光照等環境數據,采集周期為10 s,無線數傳—公網轉接裝置布置在大樓的樓頂,它們和監測中心的服務器一起組成一套完整的傳感網監測系統。
中轉傳輸系統丟包的主要原因有以下幾種可能:
1)從無線傳感器網絡的節點匯聚數據時丟包;
2)UHF/VHF頻段遠距離傳輸時丟包;
3)將數據發送到遠程監測中心時丟包。
對于第1種可能性,同時部署了一個Sink節點,使用其匯聚的數據包作為參考,即可以測試出系統從無線傳感器網絡的節點匯聚數據時丟包情況;對于第2種可能性,由于傳感器節點發送的數據包中有節點ID和數據包的序列號字段,因此,可以通過ARM微處理器單元統計接收到的數據包的序列號來查看是否有丟包情況;對于第3種可能性,可以直接通過遠程監測中心的數據庫統計接收到的數據包的序列號來查看是否有丟包情況。每隔5 min進行一次丟包統計,總丟包率的實驗結果如圖8所示。

圖8 數據丟包率Fig 8 Packet loss of data
系統的平均丟包率為0.17%,且隨著時間的增加,丟包率無較大的起伏變化,說明該系統具有足夠的穩定性。
中轉傳輸系統的時延是指從數據匯聚單元接收到數據包開始到將數據發送給遠程監測中心之間的時間間隔。在此項測試中,當數據匯聚單元接收到數據包時,將數據包的接收時間記錄在傳感網差轉模塊的ARM微處理器單元文件中,當無線數傳—公網轉接模塊將數據包發送給遠程監測中心時,再把數據包的發送時間記錄在無線數傳—公網轉接模塊的ARM微處理器單元的文件中,即可計算出每個數據包的中轉傳輸時延。系統每接收并發送500個數據包計算一次數據包平均轉發時延。最終統計結果如圖9所示。

圖9 數據延遲統計圖Fig 9 Statistics charts of data of delay
計算求平均后得到系統的平均時延為81 ms,且隨著傳輸數據包個數的增加,時延無較大的起伏變化,說明該系統具有足夠的穩定性與魯棒性。
本文提出了適用于無網絡覆蓋地區的無線傳感器網絡遠程數據中轉傳輸系統的設計和實現方案,該系統集成了UHF/VHF頻段無線遠程傳輸功能,能在環境較為惡劣、偏遠、基礎通信設備不完善、無公共通信網絡覆蓋的野外環境下,對無線傳感器網絡進行數據采集、顯示、存儲以及控制等,實現傳感網的遠程監測功能,且該系統不僅利用太陽能及風能為系統補給能源,還運用休眠調度策略,降低系統的功耗,提高了系統的野外生存周期,滿足無線傳感器網絡在野外長期監測的應用需求。實驗表明:該系統可靠性高、抗干擾能力強,同時具有很好的通用性。
[1]崔光照,陳富強,張海霞,等.基于ARM9的無線傳感器網絡網關節點設計[J].電子技術應用,2008(11):115-118.
[2]張希偉,陳貴海.基于SDMA應用的移動Sink節點的設計與實現[J].計算機研究與發展,2012,49(3):541-549.
[3]Mainwaring Alan,Polastre Joseph,Szewczyk Robert,et al.Wireless sensor networks for habitat monitoring[C]//Int'l Conf on Wireless Sensor Networks and Applications,New York:ACM,2002:88-97.
[4]朱 瑩,林基明.基于Zig Bee無線傳感器網絡網關的設計與實現[J].傳感器與微系統,2009,28(7):80-85.
[5]Li Chih Ching,Hou An Sang,Wu Chih Chen,et al.A real time remote control architecture using mobile communication[C]//Instrumentation and Measurement Technology Conference,Anchorage,AK:IEEE,2002:901-906.
[6]Kalden R,Meirick I,Meyer M,et al.Wireless Internet access based on GPRS[J].Personal Communications,2000,7(2):8-18.
[7]西安大唐電信有限公司.一種無線傳感器網絡網關設備及其信道算法:中國 ,CN102523633A[P].2012-06-27.
[8]東南大學.具有終端功能的無線傳感器網絡多接口網關設備及其應用:中國 ,CN101252553B[P].2011-04-20.
[9]桑 濤,黃廷輝,吳勇華.多無線傳感器網絡互聯技術研究[J].傳感器與微系統,2011,30(7):10-12.