馮 琪,陳 光,陳澤虎
(東華大學(xué)信息科學(xué)與技術(shù)學(xué)院,上海 201620)
近年來(lái),溫室大棚種植技術(shù)得到了迅速的推廣和應(yīng)用,它提高了作物的產(chǎn)量,解決了作物生長(zhǎng)的季節(jié)問(wèn)題。然而,溫室作物對(duì)其種植環(huán)境要求較高,怎樣對(duì)室內(nèi)的溫度、濕度及光照度等環(huán)境因子進(jìn)行智能控制已成為人們正在研究和解決的重要課題。從國(guó)外引進(jìn)的智能溫室大棚價(jià)格昂貴,維護(hù)費(fèi)用極高,因而研制高性能的大棚監(jiān)控系統(tǒng)具有重要的現(xiàn)實(shí)意義。
本文針對(duì)目前溫室價(jià)格昂貴、布線(xiàn)困難、功耗高的特點(diǎn),設(shè)計(jì)了一個(gè)智能溫室監(jiān)控系統(tǒng)。通過(guò)各個(gè)模塊的軟硬件設(shè)計(jì)以及自適應(yīng)加權(quán)數(shù)據(jù)融合算法的設(shè)計(jì),實(shí)現(xiàn)溫室內(nèi)的各個(gè)因子的檢測(cè)、無(wú)線(xiàn)傳輸和實(shí)時(shí)監(jiān)控。
圖1 溫室智能監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
溫室智能監(jiān)控系統(tǒng)結(jié)構(gòu)如圖1所示。MCU采用EFM32TG110,主要電路模塊[2]包括傳感器電路、電源電路、無(wú)線(xiàn)傳感電路。傳感器電路將實(shí)時(shí)參數(shù)發(fā)送給MCU,MCU對(duì)數(shù)據(jù)進(jìn)行采集與預(yù)處理,并通過(guò)無(wú)線(xiàn)模塊發(fā)送給協(xié)調(diào)器,經(jīng)過(guò)數(shù)據(jù)融合,最終將參數(shù)通過(guò)串口在電腦上實(shí)時(shí)顯示出來(lái),并能根據(jù)需要進(jìn)行一定的調(diào)控。
單片機(jī)選用的是EFM32TG110[3]。該芯片是32位的ARM處理器,專(zhuān)業(yè)的低功耗芯片。最高頻率可達(dá)32 MHz。一共有5種功耗模式,其深度睡眠模式的最低功耗電流只有20 nA,具有超快的喚醒能力,電壓3.3 V。
傳感器電路由光照傳感器和溫濕度復(fù)合傳感器組成。溫濕度復(fù)合傳感器采用AM2301。采用單總線(xiàn)。若要準(zhǔn)確讀數(shù),間隔時(shí)間最小是2 s。單片機(jī)采用I2C通信方式讀寫(xiě)B(tài)H1750FVI,它作為本設(shè)計(jì)的光照傳感器。
本設(shè)計(jì)中的各節(jié)點(diǎn)選用CC2530芯片,作為Zig-Bee模塊,實(shí)現(xiàn)數(shù)據(jù)處理及ZigBee無(wú)線(xiàn)通信功能。拓?fù)浣Y(jié)構(gòu)上,本設(shè)計(jì)采用星型網(wǎng)絡(luò),如圖2所示,1,2,3,...,n是無(wú)線(xiàn)傳感器網(wǎng)絡(luò)的傳感器節(jié)點(diǎn)。0是星形網(wǎng)絡(luò)的協(xié)調(diào)器節(jié)點(diǎn),能將收集到的數(shù)據(jù)最終通過(guò)串口發(fā)送給PC接收。也能將PC的指令發(fā)送給各傳感器節(jié)點(diǎn),最終通過(guò)串口發(fā)送給MCU來(lái)做出決策。
電源電路:電源芯片選TPS5430DDAR提供12 V的電壓,轉(zhuǎn)換成5 V和3.3 V。
燈控電路:此處使用繼電器JGX-3F來(lái)驅(qū)動(dòng)日光燈的開(kāi)斷。
最終輸出的數(shù)據(jù)經(jīng)過(guò)串口轉(zhuǎn)USB接口在電腦上顯示。顯示的內(nèi)容包括溫度信息(范圍0~50℃)、光照信息和串口端口選擇。如果溫度過(guò)高,將會(huì)產(chǎn)生報(bào)警。另外還可以通過(guò)選擇燈控開(kāi)關(guān)來(lái)實(shí)現(xiàn)燈光的控制。
通訊協(xié)議用于實(shí)現(xiàn)上位機(jī)與下位機(jī)的通信,如表1所示。通信數(shù)據(jù)格式分為上行協(xié)議與下行協(xié)議。上行協(xié)議即MCU上傳數(shù)據(jù)的協(xié)議,上行協(xié)議的格式為首位為0xef,其次為辨識(shí)位、ID、數(shù)據(jù)高字節(jié)、數(shù)據(jù)低字節(jié)、校驗(yàn)和0xfe;辨識(shí)位如表2所示,當(dāng)Mcu收到下行協(xié)議之后,將溫度、光照、濕度數(shù)據(jù)封裝成上行協(xié)議,上位機(jī)對(duì)協(xié)議進(jìn)行解析,當(dāng)收到握手協(xié)議時(shí)說(shuō)明連接成功,即可以進(jìn)行轉(zhuǎn)換,根據(jù)辨識(shí)位、分離溫度、光照、濕度、燈狀態(tài)數(shù)據(jù),當(dāng)收到上報(bào)結(jié)束指令時(shí),將數(shù)據(jù)進(jìn)行顯示。下行協(xié)議是使單片機(jī)發(fā)送數(shù)據(jù)的協(xié)議,其格式為:“0xef,0xc0,0x00,0x00,0x00,0xc0,0xfe”。另外,本系統(tǒng)也可以控制光照,開(kāi)關(guān)燈的協(xié)議為首位為0xef,其次為 C5、ID、00或 01(關(guān)或開(kāi))、校驗(yàn)和0xfe。
表1 通信協(xié)議
表2 辨識(shí)位
系統(tǒng)單片機(jī)的主程序流程如圖3所示。
圖3 主程序流程圖
系統(tǒng)上電之后,先進(jìn)行時(shí)鐘、各I/O端口及通信端口初始化。傳感器初始化之后,MCU就開(kāi)始對(duì)數(shù)據(jù)進(jìn)行采集,并將數(shù)據(jù)放置在設(shè)置的緩沖區(qū)數(shù)組中。當(dāng)單片機(jī)收到指令,產(chǎn)生中斷后,便對(duì)數(shù)據(jù)進(jìn)行處理,并通過(guò)算術(shù)平均法,利用傳感器節(jié)點(diǎn)的緩存機(jī)制將多次采樣的同種類(lèi)型的數(shù)據(jù)合并成一條數(shù)據(jù)信息。設(shè)節(jié)點(diǎn)的采樣頻率為f,可以設(shè)定,從上次接收的指令到這次接收的指令的時(shí)間間隔T,在T間隔內(nèi),MCU共采集了 k次數(shù)據(jù),這些數(shù)據(jù)為 xq(q=1,2,...,k)。MCU計(jì)算出緩存數(shù)據(jù)的算術(shù)平均值(k),通過(guò)MCU的串口發(fā)送給ZigBee。然后將緩存中的數(shù)據(jù)全部清除,為下一次采集N個(gè)數(shù)據(jù)做準(zhǔn)備。
均值為:
圖4 傳感器及協(xié)調(diào)器節(jié)點(diǎn)程序流程圖
傳感器及協(xié)調(diào)器節(jié)點(diǎn)程序流程如圖4所示。ZigBee終端節(jié)點(diǎn)主要作用是傳輸MCU采集好的溫濕度,光照數(shù)據(jù)給ZigBee協(xié)調(diào)器[4],并接收來(lái)自協(xié)調(diào)器的相關(guān)命令。該節(jié)點(diǎn)上電后,首先硬件初始化和協(xié)議棧初始化,搜索可用信道并加入,成功加入后進(jìn)入省電模式。普通情況下,ZigBee進(jìn)入低功耗模式。有數(shù)據(jù)時(shí),采用中斷喚醒的工作機(jī)制。當(dāng)有數(shù)據(jù)傳輸請(qǐng)求時(shí),喚醒工作,串口接收MCU采集的數(shù)據(jù)并通過(guò)無(wú)線(xiàn)模塊發(fā)送ZigBee協(xié)調(diào)器,發(fā)送完后重新回到低功耗模式。
協(xié)調(diào)器節(jié)點(diǎn)上電后,初始化芯片與協(xié)議棧,建立ZigBee網(wǎng)絡(luò)。當(dāng)有節(jié)點(diǎn)申請(qǐng)加入網(wǎng)絡(luò)時(shí),準(zhǔn)許加入并分配一個(gè)16位的網(wǎng)絡(luò)短地址,協(xié)調(diào)器不能處于休眠狀態(tài),如果收到來(lái)自上位機(jī)的發(fā)送數(shù)據(jù)指令,則將通過(guò)無(wú)線(xiàn)通信發(fā)送給終端節(jié)點(diǎn),當(dāng)接收到來(lái)自終端節(jié)點(diǎn)的數(shù)據(jù)時(shí),將會(huì)將原來(lái)的數(shù)據(jù)通過(guò)串口發(fā)送到上位機(jī),以便上位機(jī)能夠?qū)Ω鞣N數(shù)據(jù)包進(jìn)行解析。
無(wú)線(xiàn)傳感網(wǎng)中有很多的節(jié)點(diǎn),數(shù)據(jù)融合是指將星型網(wǎng)絡(luò)中的各個(gè)傳感器的獲取值進(jìn)行綜合,從而能夠減少無(wú)線(xiàn)傳輸?shù)臄?shù)據(jù)量,有效地減少各個(gè)節(jié)點(diǎn)的耗能,并且能夠消除數(shù)據(jù)采集的不確定性,提高準(zhǔn)確度。對(duì)于數(shù)據(jù)來(lái)說(shuō),均方誤差越小,則融合值的波動(dòng)越小,從而得到的數(shù)據(jù)越接近于真實(shí)值。
圖5 自適應(yīng)加權(quán)數(shù)據(jù)融合模型圖
圖5是自適應(yīng)加權(quán)數(shù)據(jù)融合模型圖,自適應(yīng)加權(quán)數(shù)據(jù)融合算法[5]的實(shí)現(xiàn)方法是:根據(jù)傳感器節(jié)點(diǎn)傳輸?shù)臄?shù)據(jù)自適應(yīng)地確定其對(duì)應(yīng)的權(quán)數(shù),以使數(shù)據(jù)融合后的均方誤差最小為條件,來(lái)求融合值。如公式(3)所示。其中W1,W2,Wi為使得方差最小的權(quán)值。各傳感器節(jié)點(diǎn)的采集多次的數(shù)據(jù)平均值為(k),發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器進(jìn)行數(shù)據(jù)融合后的加權(quán)平均數(shù)據(jù)融合值為:
其中,W1,W2,…,Wn的權(quán)值和為1 且有:
總均方平方和誤差δ2為:
由于式(5)為多元二次函數(shù),有最小值,通過(guò)對(duì)其求導(dǎo),就可以求得最優(yōu)加權(quán)因子為 W'i,如公式(6)。代入式(3)從而可求融合值。
為了驗(yàn)證該系統(tǒng)獲得融合數(shù)據(jù)的可靠性,依次對(duì)傳感器各節(jié)點(diǎn)進(jìn)行采樣。以溫度、濕度數(shù)據(jù)為例,相等的時(shí)間為間隔,一次采樣內(nèi),各個(gè)傳感器的數(shù)據(jù)如表3所示。
根據(jù)公式(3)和公式(5),用加權(quán)算法得到的最終結(jié)果溫度=25.6,濕度=57.7。總體方差溫度為0.0057635,濕度為 0.166444。對(duì)比之下,用均值算法得到的平均值,溫度為25.57,濕度為56.82,其方差溫度為0.08223,濕度為0.8839。可以發(fā)現(xiàn)用自適應(yīng)加權(quán)算法相對(duì)于均值算法來(lái)說(shuō)具有更小的方差,其數(shù)據(jù)的穩(wěn)定性更強(qiáng)。
表3 溫濕度數(shù)據(jù)圖
圖6 上位機(jī)顯示圖
圖6是上位機(jī)上實(shí)時(shí)顯示的大棚內(nèi)的各項(xiàng)指標(biāo),可以實(shí)時(shí)顯示4個(gè)區(qū)域的值,其中包括溫度、濕度及光照,并且可以觸動(dòng)按鍵從而控制繼電器以控制燈光,從而補(bǔ)光。最終實(shí)現(xiàn)對(duì)上述環(huán)境因素的實(shí)時(shí)監(jiān)測(cè)或控制。
由以上結(jié)果分析可得,本智能監(jiān)控系統(tǒng)不但能夠?qū)崿F(xiàn)對(duì)環(huán)境因子的實(shí)時(shí)監(jiān)控,同時(shí)由于能夠有效地抑制誤差,提高了融合數(shù)據(jù)的精度,從而達(dá)到了節(jié)能的目的。
本文研究了智能大棚的溫度、濕度及光照等參數(shù)的采集、傳輸及監(jiān)控的原理和方法,并以EFM32TG110及CC2530芯片為核心硬件,設(shè)計(jì)了智能大棚監(jiān)控系統(tǒng)的總體結(jié)構(gòu),并通過(guò)數(shù)據(jù)采集、處理及通信的軟件設(shè)計(jì)以及數(shù)據(jù)融合算法的設(shè)計(jì),實(shí)現(xiàn)了大棚內(nèi)的多點(diǎn)檢測(cè)、無(wú)線(xiàn)傳輸和實(shí)時(shí)智能監(jiān)控,具有良好的經(jīng)濟(jì)與實(shí)用價(jià)值。
[1]程雪,王彬,賈北平.基于無(wú)線(xiàn)通信的多點(diǎn)溫濕度采集系統(tǒng)的設(shè)計(jì)[J].農(nóng)機(jī)化研究,2009,31(8):191-192,201.
[2]高云,梁秀英,王為.基于MSP430的溫室多路數(shù)據(jù)采集系統(tǒng)[J].農(nóng)機(jī)化研究,2009,31(8):187-190.
[3]姚鋼.EFM 32 Gecko實(shí)現(xiàn)超低功耗設(shè)計(jì)[J].EDN China電子設(shè)計(jì)技術(shù),2010,5:22,24.
[4]高守瑋,吳燦陽(yáng).ZigBee技術(shù)實(shí)踐教程[M].北京:北京航空航天大學(xué)出版社,2009:354-368.
[5]邱爽,吳巍.無(wú)線(xiàn)傳感網(wǎng)絡(luò)數(shù)據(jù)融合算法研究[J].武漢理工大學(xué)學(xué)報(bào),2008,30(7):119-122.
[6]于福海,樊明輝,王龍奇.大棚溫濕度無(wú)線(xiàn)實(shí)時(shí)監(jiān)控系統(tǒng)的設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2012,2(10):29-31.
[7]韓敏,李書(shū)琴,張靜,等.智能溫室遠(yuǎn)程監(jiān)控系統(tǒng)的研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(29):67-68,300.
[8]張澤武,朱艷,葛桂月,等.環(huán)境智能傳感系統(tǒng)研制[J].無(wú)線(xiàn)互聯(lián)科技,2012(1):20-23.
[9]羅海勇,李錦濤,趙方,等.溫室無(wú)線(xiàn)測(cè)控網(wǎng)絡(luò)信息采集分系統(tǒng)設(shè)計(jì)研究[J].微電子學(xué)與計(jì)算機(jī),2007,24(10):1-4,7.
[10]馬國(guó)美,宋仲康.基于DSP的智能大棚系統(tǒng)的設(shè)計(jì)[J].儀表技術(shù),2011(8):36-37.
[11]文斌,寧志強(qiáng),陳愛(ài)萍.基于“北斗一代”的ZigBee無(wú)線(xiàn)網(wǎng)關(guān)設(shè)計(jì)[J].電訊技術(shù),2011,51(9):92-95.
[12]陳國(guó)紹,丁莉,王中生.基于ZigBee的大棚環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].物聯(lián)網(wǎng)技術(shù),2013,3(10):16-18.
[13]鞏大力,虎嘯.基于CAN總線(xiàn)交叉口交通監(jiān)控系統(tǒng)設(shè)計(jì)[J].河北工業(yè)大學(xué)學(xué)報(bào),2009,38(2)115-118.
[14]章偉聰,俞新武,李忠成.基于CC2530及ZigBee協(xié)議棧設(shè)計(jì)無(wú)線(xiàn)網(wǎng)絡(luò)傳感器節(jié)點(diǎn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2011,20(7):184-187,120.
[15]劉洪朋,葛廣英,周松林.基于ZigBee的電解槽溫度智能控制系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀表,2012,27(2):37-40.
[16]衣翠平,柏逢明.基于ZigBee技術(shù)的CC2530糧庫(kù)溫濕度檢測(cè)系統(tǒng)研究[J].長(zhǎng)春理工大學(xué)學(xué)報(bào)(自然科學(xué)版),2011,34(4):53-57.
[17]袁淑萍.ZigBee組網(wǎng)技術(shù)在智能溫室系統(tǒng)中的運(yùn)用[J].信息安全與技術(shù),2012(9):97-99,105.
[18]沈卓,張榮標(biāo),郭建光,等.基于ZigBee和CDMA的溫室遠(yuǎn)程測(cè)控系統(tǒng)的設(shè)計(jì)[J].中國(guó)新通信,2010,12(1):73-76.
[19]羅巍巍,徐曉.基于ZigBee和RFID的環(huán)形流水線(xiàn)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].傳感器與微系統(tǒng),2013(11):98-100,104.