王秀清,趙 娜,陳 浩,楊世鳳
(天津科技大學(xué)電子信息與自動(dòng)化學(xué)院,天津 300222)
近年來,溫室技術(shù)在我國(guó)得到了越來越廣泛地應(yīng)用.傳統(tǒng)的溫室監(jiān)控需要大量的傳輸線來組建傳感器網(wǎng)絡(luò),因而浪費(fèi)資源,系統(tǒng)龐大、復(fù)雜,也限制了網(wǎng)絡(luò)的動(dòng)態(tài)變化和部分功能的實(shí)現(xiàn).如果在溫室中應(yīng)用無線傳感網(wǎng)絡(luò),將有助于解決原有有線系統(tǒng)的局限性[1].目前溫室監(jiān)測(cè)的環(huán)境參數(shù)主要包括溫度、濕度、CO2濃度、光照度等,很少有將作物的聲發(fā)射信號(hào)作為溫室監(jiān)測(cè)的參數(shù).
目前的無線傳感網(wǎng)絡(luò)多采用單片機(jī)和射頻芯片結(jié)合作為傳感器節(jié)點(diǎn),即基于芯片的開發(fā).ZigBee射頻芯片需結(jié)合單片機(jī)進(jìn)行數(shù)據(jù)接收和發(fā)送,除編寫相關(guān)的應(yīng)用軟件以外,還需移植通信協(xié)議,因此開發(fā)周期較長(zhǎng).無線通信模塊 SZ05內(nèi)移植了完整的協(xié)議棧,組網(wǎng)方便,模塊會(huì)自動(dòng)把數(shù)據(jù)通過無線網(wǎng)絡(luò)發(fā)送到目標(biāo)地址,無須關(guān)注復(fù)雜的路由等細(xì)節(jié),極大地減少了開發(fā)周期[2].
本文利用低功耗單片機(jī) ATmega8、無線通信模塊 SZ05和環(huán)境因子檢測(cè)傳感器構(gòu)建了一個(gè)無線傳感網(wǎng)絡(luò),實(shí)時(shí)采集溫室的環(huán)境因子數(shù)據(jù),并通過無線通信傳輸?shù)缴衔粰C(jī)監(jiān)控中心.在上位機(jī)平臺(tái)對(duì)數(shù)據(jù)進(jìn)行處理和分析,同時(shí)結(jié)合聲發(fā)射信號(hào)傳感器檢測(cè)的聲發(fā)射信號(hào)和作物病害的各種癥狀對(duì)作物病害種類進(jìn)行診斷.
以番茄為研究對(duì)象,構(gòu)建了溫室環(huán)境監(jiān)測(cè)病害診斷系統(tǒng),其結(jié)構(gòu)如圖 1所示.系統(tǒng)采用環(huán)境因子傳感器檢測(cè)溫室溫度、濕度、CO2濃度和光照度,并將環(huán)境因子數(shù)據(jù)通過無線網(wǎng)絡(luò)傳送至路由節(jié)點(diǎn),經(jīng)路由節(jié)點(diǎn)轉(zhuǎn)發(fā)至協(xié)調(diào)器節(jié)點(diǎn),通過串口傳輸給上位機(jī).采用PAC公司的 AEwin軟件系統(tǒng)、PCI–2型數(shù)據(jù)采集卡和 R15型聲發(fā)射傳感器來檢測(cè)植物受病害脅迫時(shí)發(fā)出的超聲信號(hào).聲發(fā)射傳感器隨機(jī)置于溫室中被檢測(cè)的番茄植株上,每間隔一段時(shí)間調(diào)整聲發(fā)射傳感器的位置,以測(cè)試不同范圍植株的聲發(fā)射信號(hào).
上位機(jī)以 LabVIEW 為軟件平臺(tái),對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)的波形顯示和分析處理.根據(jù)植物病害時(shí)聲發(fā)射信號(hào)的頻次變化規(guī)律,結(jié)合番茄病害癥狀,利用神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)建立了番茄病害診斷神經(jīng)網(wǎng)絡(luò)系統(tǒng),方便用戶準(zhǔn)確判斷病害種類.
圖1 環(huán)境監(jiān)測(cè)病害診斷系統(tǒng)結(jié)構(gòu)框圖Fig.1 Structural diagram of the environmental monitoring and crop disease diagnosing system
無線傳感網(wǎng)絡(luò)系統(tǒng)由計(jì)算機(jī)、網(wǎng)絡(luò)協(xié)調(diào)器節(jié)點(diǎn)、路由節(jié)點(diǎn)和傳感器節(jié)點(diǎn)組成[3].ATmega8單片機(jī)和環(huán)境因子傳感器組成信息采集節(jié)點(diǎn),并通過無線通信模塊SZ05實(shí)現(xiàn)環(huán)境信息的遠(yuǎn)程傳輸.多個(gè)傳感器節(jié)點(diǎn)置于不同的監(jiān)測(cè)區(qū)域,將數(shù)據(jù)經(jīng)路由節(jié)點(diǎn)傳送至協(xié)調(diào)器節(jié)點(diǎn),然后通過串口傳給上位機(jī)作進(jìn)一步的分析處理.協(xié)調(diào)器節(jié)點(diǎn)也可以接收來自上位機(jī)的控制指令,向各個(gè)傳感器節(jié)點(diǎn)轉(zhuǎn)發(fā).針對(duì)于具體溫室環(huán)境,可根據(jù)情況加入路由器節(jié)點(diǎn)來增強(qiáng)網(wǎng)絡(luò)的穩(wěn)定性.計(jì)算機(jī)負(fù)責(zé)監(jiān)測(cè)整個(gè)溫室的環(huán)境狀況,包括設(shè)定參數(shù)和系統(tǒng)的實(shí)時(shí)監(jiān)控,通過串口總線接收協(xié)調(diào)器節(jié)點(diǎn)傳送的數(shù)據(jù),完成數(shù)據(jù)管理和歷史資料統(tǒng)計(jì)分析,實(shí)現(xiàn)數(shù)據(jù)的顯示和存儲(chǔ)等功能.
在本系統(tǒng)中,節(jié)點(diǎn)采用模塊化設(shè)計(jì),協(xié)調(diào)器節(jié)點(diǎn)、路由節(jié)點(diǎn)和傳感器節(jié)點(diǎn)采用共同的核心模塊,不同的節(jié)點(diǎn)配以不同的擴(kuò)展模塊[4–5].
傳感器節(jié)點(diǎn)硬件結(jié)構(gòu)如圖 2所示.傳感器節(jié)點(diǎn)主要由處理器模塊、無線通信模塊、環(huán)境因子傳感器和電源模塊組成.
圖2 傳感器節(jié)點(diǎn)結(jié)構(gòu)示意圖Fig.2 Structural diagram of wireless sensor network node
2.1.1 處理器模塊
處理器模塊是傳感器節(jié)點(diǎn)的核心,負(fù)責(zé)整個(gè)節(jié)點(diǎn)的設(shè)備控制、數(shù)據(jù)整合與傳輸?shù)榷鄠€(gè)關(guān)鍵任務(wù)[5].處理器采用 ATmega8單片機(jī),主要完成 A/D轉(zhuǎn)換、數(shù)據(jù)讀取、數(shù)據(jù)的初步處理等功能.利用 ATmega8內(nèi)部的A/D轉(zhuǎn)換器,對(duì)來自端口C的8路單端輸入進(jìn)行采樣,將輸入信號(hào)轉(zhuǎn)換成 10位數(shù)字信號(hào)并存于ADCL和ADCH兩個(gè)寄存器之中.當(dāng)上位機(jī)查詢時(shí),通過自帶的通用同步和異步串行接收器和轉(zhuǎn)發(fā)器(USART),將環(huán)境因子數(shù)據(jù)通過無線傳感網(wǎng)絡(luò)發(fā)出.
2.1.2 無線通信模塊
選用的順舟科技 SZ05系列嵌入式無線通信模塊繼承了符合ZigBee協(xié)議標(biāo)準(zhǔn)的射頻收發(fā)器和微處理器,具有通信距離遠(yuǎn)、抗干擾能力強(qiáng)、組網(wǎng)靈活、性能可靠穩(wěn)定等優(yōu)點(diǎn),可實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)、一點(diǎn)對(duì)多點(diǎn)、多點(diǎn)對(duì)多點(diǎn)設(shè)備間的數(shù)據(jù)透明傳輸,可組成星型、樹型和蜂窩型網(wǎng)狀網(wǎng)絡(luò)結(jié)構(gòu).SZ05系列無線通信模塊可作為中心協(xié)調(diào)器、路由器和終端節(jié)點(diǎn),通過跳線設(shè)置或軟件配置即可實(shí)現(xiàn)不同的設(shè)備功能.在SZ05模塊的引腳中,ZIG7(CENTER)為中心節(jié)點(diǎn)選擇引腳,低電平有效;ZIG8(DEVICE)為終端節(jié)點(diǎn)選擇引腳,低電平有效;ZIG7、ZIG8都為高電平或懸空,即為路由節(jié)點(diǎn);ZIG9(CONFIG)為配置引腳,低電平有效.無線通信模塊與處理器接口電路如圖 3所示.無線通信模塊的 RX、TX端口通過 MAX232芯片與ATmega8的串口相連,進(jìn)行數(shù)據(jù)的傳輸.
圖3 ATmega8與SZ05接口電路原理圖Fig.3 Interface circuit diagram of ATmega8 and SZ05
2.1.3 環(huán)境因子傳感器選型
本系統(tǒng)采用干濕球傳感器、光照度傳感器、CO2傳感器等測(cè)量環(huán)境參數(shù).
干濕球傳感器用來測(cè)量溫室的溫度和相對(duì)濕度,是一種間接測(cè)量相對(duì)濕度的方法.本系統(tǒng)采用北京華夏日盛科技有限公司生產(chǎn)的干濕球傳感器,溫度量程為-55~125,℃,濕度量程為0~100%.
光照度傳感器選用北京前景惠幫溫室控制技術(shù)有限公司生產(chǎn)的 LT/G光照度傳感器,其測(cè)量范圍為0~2×105,lx,輸出為 0~20,mA/4~20,mA/0~5,V/0~10,V.
CO2傳感器選用北京前景惠幫溫室控制技術(shù)有限公司生產(chǎn)的 LT/CO2二氧化碳傳感器(瑞典紅外線),其可測(cè)量的體積分?jǐn)?shù)范圍為 0~0.3%,輸出為0~10,V/4~20,mA/0~20,mA,該傳感器響應(yīng)時(shí)間短,測(cè)量精度高,能夠滿足系統(tǒng)的需要.
下位機(jī)軟件使用 ICCAVR編寫程序.程序總流程采用查詢方式,局部采用中斷方式.
2.2.1 傳感器節(jié)點(diǎn)的軟件設(shè)計(jì)
傳感器節(jié)點(diǎn)主要負(fù)責(zé)采集環(huán)境因子參數(shù),并將這些數(shù)據(jù)傳送給路由器或協(xié)調(diào)器.同時(shí),接收來自協(xié)調(diào)器的命令,并根據(jù)這些命令進(jìn)行相關(guān)操作[6–7].節(jié)點(diǎn)上電時(shí),首先進(jìn)行初始化操作,包括 ZigBee堆棧的初始化及系統(tǒng)的初始化;傳感器節(jié)點(diǎn)上電后掃描所有可用信道來找到臨近協(xié)調(diào)器,申請(qǐng)加入此網(wǎng)絡(luò);最后,在收到允許加入的確認(rèn)之后加入網(wǎng)絡(luò),將網(wǎng)絡(luò)地址發(fā)送給協(xié)調(diào)器后讀取傳感器數(shù)據(jù)并發(fā)送至協(xié)調(diào)器.設(shè)計(jì)中采用定時(shí)喚醒的方式連接協(xié)調(diào)器,接收或發(fā)送數(shù)據(jù).其他時(shí)間則轉(zhuǎn)入休眠模式,節(jié)點(diǎn)功耗降到最低.
2.2.2 協(xié)調(diào)器節(jié)點(diǎn)的軟件設(shè)計(jì)
協(xié)調(diào)器節(jié)點(diǎn)的功能包括:網(wǎng)絡(luò)創(chuàng)建與管理、數(shù)據(jù)傳輸.網(wǎng)絡(luò)創(chuàng)建與管理功能是指負(fù)責(zé)組建 ZigBee網(wǎng)絡(luò),分配網(wǎng)絡(luò)地址及維護(hù)綁定表.協(xié)調(diào)器節(jié)點(diǎn)通過掃描一個(gè)空信道來創(chuàng)建一個(gè)新網(wǎng)絡(luò),維護(hù)一個(gè)目前連接設(shè)備的列表.?dāng)?shù)據(jù)傳輸功能是指充當(dāng) ZigBee網(wǎng)絡(luò)與RS–232總線之間的網(wǎng)關(guān),將兩個(gè)使用不同協(xié)議的網(wǎng)絡(luò)連接起來,對(duì)兩個(gè)網(wǎng)絡(luò)中的使用不同傳輸協(xié)議的數(shù)據(jù)進(jìn)行轉(zhuǎn)換.協(xié)調(diào)器節(jié)點(diǎn)軟件流程如圖4所示.
圖4 協(xié)調(diào)器節(jié)點(diǎn)的軟件流程圖Fig.4 Flowchart of coordinator
基于模塊化設(shè)計(jì)思想,采用 LabVIEW 設(shè)計(jì)上位機(jī)監(jiān)測(cè)界面,主要由數(shù)據(jù)處理與顯示、數(shù)據(jù)報(bào)警、數(shù)據(jù)存儲(chǔ)、病害診斷、病害查詢、幫助等模塊組成[8].用戶通過對(duì)圖形化按鈕的操作,便可實(shí)現(xiàn)溫度、濕度、光照度、CO2濃度、聲發(fā)射頻次的顯示、處理、保存等功能;此外,還可以在環(huán)境因子和聲發(fā)射頻次超出預(yù)設(shè)值時(shí)提示管理人員查看作物的生長(zhǎng)狀態(tài),以對(duì)作物的病害進(jìn)行及時(shí)的診斷和防治.上位機(jī)運(yùn)行界面如圖5所示.
圖5 上位機(jī)軟件界面Fig.5 Interface of the computer software
聲發(fā)射傳感器檢測(cè)的聲發(fā)射信號(hào)通過 PCI總線上傳至上位機(jī),經(jīng)過統(tǒng)計(jì)分析處理,將聲發(fā)射頻次日統(tǒng)計(jì)特性進(jìn)行顯示.溫室溫度、濕度、CO2濃度、光照度等環(huán)境因子數(shù)據(jù)通過串口上傳至上位機(jī),并進(jìn)行實(shí)時(shí)顯示和統(tǒng)計(jì).計(jì)算機(jī)與單片機(jī)通信前應(yīng)進(jìn)行串口初始化[9].串口通信協(xié)議包格式見表1.
表1 串口通信協(xié)議包格式Tab.1 Data frame format of serial communication Byte
上位機(jī)接收數(shù)據(jù)包后,分別將采集到的環(huán)境參數(shù)進(jìn)行保存、顯示,并判斷是否超限,是否需要報(bào)警.對(duì)接收到數(shù)據(jù),可通過波形圖表顯示控件進(jìn)行逐點(diǎn)顯示并連線,繪制趨勢(shì)曲線.在控制界面還可以顯示某一環(huán)境因子的當(dāng)前采集值、采集個(gè)數(shù)、累加值、平均值、最大值、最小值等數(shù)據(jù).
不同的作物對(duì)環(huán)境參數(shù)的要求不同,同一作物在不同發(fā)育期對(duì)環(huán)境參數(shù)亦有不同的要求.因此要及時(shí)調(diào)整報(bào)警參數(shù),以更好地滿足作物生長(zhǎng)所需的環(huán)境.當(dāng)環(huán)境因子高于或低于所設(shè)定的報(bào)警值時(shí),報(bào)警燈亮,對(duì)管理者提出警示.
數(shù)據(jù)存儲(chǔ)模塊將測(cè)量數(shù)據(jù)以文件形式存儲(chǔ)到上位機(jī)硬盤上,以采集日期作為文件名稱,文件內(nèi)容包括采集時(shí)間和數(shù)據(jù),便于需要時(shí)進(jìn)行查找和分析.?dāng)?shù)據(jù)文件的回調(diào)界面如圖6所示.
圖6 波形回調(diào)界面Fig.6 Interface of waveform callback
選取番茄作為實(shí)驗(yàn)對(duì)象,發(fā)現(xiàn)植株在正常狀態(tài)下日聲發(fā)射頻次統(tǒng)計(jì)呈現(xiàn)“雙峰”狀(見圖 6(b)).而在染病時(shí)日聲發(fā)射頻次會(huì)有明顯的激增,為平常的10倍左右(見圖 6(c))[10–11].因此,可將聲發(fā)射信號(hào)突然激增作為其生長(zhǎng)狀況發(fā)生變化的重要信號(hào),即作為病害的診斷依據(jù).當(dāng)聲發(fā)射信號(hào)發(fā)生異常變化時(shí),系統(tǒng)彈出報(bào)警對(duì)話框,提示用戶對(duì)植株外觀進(jìn)行觀察,并調(diào)用病害診斷模塊進(jìn)行診斷.診斷后可以參考病害查詢模塊中給出的建議進(jìn)行防治.
在番茄的病害診斷模塊中,將神經(jīng)網(wǎng)絡(luò)與專家系統(tǒng)結(jié)合[12],將實(shí)際的知識(shí)轉(zhuǎn)換成計(jì)算機(jī)能夠識(shí)別的知識(shí).采用 3層 BP網(wǎng)絡(luò)結(jié)構(gòu),輸入為用戶觀察到的癥狀,輸出為番茄病害名稱.通過對(duì)由領(lǐng)域?qū)<姨峁┑姆巡『υ假Y料和數(shù)據(jù)的分析,共歸納出 13種常見疾病,提煉出對(duì)應(yīng)特征癥狀 55條.將相關(guān)癥狀表示成若干診斷參數(shù)并進(jìn)行編碼,診斷參數(shù)包括:發(fā)病部位、病斑形狀、病斑顏色、霉層形狀、霉層顏色和其他癥狀,共 6個(gè).神經(jīng)網(wǎng)絡(luò)的建立和訓(xùn)練在Matlab中進(jìn)行,然后通過 LabVIEW的 Matlab Script節(jié)點(diǎn)導(dǎo)入上位機(jī)主程序.
管理人員在進(jìn)行病害診斷時(shí),只需要在上位機(jī)界面上對(duì) 6個(gè)診斷參數(shù)進(jìn)行選擇即可得出番茄所患病害.在病害查詢模塊中管理者選擇病害名稱即可查詢?cè)摬『Φ姆乐畏椒ê桶l(fā)病規(guī)律,提高病害防治的效率和準(zhǔn)確度.病害診斷和病害查詢模塊的界面如圖7所示.
圖7 病害診斷與查詢界面Fig.7 Interface of disease diagnosis and disease query
當(dāng)作物聲發(fā)射頻次發(fā)生突變時(shí)(圖 6(c)),系統(tǒng)提示管理人員對(duì)作物進(jìn)行病害診斷并施藥.管理人員通過觀察作物病害癥狀,在上位機(jī)圖 7(a)界面中選擇“葉片”“水浸狀”“黃綠相間”等病害癥狀,經(jīng)系統(tǒng)診斷得出“番茄葉霉病”的結(jié)論.在病害查詢模塊選擇“番茄葉霉病”即顯示出相應(yīng)防治方法,如圖7(b)所示.
本文應(yīng)用單片機(jī) ATmega8、無線通信模塊 SZ05及環(huán)境因子檢測(cè)傳感器構(gòu)建了無線傳感網(wǎng)絡(luò),實(shí)現(xiàn)了對(duì)溫室中環(huán)境參數(shù)的實(shí)時(shí)采集和分析.采用 R15型聲發(fā)射傳感器采集聲發(fā)射信號(hào),根據(jù)作物病害時(shí)聲發(fā)射信號(hào)頻次的變化規(guī)律,結(jié)合作物病害癥狀能夠在上位機(jī)溫室實(shí)時(shí)監(jiān)測(cè)系統(tǒng)進(jìn)行病害預(yù)測(cè)和診斷.在今后的應(yīng)用中,可以考慮采用多通道的數(shù)據(jù)采集卡,用多路聲發(fā)射傳感器監(jiān)測(cè)多個(gè)植株的生長(zhǎng)狀況,或者通過無線方式采集多路聲發(fā)射信號(hào),實(shí)現(xiàn)對(duì)溫室作物聲發(fā)射信號(hào)的全面監(jiān)測(cè).
[1] 肖國(guó)坤. 基于茶園旱情監(jiān)測(cè)的無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的研究[D]. 廣州:華南農(nóng)業(yè)大學(xué),2010:18–53.
[2] 楊真. 基于 ZIGBEE的無線環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)設(shè)計(jì)[D].金華:浙江師范大學(xué),2011:18–20.
[3] 李明,王睿,石磊. 一種 ZigBee無線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)[J]. 自動(dòng)化技術(shù)與應(yīng)用,2008,27(1):91–94.
[4] 張瑞瑞,陳立平,郭建華,等. 農(nóng)田土壤監(jiān)測(cè)無線傳感器網(wǎng)絡(luò)通信平臺(tái)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2008,24(增刊2):81–84.
[5] 李莉,張彥娥,王懋華,等. 現(xiàn)代通信技術(shù)在溫室中的應(yīng)用[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2007,38(2):195–200.
[6] 程雪,王彬,徐艷,等. 網(wǎng)絡(luò)技術(shù)在溫室智能控制系統(tǒng)中的應(yīng)用[J]. 微計(jì)算機(jī)信息,2009,25(1-1):46–47,67.
[7] 劉濤,趙計(jì)生. 基于 ZigBee技術(shù)的農(nóng)田自動(dòng)節(jié)水灌溉系統(tǒng)[J]. 測(cè)控技術(shù),2008,27(2):95–97,99.
[8] 霍曉靜. 作物水脅迫聲發(fā)射監(jiān)測(cè)系統(tǒng)的研究及應(yīng)用[D]. 保定:河北農(nóng)業(yè)大學(xué),2002:11–48.
[9] 任秀麗,于海斌. ZigBee無線通信協(xié)議實(shí)現(xiàn)技術(shù)的研究[J]. 計(jì)算機(jī)工程與應(yīng)用,2007,43(6):143–145.
[10] 王秀清,游國(guó)棟,楊世鳳. 基于作物病害脅迫聲發(fā)射的精準(zhǔn)施藥[J]. 農(nóng)業(yè)工程學(xué)報(bào),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] 周小燕. 棉花病害診斷專家系統(tǒng)研究[D]. 北京:中國(guó)農(nóng)業(yè)大學(xué),2005.