嚴 妍, 孫 桐, 嚴錫君
(1.河海大學 水利水電學院,江蘇 南京 210098;2.河海大學 計算機與信息學院,江蘇 南京 210098)
精準農業被稱為人類農業生產的一場革命,并依托于信息技術。準確實時的信息供給是精準農業的首要條件,它的實現依賴于大氣溫濕度、風速、光照強度況等多種先進的傳感器。近年來,出現了許多采用無線公共網絡等無線通訊方式進行農、林、牧業的遠程監測的研究。這些無線通信技術的優勢是傳輸速度快、信息量大、傳距離輸遠,但因其功耗高、時延長、通信費用高等因素,在農業環境監測中未得到廣泛的應用[1-2]。
無線傳感器網絡有監測精度高、實時性好、容量大、覆蓋區域大、功耗和成本低等顯著優點,適合于精準農業環境監控系統的實現。開發用于精準農業監測的無線傳感器網絡,研究降低其能耗、提高其生命周期和可靠性等關鍵技術,具有重要的實用價值。
大多數精準農業監測系統中,各個監測區域相距較近,所布設的光照、濕度和溫度等傳感器節點可在同一無線節點的輻射區域內;同時,控制中心一般都可持續提供能量,匯聚節 點能量不限。為此,監測WSN采用星型拓撲結構,系統結構圖如圖1所示。

圖1 精準農業監測WSN總體架構圖Fig.1 Structure of precision agriculture WSN
1)信息中心 即管理節點,負責接收匯聚節點通過GPRS網絡上行發送的數據,并提供Web服務功能;當傳感器節點工作失常,或者“死亡”時,應能及時采取相應措施。
2)匯聚節點 周期性發送信標幀,接收傳感器節點發送的數據幀并通過GPRS網絡向信息中心轉發;接受信息中心查詢命令,并向傳感器節點下傳完成查詢任務。
3)傳感器節點 采集監測信息,并及時地向匯聚節點上傳數據;當某個節點的能量低于一定門限時能及時上傳低電量告警信息。傳感器節點采用電池供電,在非工作狀態時一般處于休眠狀態。
精準農業監測WSN具有單覆蓋、匯聚節點能量不限、實時性要求不高等特點,為了降低節點功耗、延長網絡生命周期,改進傳統的MAC協議,提出一種基于TDMA的星型MAC協議—START-MAC協議。
START-MAC協議采用信標幀、確認幀和數據幀3種幀格式。其中信標幀用于匯聚節點的廣播同步;確認幀用于匯聚節點應答傳感器節點;數據幀則用于承載傳感器節點向匯聚節點發送的數據。
協議中匯聚節點始終處于發送/接收轉換的狀態,處于發送和處于接收狀態的時間比為1:1。匯聚節點每隔周期T即發送一定數目的廣播幀對全網進行廣播,該廣播幀包括了匯聚節點的同步信息。網內要傳送數據的節點任意接收一幀廣播幀,否則就丟棄。接收了廣播幀的節點延時一段時間后待匯聚節點轉入接收狀態,在規定的時隙里發送數據,否則轉入睡眠。這樣既避免了數據碰撞,又降低了能量的損耗。
將傳感器節點一個周期內協議步驟歸納如下:
1)控制傳感器模塊采集數據,判斷是否為新數據,是則進入步驟2)否則進入步驟4);
2)接收一幀信標幀,然后進入低功耗狀態;
3)延時至規定時隙,向匯聚節點發送數據;
4)進入低功耗,延時至下一周期。
匯聚節點一個周期內協議步驟如下:
1)進入發送狀態;
2)若有確認幀需要發送,則發送確認幀,然后發送信標幀對全網進行時間同步;
3)轉入接收狀態,接收數據;
4)若接收狀態接收到數據,需要進行存儲、串口操作或LCD顯示,則進行該操作,結束后轉到步驟1。
一個完整的START-MAC協議如圖2所示。

圖2 通信協議結構圖Fig.2 Communication-structure protocol
低功耗是設計傳感器節點的關鍵指標,MSP430F149MCU芯片因具有超低功耗、較高的數據處理速度快和系統工作穩定而廣泛地應用于的傳感器節點設計[3-4]。選用MSP430F149和CC1000射頻芯片設計溫濕度傳感器節點和光照傳感器節點。
1)溫濕度傳感器節點硬件設計
選用SHT10作溫濕度傳感器,采集農田的大氣溫度和濕度,溫濕度傳感器節點硬件原理圖如圖3所示。

圖3 溫濕度傳感器節點硬件原理圖Fig.3 Hardware diagram of temperature and humidity sensor node
MSP430F149通過I/O口對SHT10的配置操作以及兩者間的數據通信,采用模擬串行方式對CC1000芯片進行配置操作、設置無線傳輸模塊的收發頻率、發送功率、數據速率等參數,采用中斷方式,對CC1000寫入待發送的數據或讀出接收到的數據。
2)光照傳感器節點硬件設計
選用TSL230B作光照強度傳感器,采集農田作物的光照情況,硬件原理圖如圖4所示。
MSP430F149通過I/O口對TSL230B進行配置操作,通過P1.1讀取芯片的輸出信號,計算頻率值,并通過換算,獲得最終的光照值。

圖4 光照強度傳感器節點硬件原理圖Fig.4 Hardware diagram of light intensity sensor node
3)傳感器節點軟件設計
上電后,進行系統初始化。然后,節點進行判斷,若節點為新節點,則進行申請入網操作。若不為新節點,則操作傳感器模塊進行數據采集,并與上一周期采集數據進行比較,若相同則丟棄,直接進入下一步,若不同,則記錄該數據。若檢測電量周期超時,則啟動ADC模塊進行低電量監測,若達到門限值,則標記告警數據幀。如果當前周期內,傳感器節點有數據幀或告警數據幀需要發送,則等待兩個信標幀的時長接收一幀信標幀,然后關閉無線傳輸模塊進入LPM3低功耗狀態,延時一段時間到規定時隙發送數據,完成后再進入低功耗狀態等待下一周期。傳感器節點主程序流程圖如圖5所示。

圖5 傳感器節點主程序流程圖Fig.5 Main program flow chat of sensor nodes
1)匯聚節點硬件設計
選用高性能的ARM處理器LM3S6918設計匯聚節點,無低功耗要求,該節點硬件主要有時鐘模塊、射頻模塊、外部存儲模塊、電源模塊、串口模塊、看門狗及復位電路、LCD顯示模塊等模塊組成。匯聚節點的硬件結構如圖6所示。

圖6 匯聚節點硬件結構圖Fig.6 Sink Node hardware structure chart
當匯聚節點進行數據上傳及存儲時,要記錄當前的時間信息,選用PCF8563作實時鐘芯片,MCU通過I2C控制該芯片,由鋰電池為實時時鐘提供后備電源,采用CN3052A芯片控制鋰電池的充電過程[5]。LM3S6918提供2個全雙工同步/異步串口,擴展成一個RS232和一個RS485,分別用于連接顯示設備和GPRS模塊。
2)匯聚節點軟件設計
匯聚節點上電后,首先進行系統初始化。然后進入周期的開始狀態,即信標幀發送階段。在此階段中,若上一周期匯聚節點接收到來自傳感器節點的加入申請或是告警數據幀,則需在該階段的開始對傳感器節點回復確認幀。接下來,匯聚節點開始發送信標幀,對網內欲發送數據的傳感器節點進行時間同步。發送完所有的信標幀后,匯聚節點即轉入接收狀態,接收數據幀。等待接收周期結束后,匯聚節點進行其他操作,若接收到傳感器數據,則讀當前時間值,將其存儲在外部Flash中,并通過串口上傳信息中心。若接收到加入申請或告警數據,則也通過串口操作上傳信息中心,待處理完成后標記確認幀。完成這些操作后,匯聚節點進入下一周期。匯聚節點的主程序流程圖如圖7所示。
1)丟包率測試
實驗條件:射頻收發頻率為433.3 MHz,節點發送增益為10 dBm,數據傳輸速率為9.6 kbit/s,數據編碼格式為NRZ碼,調制方式為FSK。

圖7 匯聚節點主程序流程Fig.7 Main program process of sink node
取一傳感器節點于實驗室環境下,傳感器節點共發送3 000個數據包,根據匯聚節點接收到的數據包數,得到單點通信時網絡的丟包率,實驗結果如表1所示;取3個傳感器節點于實驗室環境下,對匯聚節點發送不同數據。每個節點均發送3 000個數據,根據匯聚節點接收到的數據包數,得到多點通信時網絡的丟包率,實驗結果如表2所示。從表中數據可以看到,系統的每個節點丟包率都在1%以下,能滿足系統的要求。

表1 單點通信丟包率Tab.1 Packet loss rate of one-point

表2 多點通信丟包率Tab.2 Packet loss rate of multi-point communication
2)功耗測試
傳感器節點主要有發射數據、接收數據、采集數據和休眠狀態4個狀態。經實驗測得,傳感器節點發射狀態電流為24.72 mA,接收狀態電流為12.74 mA,活動狀態電流為2.53 mA,溫濕度傳感器節點采集數據時電流為3.20 mA,光照傳感器節點采集數據時電流為3.40 mA,節點處于休眠狀態時電流為2.1 μA。
射頻模塊從休眠狀態轉入接收或發射狀態所需時間為4.3 ms和4.6 ms。傳感器節點接收信標幀和發送數據幀的時間經試驗測得分別為9.45 ms和7.95 ms。同時溫濕度傳感器采集一次完整數據的時間為4.1 ms,光照傳感器采集一次完整數據的時間約為100 μs。
當系統采用電池供電時,系統的平均工作電流決定了系統的壽命[6]。根據系統平均工作電流的計算公式,Iavg為系統活動狀態時的工作電流與活動時間的乘積與休眠狀態電流與休眠時間的乘積之和再去除以總的工作時間。假設節點每個工作周期為2 s,節點每兩個周期上傳一次數據,每個周期都采集數據??梢杂嬎愠鰷貪穸葌鞲衅鞴濣c平均工作電流為。

因為光照傳感器節點采集數據時間遠小于溫濕度傳感器節點,因此平均工作電流小于0.111 8 mA。節點的工作截止電壓為2.7 V。假設采用常見的兩節1.5 V、容量為2 700 mAh左右的鋰電池供電,根據鋰電池放電特性,當放電至2.7 V時,電池容量損耗約2 000 mAh??梢源致怨烙嫵龉濣c的使用壽命約為2 000/0.1118=17 889 h=745.4天。可以看到,傳感器節點應當可以使用1年以上。
無線傳感器網絡的生命周期是其應用的關鍵,從硬件設計和通訊協議兩個方面降低節點功耗,是目前普遍采用的主要措施。選用低功耗的MCU和射頻器件,可降低節點的工作功耗,選用具有微靜態功耗的MCU,能夠大大降低節點的平均功耗。針對小規模的農田WSN星型結構的特殊性,采用改進的MAC協議,可進一步降低節點功耗,延長網絡的生命周期。對中、大規模的農田WSN,研究其網絡結構及其通訊協議,以達到各種精準農業監測WSN的實際需要。
[1]韓安太,何勇,李劍鋒,等.基于無線傳感器網絡的多參數糧情自動檢測系統設計[J].農業工程學報,2011,27(7):231-237.HAN An-tai,HE Yong,LI Jian-feng,et al.Design multiparameter grain for automatic detection system based on wireless sensor networks[J].Agricultural Engineering,2011,27(7):231-237.
[2]李建中,高宏.無線傳感器網絡的研究進展[J].計算機研究與發展,2008,45(1):1-15.LI Jian-zhong,GAO Hong.The development of study on wirelesssensornetworks[J].Study and developmentof computer,2008,45(1):1-15.
[3]秦龍.MSP430應用系統開發典型實例[M].北京:中國電力出版社,2005.
[4]沈建華,楊艷琴,翟驍曙.MSP430系列16位超低功耗單片機實踐與系統設計[M].北京:清華大學出版社,2005.
[5]Fei Ldp.Energy-efficient MAC protocols for Wireless Sensor Networks[J].Information and Communications Technologies,2009,3(3):32-36.
[6]孫利民,李建中,陳渝.無線傳感器網絡[M].北京:清華大學出版社,2005.