王秀清,趙 娜,陳 浩,楊世鳳
(天津科技大學電子信息與自動化學院,天津 300222)
近年來,溫室技術在我國得到了越來越廣泛地應用.傳統的溫室監控需要大量的傳輸線來組建傳感器網絡,因而浪費資源,系統龐大、復雜,也限制了網絡的動態變化和部分功能的實現.如果在溫室中應用無線傳感網絡,將有助于解決原有有線系統的局限性[1].目前溫室監測的環境參數主要包括溫度、濕度、CO2濃度、光照度等,很少有將作物的聲發射信號作為溫室監測的參數.
目前的無線傳感網絡多采用單片機和射頻芯片結合作為傳感器節點,即基于芯片的開發.ZigBee射頻芯片需結合單片機進行數據接收和發送,除編寫相關的應用軟件以外,還需移植通信協議,因此開發周期較長.無線通信模塊 SZ05內移植了完整的協議棧,組網方便,模塊會自動把數據通過無線網絡發送到目標地址,無須關注復雜的路由等細節,極大地減少了開發周期[2].
本文利用低功耗單片機 ATmega8、無線通信模塊 SZ05和環境因子檢測傳感器構建了一個無線傳感網絡,實時采集溫室的環境因子數據,并通過無線通信傳輸到上位機監控中心.在上位機平臺對數據進行處理和分析,同時結合聲發射信號傳感器檢測的聲發射信號和作物病害的各種癥狀對作物病害種類進行診斷.
以番茄為研究對象,構建了溫室環境監測病害診斷系統,其結構如圖 1所示.系統采用環境因子傳感器檢測溫室溫度、濕度、CO2濃度和光照度,并將環境因子數據通過無線網絡傳送至路由節點,經路由節點轉發至協調器節點,通過串口傳輸給上位機.采用PAC公司的 AEwin軟件系統、PCI–2型數據采集卡和 R15型聲發射傳感器來檢測植物受病害脅迫時發出的超聲信號.聲發射傳感器隨機置于溫室中被檢測的番茄植株上,每間隔一段時間調整聲發射傳感器的位置,以測試不同范圍植株的聲發射信號.
上位機以 LabVIEW 為軟件平臺,對數據進行實時的波形顯示和分析處理.根據植物病害時聲發射信號的頻次變化規律,結合番茄病害癥狀,利用神經網絡與專家系統建立了番茄病害診斷神經網絡系統,方便用戶準確判斷病害種類.

圖1 環境監測病害診斷系統結構框圖Fig.1 Structural diagram of the environmental monitoring and crop disease diagnosing system
無線傳感網絡系統由計算機、網絡協調器節點、路由節點和傳感器節點組成[3].ATmega8單片機和環境因子傳感器組成信息采集節點,并通過無線通信模塊SZ05實現環境信息的遠程傳輸.多個傳感器節點置于不同的監測區域,將數據經路由節點傳送至協調器節點,然后通過串口傳給上位機作進一步的分析處理.協調器節點也可以接收來自上位機的控制指令,向各個傳感器節點轉發.針對于具體溫室環境,可根據情況加入路由器節點來增強網絡的穩定性.計算機負責監測整個溫室的環境狀況,包括設定參數和系統的實時監控,通過串口總線接收協調器節點傳送的數據,完成數據管理和歷史資料統計分析,實現數據的顯示和存儲等功能.
在本系統中,節點采用模塊化設計,協調器節點、路由節點和傳感器節點采用共同的核心模塊,不同的節點配以不同的擴展模塊[4–5].
傳感器節點硬件結構如圖 2所示.傳感器節點主要由處理器模塊、無線通信模塊、環境因子傳感器和電源模塊組成.

圖2 傳感器節點結構示意圖Fig.2 Structural diagram of wireless sensor network node
2.1.1 處理器模塊
處理器模塊是傳感器節點的核心,負責整個節點的設備控制、數據整合與傳輸等多個關鍵任務[5].處理器采用 ATmega8單片機,主要完成 A/D轉換、數據讀取、數據的初步處理等功能.利用 ATmega8內部的A/D轉換器,對來自端口C的8路單端輸入進行采樣,將輸入信號轉換成 10位數字信號并存于ADCL和ADCH兩個寄存器之中.當上位機查詢時,通過自帶的通用同步和異步串行接收器和轉發器(USART),將環境因子數據通過無線傳感網絡發出.
2.1.2 無線通信模塊
選用的順舟科技 SZ05系列嵌入式無線通信模塊繼承了符合ZigBee協議標準的射頻收發器和微處理器,具有通信距離遠、抗干擾能力強、組網靈活、性能可靠穩定等優點,可實現點對點、一點對多點、多點對多點設備間的數據透明傳輸,可組成星型、樹型和蜂窩型網狀網絡結構.SZ05系列無線通信模塊可作為中心協調器、路由器和終端節點,通過跳線設置或軟件配置即可實現不同的設備功能.在SZ05模塊的引腳中,ZIG7(CENTER)為中心節點選擇引腳,低電平有效;ZIG8(DEVICE)為終端節點選擇引腳,低電平有效;ZIG7、ZIG8都為高電平或懸空,即為路由節點;ZIG9(CONFIG)為配置引腳,低電平有效.無線通信模塊與處理器接口電路如圖 3所示.無線通信模塊的 RX、TX端口通過 MAX232芯片與ATmega8的串口相連,進行數據的傳輸.

圖3 ATmega8與SZ05接口電路原理圖Fig.3 Interface circuit diagram of ATmega8 and SZ05
2.1.3 環境因子傳感器選型
本系統采用干濕球傳感器、光照度傳感器、CO2傳感器等測量環境參數.
干濕球傳感器用來測量溫室的溫度和相對濕度,是一種間接測量相對濕度的方法.本系統采用北京華夏日盛科技有限公司生產的干濕球傳感器,溫度量程為-55~125,℃,濕度量程為0~100%.
光照度傳感器選用北京前景惠幫溫室控制技術有限公司生產的 LT/G光照度傳感器,其測量范圍為0~2×105,lx,輸出為 0~20,mA/4~20,mA/0~5,V/0~10,V.
CO2傳感器選用北京前景惠幫溫室控制技術有限公司生產的 LT/CO2二氧化碳傳感器(瑞典紅外線),其可測量的體積分數范圍為 0~0.3%,輸出為0~10,V/4~20,mA/0~20,mA,該傳感器響應時間短,測量精度高,能夠滿足系統的需要.
下位機軟件使用 ICCAVR編寫程序.程序總流程采用查詢方式,局部采用中斷方式.
2.2.1 傳感器節點的軟件設計
傳感器節點主要負責采集環境因子參數,并將這些數據傳送給路由器或協調器.同時,接收來自協調器的命令,并根據這些命令進行相關操作[6–7].節點上電時,首先進行初始化操作,包括 ZigBee堆棧的初始化及系統的初始化;傳感器節點上電后掃描所有可用信道來找到臨近協調器,申請加入此網絡;最后,在收到允許加入的確認之后加入網絡,將網絡地址發送給協調器后讀取傳感器數據并發送至協調器.設計中采用定時喚醒的方式連接協調器,接收或發送數據.其他時間則轉入休眠模式,節點功耗降到最低.
2.2.2 協調器節點的軟件設計
協調器節點的功能包括:網絡創建與管理、數據傳輸.網絡創建與管理功能是指負責組建 ZigBee網絡,分配網絡地址及維護綁定表.協調器節點通過掃描一個空信道來創建一個新網絡,維護一個目前連接設備的列表.數據傳輸功能是指充當 ZigBee網絡與RS–232總線之間的網關,將兩個使用不同協議的網絡連接起來,對兩個網絡中的使用不同傳輸協議的數據進行轉換.協調器節點軟件流程如圖4所示.

圖4 協調器節點的軟件流程圖Fig.4 Flowchart of coordinator
基于模塊化設計思想,采用 LabVIEW 設計上位機監測界面,主要由數據處理與顯示、數據報警、數據存儲、病害診斷、病害查詢、幫助等模塊組成[8].用戶通過對圖形化按鈕的操作,便可實現溫度、濕度、光照度、CO2濃度、聲發射頻次的顯示、處理、保存等功能;此外,還可以在環境因子和聲發射頻次超出預設值時提示管理人員查看作物的生長狀態,以對作物的病害進行及時的診斷和防治.上位機運行界面如圖5所示.

圖5 上位機軟件界面Fig.5 Interface of the computer software
聲發射傳感器檢測的聲發射信號通過 PCI總線上傳至上位機,經過統計分析處理,將聲發射頻次日統計特性進行顯示.溫室溫度、濕度、CO2濃度、光照度等環境因子數據通過串口上傳至上位機,并進行實時顯示和統計.計算機與單片機通信前應進行串口初始化[9].串口通信協議包格式見表1.

表1 串口通信協議包格式Tab.1 Data frame format of serial communication Byte
上位機接收數據包后,分別將采集到的環境參數進行保存、顯示,并判斷是否超限,是否需要報警.對接收到數據,可通過波形圖表顯示控件進行逐點顯示并連線,繪制趨勢曲線.在控制界面還可以顯示某一環境因子的當前采集值、采集個數、累加值、平均值、最大值、最小值等數據.
不同的作物對環境參數的要求不同,同一作物在不同發育期對環境參數亦有不同的要求.因此要及時調整報警參數,以更好地滿足作物生長所需的環境.當環境因子高于或低于所設定的報警值時,報警燈亮,對管理者提出警示.
數據存儲模塊將測量數據以文件形式存儲到上位機硬盤上,以采集日期作為文件名稱,文件內容包括采集時間和數據,便于需要時進行查找和分析.數據文件的回調界面如圖6所示.

圖6 波形回調界面Fig.6 Interface of waveform callback
選取番茄作為實驗對象,發現植株在正常狀態下日聲發射頻次統計呈現“雙峰”狀(見圖 6(b)).而在染病時日聲發射頻次會有明顯的激增,為平常的10倍左右(見圖 6(c))[10–11].因此,可將聲發射信號突然激增作為其生長狀況發生變化的重要信號,即作為病害的診斷依據.當聲發射信號發生異常變化時,系統彈出報警對話框,提示用戶對植株外觀進行觀察,并調用病害診斷模塊進行診斷.診斷后可以參考病害查詢模塊中給出的建議進行防治.
在番茄的病害診斷模塊中,將神經網絡與專家系統結合[12],將實際的知識轉換成計算機能夠識別的知識.采用 3層 BP網絡結構,輸入為用戶觀察到的癥狀,輸出為番茄病害名稱.通過對由領域專家提供的番茄病害原始資料和數據的分析,共歸納出 13種常見疾病,提煉出對應特征癥狀 55條.將相關癥狀表示成若干診斷參數并進行編碼,診斷參數包括:發病部位、病斑形狀、病斑顏色、霉層形狀、霉層顏色和其他癥狀,共 6個.神經網絡的建立和訓練在Matlab中進行,然后通過 LabVIEW的 Matlab Script節點導入上位機主程序.
管理人員在進行病害診斷時,只需要在上位機界面上對 6個診斷參數進行選擇即可得出番茄所患病害.在病害查詢模塊中管理者選擇病害名稱即可查詢該病害的防治方法和發病規律,提高病害防治的效率和準確度.病害診斷和病害查詢模塊的界面如圖7所示.

圖7 病害診斷與查詢界面Fig.7 Interface of disease diagnosis and disease query
當作物聲發射頻次發生突變時(圖 6(c)),系統提示管理人員對作物進行病害診斷并施藥.管理人員通過觀察作物病害癥狀,在上位機圖 7(a)界面中選擇“葉片”“水浸狀”“黃綠相間”等病害癥狀,經系統診斷得出“番茄葉霉病”的結論.在病害查詢模塊選擇“番茄葉霉病”即顯示出相應防治方法,如圖7(b)所示.
本文應用單片機 ATmega8、無線通信模塊 SZ05及環境因子檢測傳感器構建了無線傳感網絡,實現了對溫室中環境參數的實時采集和分析.采用 R15型聲發射傳感器采集聲發射信號,根據作物病害時聲發射信號頻次的變化規律,結合作物病害癥狀能夠在上位機溫室實時監測系統進行病害預測和診斷.在今后的應用中,可以考慮采用多通道的數據采集卡,用多路聲發射傳感器監測多個植株的生長狀況,或者通過無線方式采集多路聲發射信號,實現對溫室作物聲發射信號的全面監測.
[1] 肖國坤. 基于茶園旱情監測的無線傳感器網絡節點的研究[D]. 廣州:華南農業大學,2010:18–53.
[2] 楊真. 基于 ZIGBEE的無線環境監測網絡設計[D].金華:浙江師范大學,2011:18–20.
[3] 李明,王睿,石磊. 一種 ZigBee無線傳感器網絡節點的設計[J]. 自動化技術與應用,2008,27(1):91–94.
[4] 張瑞瑞,陳立平,郭建華,等. 農田土壤監測無線傳感器網絡通信平臺[J]. 農業工程學報,2008,24(增刊2):81–84.
[5] 李莉,張彥娥,王懋華,等. 現代通信技術在溫室中的應用[J]. 農業機械學報,2007,38(2):195–200.
[6] 程雪,王彬,徐艷,等. 網絡技術在溫室智能控制系統中的應用[J]. 微計算機信息,2009,25(1-1):46–47,67.
[7] 劉濤,趙計生. 基于 ZigBee技術的農田自動節水灌溉系統[J]. 測控技術,2008,27(2):95–97,99.
[8] 霍曉靜. 作物水脅迫聲發射監測系統的研究及應用[D]. 保定:河北農業大學,2002:11–48.
[9] 任秀麗,于海斌. ZigBee無線通信協議實現技術的研究[J]. 計算機工程與應用,2007,43(6):143–145.
[10] 王秀清,游國棟,楊世鳳. 基于作物病害脅迫聲發射的精準施藥[J]. 農業工程學報,2011,27(3):205–209.
[11] Andrade-Sanchez P. Performance assessment of wireless sensor networks in agricultural setting[C] //Proceedings of 2007 ASABE Annual International meeting. St.Joseph,United States:American Society of Agricultural and Biological Engineers,2007:1-10.
[12] 周小燕. 棉花病害診斷專家系統研究[D]. 北京:中國農業大學,2005.