喬曉輝,杜尚豐,徐 丹
(中國(guó)農(nóng)業(yè)大學(xué)信息與電氣工程學(xué)院,北京100083)
中國(guó)是一個(gè)農(nóng)業(yè)大國(guó),隨著科技的發(fā)展及互聯(lián)網(wǎng)技術(shù)的成熟和普及,作為溫室生產(chǎn)關(guān)鍵技術(shù)之一的溫室環(huán)境監(jiān)測(cè)與調(diào)控也向著與互聯(lián)網(wǎng)相結(jié)合的方向發(fā)展[1-4]。國(guó)內(nèi)實(shí)際農(nóng)業(yè)生產(chǎn)中使用的傳統(tǒng)溫室環(huán)境監(jiān)控系統(tǒng)大多采用PC機(jī)為上位機(jī),單片機(jī)、PLC為下位機(jī)的上—下位機(jī)控制模式,這類下位機(jī)系統(tǒng)由于其處理器資源和性能有限,實(shí)時(shí)性不高,且系統(tǒng)穩(wěn)定性難以滿足用戶生產(chǎn)需求[4-5]。此外,溫室環(huán)境執(zhí)行機(jī)構(gòu)的控制大多采用開關(guān)控制,且控制方法單一。雖然國(guó)外溫室環(huán)境遠(yuǎn)程測(cè)控技術(shù)比較成熟,自動(dòng)化智能程度較高,但直接引進(jìn)造價(jià)高、不適合我國(guó)溫室,難以普及[6-8]。本文擬設(shè)計(jì)開發(fā)溫室環(huán)境連續(xù)型調(diào)控系統(tǒng),實(shí)現(xiàn)溫室執(zhí)行機(jī)構(gòu)的連續(xù)型控制,可通過(guò)互聯(lián)網(wǎng)將遠(yuǎn)程計(jì)算機(jī)計(jì)算控制輸入傳給服務(wù)器,節(jié)約系統(tǒng)成本,還可為用戶開展遠(yuǎn)程試驗(yàn)研究提供平臺(tái)。
該系統(tǒng)包括溫室環(huán)境現(xiàn)場(chǎng)測(cè)控、嵌入式服務(wù)器和遠(yuǎn)程計(jì)算機(jī)監(jiān)控3個(gè)部分。系統(tǒng)結(jié)構(gòu)如圖1所示。
遠(yuǎn)程計(jì)算機(jī)通過(guò)互聯(lián)網(wǎng)讀取存儲(chǔ)在服務(wù)器動(dòng)態(tài)數(shù)據(jù)區(qū)Wi_data.txt文件中的溫室內(nèi)外環(huán)境數(shù)據(jù),經(jīng)過(guò)計(jì)算后將得出加熱量、通風(fēng)量、二氧化碳補(bǔ)給量和補(bǔ)光量,通過(guò)互聯(lián)網(wǎng)傳送給服務(wù)器。自動(dòng)測(cè)控程序?qū)⒆x取數(shù)據(jù)區(qū)Ei_data.txt文件中的加熱量、通風(fēng)量、CO2補(bǔ)給量和補(bǔ)光量值,并將其發(fā)送給溫室現(xiàn)場(chǎng)測(cè)控部分的控制節(jié)點(diǎn)來(lái)控制溫室執(zhí)行機(jī)構(gòu)。
溫室現(xiàn)場(chǎng)測(cè)控部分完成溫室內(nèi)外環(huán)境參數(shù)溫度、濕度、光照和二氧化碳濃度的采集并且累計(jì)存儲(chǔ)到服務(wù)器動(dòng)態(tài)數(shù)據(jù)區(qū)中的Sensor_data.txt文件,將環(huán)境參數(shù)當(dāng)前值記錄到Wi_data.txt文件中。至此,遠(yuǎn)程計(jì)算機(jī)通過(guò)服務(wù)器與溫室現(xiàn)場(chǎng)測(cè)控部分形成閉環(huán)完成遠(yuǎn)程溫室測(cè)控。
溫室現(xiàn)場(chǎng)測(cè)控部分是系統(tǒng)的基礎(chǔ),主要包括溫室環(huán)境采集模塊、服務(wù)器和溫室執(zhí)行機(jī)構(gòu)控制模塊。嵌入式服務(wù)器是系統(tǒng)的重要組成部分,是連接遠(yuǎn)程計(jì)算機(jī)和溫室現(xiàn)場(chǎng)的橋梁,選擇常用的ARM+Linux嵌入式操作系統(tǒng)[9-12]。遠(yuǎn)程計(jì)算機(jī)完成控制算法的計(jì)算,充分利用溫室環(huán)境信息、溫室執(zhí)行機(jī)構(gòu)和作物的定量科學(xué)知識(shí),將它們描述在動(dòng)態(tài)模型中,計(jì)算出符合種植者目標(biāo)(通常是最大化經(jīng)濟(jì)效益)的控制量。
系統(tǒng)以NanoPC-T3嵌入式ARM開發(fā)板為核心,外加溫室環(huán)境信息采集節(jié)點(diǎn)、控制節(jié)點(diǎn)和電氣電路,系統(tǒng)硬件構(gòu)成如圖2所示。
電氣電路是溫室現(xiàn)場(chǎng)控制的重要組成部分,其主要結(jié)構(gòu)如圖3所示。控制節(jié)點(diǎn)從服務(wù)器獲取控制輸入量傳入調(diào)壓器的信號(hào)輸入端,進(jìn)而控制溫室的執(zhí)行機(jī)構(gòu),即風(fēng)機(jī)、加熱爐、LED燈和二氧化碳發(fā)生器。
溫室環(huán)境采集節(jié)點(diǎn)可以實(shí)現(xiàn)溫室內(nèi)外環(huán)境數(shù)據(jù)的采集,包括溫度、相對(duì)濕度、光照強(qiáng)度和二氧化碳濃度。電路板以單片機(jī)C8051F020為核心,集各種傳感器敏感元件于一體,實(shí)現(xiàn)溫室環(huán)境信息采集的功能。節(jié)點(diǎn)結(jié)構(gòu)設(shè)計(jì)如圖4所示。
控制節(jié)點(diǎn)實(shí)現(xiàn)溫室執(zhí)行機(jī)構(gòu)的控制。控制節(jié)點(diǎn)接收由服務(wù)器傳來(lái)的經(jīng)遠(yuǎn)程計(jì)算機(jī)計(jì)算得到的控制輸入,然后將控制輸入量經(jīng)由控制節(jié)點(diǎn)的2路DA輸出轉(zhuǎn)換為電壓信號(hào)傳送給電氣柜中的調(diào)壓器,經(jīng)調(diào)壓器輸出控制執(zhí)行機(jī)構(gòu)。
電路板以單片機(jī)C8051F020為核心,包含有兩路DA輸出來(lái)控制執(zhí)行機(jī)構(gòu)。控制節(jié)點(diǎn)結(jié)構(gòu)設(shè)計(jì)如圖5所示。
溫室傳感器節(jié)點(diǎn)的主要功能是進(jìn)行室內(nèi)外環(huán)境數(shù)據(jù)的采集,當(dāng)收到服務(wù)器傳來(lái)的環(huán)境獲取指令后,以串口查詢的方式,將室內(nèi)外環(huán)境數(shù)值返回給服務(wù)器。系統(tǒng)軟件設(shè)計(jì)如圖6所示。主程序主要進(jìn)行一些初始化工作;定時(shí)器中斷程序?qū)崿F(xiàn)看門狗復(fù)位、環(huán)境采集等功能;串口發(fā)送和接收子程序?qū)崿F(xiàn)單片機(jī)與服務(wù)器的通信功能。
控制節(jié)點(diǎn)的主要功能是不斷查詢串口,檢查是否收到服務(wù)器傳來(lái)的指令并判斷是哪種指令,若為執(zhí)行機(jī)構(gòu)狀態(tài)控制指令,則對(duì)相應(yīng)的執(zhí)行機(jī)構(gòu)進(jìn)行控制。控制節(jié)點(diǎn)軟件設(shè)計(jì)如圖7所示。
Web服務(wù)器由串口通信模塊和Web服務(wù)器守護(hù)模塊組成[13-16]。其中,串口通信模塊由溫室環(huán)境自動(dòng)測(cè)控程序和遠(yuǎn)程人工控制程序組成[17-18]。溫室環(huán)境采集程序每隔1 min采集溫室內(nèi)外環(huán)境信息,并將獲取到的有效數(shù)據(jù)以特定格式存儲(chǔ)到服務(wù)器的動(dòng)態(tài)數(shù)據(jù)交換區(qū)的txt文件中。執(zhí)行機(jī)構(gòu)控制程序每隔1 min讀取服務(wù)器中Ei_data.txt,即遠(yuǎn)程計(jì)算機(jī)計(jì)算得出的控制輸入對(duì)執(zhí)行機(jī)構(gòu)進(jìn)行控制。遠(yuǎn)程人工控制程序用于應(yīng)對(duì)用戶需要按照自身意愿進(jìn)行遠(yuǎn)程手動(dòng)控制操作。
服務(wù)器守護(hù)模塊主要包含了嵌入式Web服務(wù)器、CGI腳本和信息可視化的HTML網(wǎng)頁(yè)3部分,實(shí)現(xiàn)了溫室環(huán)境信息實(shí)時(shí)瀏覽、視頻監(jiān)控、溫室執(zhí)行機(jī)構(gòu)控制方法選擇和遠(yuǎn)程人工控制功能[19-22]。動(dòng)態(tài)網(wǎng)頁(yè)的效果如圖8所示。
為測(cè)試系統(tǒng)的有效性和可靠性,將系統(tǒng)部署在中國(guó)農(nóng)業(yè)科學(xué)院環(huán)發(fā)所6樓溫室中,進(jìn)行生菜生長(zhǎng)的溫室調(diào)控試驗(yàn)。試驗(yàn)過(guò)程中選擇溫室內(nèi)外溫度、濕度、光照度和二氧化碳濃度為測(cè)量因子。
選取2019年5月3—7日的試驗(yàn)數(shù)據(jù)以10 min為時(shí)間間隔選取數(shù)據(jù)點(diǎn),繪制溫室環(huán)境因子變化曲線,如圖9~12所示。
在試驗(yàn)期間系統(tǒng)運(yùn)行連續(xù)穩(wěn)定且能夠獲取準(zhǔn)確可靠溫室內(nèi)外環(huán)境信息數(shù)據(jù),但未來(lái)還需長(zhǎng)期測(cè)試檢驗(yàn)運(yùn)行狀況。另在試驗(yàn)過(guò)程中記錄了生菜的生長(zhǎng)狀況,也可以根據(jù)其生長(zhǎng)狀況科學(xué)有效地調(diào)整控制策略以滿足用戶的需求。生菜生長(zhǎng)狀況如圖13、14所示。
(1)遠(yuǎn)程監(jiān)控系統(tǒng)可根據(jù)溫室的實(shí)際情況選擇合適的控制方法,并且能夠設(shè)定溫室環(huán)境因子的給定值等。
(2)系統(tǒng)的功能豐富,在實(shí)現(xiàn)溫室環(huán)境因子的檢測(cè)外,還可以通過(guò)網(wǎng)絡(luò)攝像頭實(shí)時(shí)觀察生菜長(zhǎng)勢(shì)和溫室運(yùn)作狀態(tài)。
(3)由于本系統(tǒng)的信息是基于嵌入式Web服務(wù)器發(fā)布的,因而用戶只需要通過(guò)PC、平板或手機(jī)等可以接入互聯(lián)網(wǎng)的設(shè)備,即可訪問(wèn)此服務(wù)器,實(shí)現(xiàn)對(duì)溫室的監(jiān)控。