李鵬 范澤華 何良榮 王德勝
摘要:為提高大型果園中基于聲測傳感器害蟲檢測的實時性與準確性,設計了一種應用于大型果園害蟲檢測的混合型無線傳感器網絡算法。將果園劃分為不重疊的區域,均勻地布置超聲活動傳感器并覆蓋整個果園;然后,傳感器網絡周期性地采集并上報害蟲的活動信息,此外傳感器網絡通過事件驅動的網絡協議上報突發性害蟲的活動信息。基于QualNet 6.1網絡仿真器的試驗結果表明,本算法提高了傳感器網絡的數據傳輸速度、數據包傳遞率與網絡生命期,且滿足了果園害蟲檢測所需的穩定性與實時性。
關鍵詞:大型果園;聲測法;害蟲檢測;無線傳感器網絡;物聯網;農業工程技術
中圖分類號: S126文獻標志碼: A
文章編號:1002-1302(2017)11-0178-05[HS)][HT9.SS]
當前廣泛應用于農業害蟲檢測的工程技術主要包含聲測法、近紅外光譜法、X射線法、電導法、微波雷達檢測法、圖像識別法等[1-4]。聲測法、X射線法可檢測鉆蛀蟲與非鉆蛀蟲,電導法、微波雷達檢測法對鉆蛀蟲的檢測較為有效,X圖像識別法對非鉆蛀蟲較為有效,近紅外光譜主要用于果實的害蟲檢測,難以檢測樹枝內害蟲。聲測法不僅能夠檢測不同類型的害蟲,而且可確定蟲害的程度,實現方法快速簡單且靈敏度高。
目前研究人員大多通過聲測傳感器采集害蟲的聲音并傳遞至上位機,上位機過濾噪聲并提取聲音的特征,然后判斷聲音是否來自于害蟲[5]。覆蓋大型果園的傳感器網絡(WSN)規模較為龐大,一般采用WSN分簇路由協議對感應數據進行轉發與聚集[6]。為了提高WSN的網絡生命期,傳統的WSN分簇路由協議一般為周期性路由協議,這難以快速檢測果園中突發性蟲害,所以將周期性路由協議與事件驅動的路由協議[7]結合可提高果園害蟲檢測的準確率與時效性。
為滿足大型果園害蟲檢測的應用要求與傳感器網絡原有的特點,本研究設計了一種新的WSN分簇路由算法。該算法包含基于事件的路由算法與周期性的路由協議,且將WSN的網絡生命期、數據包傳遞率與數據傳輸速度作為網絡的優化目標,實現了高效、高精度的數據分簇路由算法。
1基于分簇的數據聚集算法
本研究采用基于分簇的數據聚集方案。首先,將大型果園劃分為若干個不重疊的子區域(每個子區域稱為1個簇),每個簇內布置若干個傳感器以覆蓋該區域的所有農作物,每個簇內設置1個簇頭與若干個簇內成員節點,傳感器通過感應聲波的變化來檢測害蟲的活動。本研究采用超聲活動傳感器(簡稱UAS)[8]檢測果園內害蟲的活動,UAS的傳播距離為10~15 m,UAS發出的聲波頻率約為40 kHz,然后對收到的反射聲波進行處理,害蟲活動的聲音會對傳感器聲波產生干擾(多普勒效應),UAS由此判斷害蟲的活動。本研究基于QualNet 6.1網絡仿真器[9]進行仿真,該仿真器對大規模網絡的仿真性能較好。
圖1是本算法的流程框圖,在網絡分簇與數據聚集的過程中完成網絡的初始化,根據UAS的通信范圍布置合適的WSN拓撲結構,簇頭與基站均維護了分簇的信息,各節點布置完成之后基于節點的剩余能量與時間戳選擇各簇的簇頭。各節點間的通信采用不同的數據包與握手包格式,數據包中包含唯一的傳感節點身份ID,設為SNID,簇頭也有1個額外的身份ID,[JP3]設為CHID,假設SNID與CHID均為從0開始的連續數。[JP]
1.1傳感節點的分布
將傳感器均勻地布置于果園中,根據UAS的通信范圍選擇每個節點的放置位置,一般每個傳感器覆蓋10~12棵果樹。網絡分簇的目標是最小化農田的分簇數量,每個分簇中選擇1個UAS作為該簇的簇頭,然后將網絡組織為多跳網絡,將數據傳遞至基站(圖2)。
1.2數據聚集算法的分簇
初始化階段,將WSN根據以傳感器為圓心的實心圓分成不重疊、規模接近的分簇,傳感節點與其他簇簇頭的距離應在h個單位長度,其中h個單位長度的距離為h≥2,該性質可減少簇間的信號干擾,并且可提高覆蓋率、減少分簇數量。將1個單位的半徑(可靠通信)作為理想的通信范圍,將2個單位的半徑作為最大通信范圍。
開始階段在每個分簇中根據UAS的通信范圍布置9個傳感節點,將簇頭放于區域的中心(圖3)。每個傳感節點維護1個列表,記錄其當前狀態、簇頭ID、簇內成員、與BS的距離(跳數)、剩余能量。在WSN的運行過程中,簇頭的能耗速[FL)]
度快于其簇內成員,所以后期須要選擇新的簇頭,從而平衡各節點的能耗以延長全網的生命期。
本研究為傳感節點設置5個狀態,每次分簇程序均須要改變各節點的狀態,狀態變化策略如圖4所示。節點狀態說明該節點在其生命期內的責任:(1)空閑,節點不屬于任何的簇;(2)簇頭請求,節點請求成為其通信范圍內的簇頭;(3)簇頭,節點為簇頭,負責簇內數據的聚集;(4)簇內成員,節點是簇CHID的簇內成員;(5)外部成員,節點是CHID的簇外成員。[FL)]
1.3感應數據的輪詢機制
使用輪詢機制檢測害蟲,自動檢查指定時間內的害蟲,傳感節點保存當前的狀態信息、SNID、簇頭數據庫、簇內成員列表、節點與BS的距離、節點剩余能量等。設置2bit的數據域說明傳感器能否識別到害蟲,以及終端用戶是否采取相應的應對措施。
1.4感應數據的聚集
各傳感節點監控害蟲的活動,CHID所轄區域內的每個傳感節點將識別的害蟲信息傳遞至簇頭CHID,傳感節點將害蟲識別信息以事件數據包的格式發送到其簇頭。簇頭維護1個數據庫,記錄簇內每個成員的狀態,如果簇頭或簇內成員收到錯誤的數據包,則直接忽略該數據包。簇頭維護1個數據庫,記錄各事件數據包中的信息。CHID從事件數據包中提取SHID,然后搜索數據庫的對應入口,將其數據包的信息保存于簇頭的數據庫中。如果識別到害蟲,則將SHID的狀態更新為1,簇頭聚集所有簇內的信息之后,將數據組織并轉發到基站。相鄰的傳感節點所采集的數據可能包含相同的信息,這些冗余數據會引起多余的數據傳輸,也導致了多余的能耗。簇頭使用Kolmogorov的零一法則[10]減少簇頭中的冗余數據(圖5)。[FL)]
[FL(2K2]本研究的混合WSN模型中事件驅動數據的傳輸協議也將害蟲的識別狀態傳遞至簇頭。將時間t分為S個時隙,假設S=S[1],S[2],…,S[n]是傳感器感應事件集合,每個時隙中將簇內傳感器排列為1個線性序列,聚集數據(0或者1)說明害蟲是否出現。如果同一時隙內某個簇內多個傳感器均檢測到了害蟲,為了減少傳輸的數據量,使用Kolmogorov的零一法則[10]融合檢測的害蟲信息,結果如圖5所示。
[JP2]不同時隙內采集的感應信息通過OR運算進行處理,如公式1所示。如果S中有多個傳感器含有相同的信息,則僅發送1次,算法檢查是否有節點的狀態為1,將狀態為1的節點ID保存于一個列表中。圖6-a是害蟲活動狀態的檢測算法。[JP]
[HT6,6"][JZ(]Daggregate(Ai,Aj)=[JB({]1if[(Ai
1.5簇頭的數據聚集過程
簇頭的數據聚集過程將數據包組織成幀,幀內包含以下信息:節點狀態、簇頭ID、下一跳的路由、基站、檢測到害蟲的傳感節點列表。簇頭搜索其路由表獲得通往基站的路由,將聚集的數據傳遞至基站。簇頭等待基站的響應ACK。簇頭在等待響應的時間內可能檢測到新的害蟲事件,為了區分新、舊害蟲事件的信息,為簇頭設置2個狀態(圖7)。簇頭發出聚集數據包之后,狀態“簇內成員”與“簇外成員”之間的簇內成員變為狀態DPsending,如果同一個簇頭已經檢測到害蟲,則該簇頭的狀態變為DPCHsending。如果簇頭收到基站的ACK,根據“簇內帶寬”與“簇外帶寬”的范圍將DPsending的狀態變回“簇內成員”或者“簇外成員”,同時簇頭的DPCHsending也變回為簇頭。圖6-b所示是簇頭的數據聚集處理與傳輸程序。
1.6BS的數據收集
基站中僅維護了檢測出害蟲的傳感節點的狀態,為果園的每棵樹均設置1個唯一的身份ID,終端用戶可訪問Sink節點來人工地處理識別的害蟲。為了維護所有傳感節點的狀態,在一個事件的檢測中,BS從簇頭收集所有聚集的數據包。基站維護1個數據庫,記錄各簇頭的簇內成員狀態、簇頭ID、人工應對害蟲的措施及各果樹的狀態。
基站收到聚集數據包后,將受影響的簇內成員保存于數據庫中,更新數據庫中對應簇內成員的信息。圖8的算法是Sink節點數據聚集的處理流程,基站返回的ACK中綁定了簇頭列表,并發送至各簇頭。
2仿真試驗結果與分析
基于QualNet 6.1網絡仿真器對分簇路由協議進行仿真,評估網絡協議的性能與效率。本研究仿真環境包含網絡模型、傳播模型、流量模型3個模型:(1)網絡模型。傳感節點分布于(l×b) m2的區域內,共包含N個節點。(2)傳播模型。傳播常數為β的自由空間模型。將一跳距離r作為節點的傳輸范圍。(3)流量模型。使用果園害蟲的實際數據。每個節點具有1個通信帶寬,設為BWsinglehop。
的一種改進方案,該文獻試驗結果顯示EE-LEACH獲得了較大的改進。將本算法與EEDAT、EE-LEACH進行對比,橫向地評估本算法的性能。
2.2數據包聚集比例結果與分析
將數據包長度設為12B,統計50~250個節點的數據包聚集比例,結果如圖9所示。本算法的平均聚集比例比 EEDAT 低11%,比EE-LEACH低8%,原因在于隨著節點數量的增加,傳遞的數據包數量增加,導致冗余信息隨之增加,本方案通過壓縮數據包減少了冗余的信息,此外,本方案的簇頭將簇內成員感應的相同事件進行合并處理,有效地過濾了冗余的數據。數據包聚集比例越高說明網絡容量越高,網絡的能耗越低。
圖10是端到端延遲與節點數量的關系。當節點數量達到250時,EEDAT的端到端延遲平均約為2.43 s,EE-LEACH 的端到端延遲平均約為2.48 s。本方案端到端延遲平均約為2.31 s,EEDAT與EE-LEACH的延遲均高于本算法,EEDAT為了識別冗余的數據包,維護1個數據包的隊列信息;而EE-LEACH評估了信號強度并將強度表示為1個序列數,所以引入了更多的延遲。而本方案并未使用隊列機制,并使用Kolmogorov的零一法則[10]過濾了冗余的數據包,所以本方案的端到端延遲較低。
2.4數據包傳遞率
由于本算法使用“簇內帶寬”與“簇外帶寬”2個通信范圍,隔離了2個帶寬的擁塞,在節點增加的情況下,可獲得更高的傳遞率。圖11是3種路由協議的數據包傳遞率與數據傳輸速度的關系。由本算法產生的傳輸延遲更低,導致擁塞較低且數據包丟失率降低,在采用了QualNet 6.1網絡仿真器
模擬220 kb/s傳輸速率的大型果園多節點傳輸環境下,數據傳遞率仍高于60%,所以本方案的數據包傳遞率較高。
3結束語
本研究采用超聲活動傳感器檢測果園內害蟲的活動,實現了聲測法的果園害蟲自動檢測技術。為了滿足大型果園害蟲檢測的應用要求與傳感器網絡原有的特點,設計1種新的WSN分簇路由算法。本算法包含基于事件的路由算法與周期性的路由協議,并獲得了較好的WSN網絡性能。
參考文獻:
[1]王愛新,李春友,張喆. 基于計算機視覺的農業圖像害蟲定位檢測算法[J]. 江蘇農業科學,2016,44(7):361-364.
[2]郭敏,張明真. 基于GMM和聚類方法的儲糧害蟲聲信號識別研究[J]. 南京農業大學學報,2012,35(6):44-48.
[3]秦昕,郭敏. 2種儲糧害蟲活動聲信號的檢測及其功率譜分析[J]. 華中農業大學學報,2012,31(5):656-660.
[4]張紅濤,毛罕平,韓綠化. 近紅外高光譜成像技術檢測糧倉米象活蟲[J]. 農業工程學報,2012,28(8):263-268.
[5]陳光絨,李小琴. 基于物聯網技術的農作物病蟲害自動測報系統[J]. 江蘇農業科學,2015,43(4):406-410.
[6]李建洲,王海濤,陶安. 一種能耗均衡的WSN分簇路由協議[J]. 傳感技術學報,2013,26(3):396-401.
[7]鐘智,羅大庸,樊曉平,等. 基于事件驅動的無線傳感器網絡數據收集協議[J]. 計算機工程,2012,38(11):69-72.
[8]Zhang F,Chen J M,Li H B,et al. Distributed active sensor scheduling for target tracking in ultrasonic sensor networks[J]. Mobile Networks and Applications,2012,17(5):582-593.
[9]Mishra S,Das A X,Jaisawal A K. Effect of mobility and different data traffic in wireless ad-hoc network through qualnet[J]. International Journal of Engineering and Advanced Technology,2013,2(5):364-368.[ZK)]
[10]Doll A. Kolmogorovs zero-one law[J]. Formalized Mathematics,2010,17(2):73-77.
[11]Harb H,Makhoul A,Tawil R,et al. Energy-efficient data aggregation and transfer in periodic sensor networks[J]. Iet Wireless Sensor Systems,2014(4):149-158.
[12]Arumugam G S,Ponnuchamy T. EE-LEACH:development of energy-efficient LEACH protocol for data gathering in WSN[J]. EURASIP Journal on Wireless Communications and Networking,2015(1):1-9.[ZK)][HT][HJ][FL)]