摘 要: 以帶有ARM11處理器的智能模塊為監(jiān)控端,以PC為遠(yuǎn)程管理中心,開發(fā)了一套農(nóng)業(yè)大棚環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)。該系統(tǒng)監(jiān)控端基于Linux系統(tǒng)實(shí)現(xiàn)對(duì)大棚環(huán)境的視頻和參數(shù)采集;遠(yuǎn)程管理中心通過3G網(wǎng)絡(luò)遠(yuǎn)程查看植物生長(zhǎng)狀況,并對(duì)采集的環(huán)境參數(shù)經(jīng)模糊控制器分析后,將控制信息通過3G網(wǎng)絡(luò)發(fā)給監(jiān)控端對(duì)相關(guān)設(shè)備進(jìn)行控制。本系統(tǒng)實(shí)現(xiàn)了遠(yuǎn)程監(jiān)控農(nóng)業(yè)大棚的功能,對(duì)國(guó)內(nèi)農(nóng)業(yè)走智能化發(fā)展道路具有一定的參考價(jià)值。
關(guān)鍵詞: 農(nóng)業(yè)大棚; 遠(yuǎn)程監(jiān)控; 模糊控制
我國(guó)是人口大國(guó),利用高新技術(shù)改造傳統(tǒng)農(nóng)業(yè)無疑是我國(guó)農(nóng)業(yè)發(fā)展的必由之路[1]。目前國(guó)內(nèi)自主研制的農(nóng)業(yè)大棚控制系統(tǒng)主要存在功能單一、智能化程度低、缺乏遠(yuǎn)程監(jiān)控[2]等缺點(diǎn)。而智能化和遠(yuǎn)程控制是未來高新農(nóng)業(yè)發(fā)展的必然趨勢(shì)。
模糊控制是利用專家的經(jīng)驗(yàn)來控制不確定系統(tǒng)的一種控制策略[3]。農(nóng)業(yè)大棚的環(huán)境參數(shù)具有非線性、滯后性和多耦合性的特點(diǎn)[4],利用模糊控制法可以得到良好的控制效果。本文設(shè)計(jì)了基于模糊控制的農(nóng)業(yè)大棚遠(yuǎn)程監(jiān)控系統(tǒng),該系統(tǒng)將采集到的農(nóng)業(yè)大棚環(huán)境參數(shù)(溫度、照度、濕度等)和視頻數(shù)據(jù)通過3G網(wǎng)絡(luò)傳輸?shù)絇C終端,經(jīng)模糊控制法[5-6]實(shí)現(xiàn)對(duì)農(nóng)業(yè)大棚環(huán)境參數(shù)的控制,進(jìn)而實(shí)現(xiàn)智能化遠(yuǎn)程監(jiān)管農(nóng)業(yè)大棚植物生長(zhǎng)的目的。
1 系統(tǒng)架構(gòu)
本系統(tǒng)的結(jié)構(gòu)如圖1所示,該系統(tǒng)主要包括監(jiān)控端和遠(yuǎn)程管理中心兩個(gè)部分。監(jiān)控端以ARM11處理器S3C6410為硬件核心,以高度可裁剪的Linux為操作系統(tǒng),其主要實(shí)現(xiàn)視頻和環(huán)境數(shù)據(jù)的采集、加濕器和加熱器等設(shè)備的控制。遠(yuǎn)程管理中心(PC)通過3G網(wǎng)絡(luò)接收大棚視頻數(shù)據(jù)和環(huán)境參數(shù)并予以顯示,同時(shí)通過模糊控制規(guī)則給出設(shè)備控制方案。本文主要闡述Linux下系統(tǒng)對(duì)視頻數(shù)據(jù)的采集和遠(yuǎn)程管理中心對(duì)環(huán)境參數(shù)的模糊控制。
2 Linux下視頻采集編碼設(shè)計(jì)
視頻采集前,系統(tǒng)在Linux上加載USB攝像頭驅(qū)動(dòng),即分別為insmod(加載命令)uvcvideo.ko(編譯好的萬能驅(qū)動(dòng))。驅(qū)動(dòng)加載成功之后,開發(fā)板插上USB攝像頭,Linux系統(tǒng)給其分配了一個(gè)設(shè)備號(hào)。視頻數(shù)據(jù)采集通過調(diào)用V4L2的相關(guān)函數(shù)完成,其具體流程如圖2所示。用open()打開視頻設(shè)備,隨后在Linux編程中,使用ioctl函數(shù)對(duì)設(shè)備的I/O通道進(jìn)行管理,如用ioctl(fd,VIDIOC_S_FMT, &fmt)設(shè)置視頻捕獲格式,用ioctl (fd,VIDIOC_DQBUF, &buf)將采集的數(shù)據(jù)出隊(duì)列。視頻數(shù)據(jù)采集采用內(nèi)存映射方式mmap()來完成。視頻數(shù)據(jù)采集完成后用close()關(guān)閉設(shè)備。
DeInit()完成硬件編碼設(shè)備的打開、內(nèi)存映射和初始化硬件編碼設(shè)備并將參數(shù)傳到內(nèi)核中。通過SsbSipH264EncodeGetInBuf()獲取緩沖區(qū)的地址,通過SsbSipH264EncodeExe()對(duì)視頻數(shù)據(jù)進(jìn)行編碼,獲取編碼輸出的緩沖地址SsbSipH264EncodeGetOutBuf()與編碼包,然后進(jìn)行RTP分包發(fā)送。Linux下的視頻采集編碼采用多線程方式,交叉編譯時(shí)要?jiǎng)討B(tài)鏈接多線程庫(kù)-lpthread。
視頻數(shù)據(jù)經(jīng)壓縮后以NAL包形式存在,接著該包經(jīng)過RTP編碼,以RTP包的形式通過3G網(wǎng)絡(luò)發(fā)送到PC端。PC端將接收到的RTP數(shù)據(jù)重新整合成H.264的視頻數(shù)據(jù),利用FFmpeg視頻編解碼庫(kù)對(duì)H.264數(shù)據(jù)包進(jìn)行解碼,得到Y(jié)UV視頻數(shù)據(jù)后,通過DirectDraw技術(shù)將視頻數(shù)據(jù)圖像渲染到圖形界面窗口中。
3 環(huán)境參數(shù)的模糊控制
3.1環(huán)境數(shù)據(jù)預(yù)處理
由于農(nóng)業(yè)大棚面積大,單一的傳感器不能保證采集數(shù)據(jù)(大棚參數(shù))的合理性和準(zhǔn)確性。所以,本文對(duì)于同一環(huán)境量在不同地點(diǎn)放置6個(gè)傳感器進(jìn)行測(cè)量。大棚參數(shù)在采集過程中,由于人為等因素有可能使系統(tǒng)采集到過高或過低的異常數(shù)據(jù)。這就需要在系統(tǒng)控制前對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,將錯(cuò)誤的數(shù)據(jù)剔除,以免發(fā)生誤控制。
3.2 模糊控制
本文的模糊控制器采用的是3輸入6輸出結(jié)構(gòu)。即輸入為:溫度誤差、濕度誤差和光照誤差;輸出為:草簾、加熱器、加濕器、LED、風(fēng)機(jī)和天窗。模糊控制整體流程如圖4所示,對(duì)于模糊控制器的設(shè)計(jì)主要包括輸入模糊化、知識(shí)庫(kù)(規(guī)則庫(kù))、模糊推理和解模糊化。
3.2.1 模糊化
根據(jù)農(nóng)業(yè)大棚環(huán)境特點(diǎn)確定各參數(shù)誤差范圍、論域和量化因子,如表1所示。
環(huán)境參數(shù)e1、e2、e3的模糊語(yǔ)言變量分別為E1、E2、E3。執(zhí)行機(jī)構(gòu)的模糊語(yǔ)言變量為:草簾U1、加熱器U2、加濕器U3、LED U4、風(fēng)機(jī)U5、天窗U6。將E1劃分為{NB,NS,ZO,PS,PB}5個(gè)等級(jí),即分別為:負(fù)大、負(fù)中、中、正中、正大;E2、E3分為{NB,ZO,PB}3個(gè)等級(jí)。
本文采用三角形隸屬度函數(shù)對(duì)E1、E2和E3進(jìn)行賦值。如表2和表3分別是E1和E2/E3的隸屬度賦值表。
3.2.2 規(guī)則庫(kù)
通過農(nóng)業(yè)專家的經(jīng)驗(yàn)和調(diào)查研究,制定相應(yīng)的控制規(guī)則。表4所示是本系統(tǒng)的部分控制規(guī)則(0:關(guān);1:開)。
3.2.3 模糊推理
本文中的輸出控制量只有開、關(guān)和保持三種狀態(tài),不可調(diào)節(jié)。針對(duì)這種情況,推理模型可采用0階 T-S 模型。
經(jīng)模糊規(guī)則的計(jì)算得U1=0.25<0.5,這時(shí)按照控制規(guī)則應(yīng)取0,所以相應(yīng)的執(zhí)行機(jī)構(gòu)其狀態(tài)應(yīng)該為 OFF。也就是說,溫度、光照和濕度誤差量化等級(jí)是-2、-1和1 時(shí),執(zhí)行機(jī)構(gòu)草簾是關(guān)閉的。按照以上步驟可以計(jì)算出其他控制執(zhí)行機(jī)構(gòu)的輸出結(jié)果。然后制成一張access表格,利用ADO鏈接access數(shù)據(jù)表,查詢表格即可得出控制結(jié)果,將得到的結(jié)果通過3G網(wǎng)絡(luò)發(fā)回監(jiān)控端控制相應(yīng)設(shè)備。
本系統(tǒng)實(shí)現(xiàn)了農(nóng)業(yè)大棚遠(yuǎn)程監(jiān)控功能,其PC遠(yuǎn)程管理中心界面如圖5所示。此系統(tǒng)采用Linux系統(tǒng)通過對(duì)大棚環(huán)境的視頻和參數(shù)的采集,實(shí)現(xiàn)了通過3G網(wǎng)絡(luò)遠(yuǎn)程監(jiān)看和設(shè)定農(nóng)業(yè)大棚的環(huán)境與參數(shù)的目的。PC遠(yuǎn)程管理中心通過模糊控制給出了設(shè)備控制信息,并通過3G網(wǎng)絡(luò)發(fā)送給監(jiān)控端,實(shí)現(xiàn)相關(guān)設(shè)備的控制。本系統(tǒng)對(duì)國(guó)內(nèi)農(nóng)業(yè)走智能化發(fā)展道路具有一定的參考價(jià)值。
參考文獻(xiàn)
[1] 梁竹君.環(huán)境監(jiān)控技術(shù)在設(shè)施農(nóng)業(yè)中的應(yīng)用[J].安徽農(nóng)業(yè)科學(xué),2009,37(16):7672-7673.
[2] 馬玉泉,盧衛(wèi)娜,藺志鵬.主從分布式溫室環(huán)境參數(shù)測(cè)控系統(tǒng)[J].農(nóng)機(jī)化研究,2011,3(3):84-86.
[3] ARVANITISA K G. Multirate adaptive temperature control of greenhouse[J].Computers and Electronics in Agriculture, 2000:303-320.
[4] 姚愛華.溫室栽培環(huán)境因子調(diào)控技術(shù)[J].現(xiàn)代農(nóng)業(yè)科技,2010(13):277-278,282.
[5] 韓志平.溫室環(huán)境參數(shù)模糊控制[D].沈陽(yáng):沈陽(yáng)工業(yè)大學(xué),2012.
[6] Pan Haipeng,Xing Wei,Xu Sen,et al, A new intelligent fuzzy control system of greenhouse temperature[C].Proceedings of the 7th World Congress on Intelligent Control and Automation, Chongqing, China, 2008.