續(xù)文敏,韓芳芳,趙 巖,楊 雷,沈樂樂
(1.天津市復(fù)雜系統(tǒng)控制理論及應(yīng)用重點實驗室,天津 300384;2.天津理工大學(xué)電氣電子工程學(xué)院,天津 300384)
目前,我國農(nóng)業(yè)生產(chǎn)的現(xiàn)狀,無論是個體種植,還是大型農(nóng)場,大多數(shù)還是按照傳統(tǒng)的農(nóng)業(yè)種植方法進(jìn)行。而傳統(tǒng)方法人力成本高、效率低下。在市場的大量需求之下,現(xiàn)代農(nóng)業(yè)發(fā)展的步伐逐漸加快?,F(xiàn)代農(nóng)業(yè)是通過各類傳感器采集農(nóng)業(yè)種植過程中的重要參數(shù),對這些參數(shù)進(jìn)行處理并作出相應(yīng)的環(huán)境調(diào)整;將這些數(shù)據(jù)上傳到互聯(lián)網(wǎng),便于用戶實時查看農(nóng)場中的各類參數(shù)以作出相關(guān)的調(diào)整,并存儲各類參數(shù),以助于植物生長習(xí)性的研究[1]。
近年來,物聯(lián)網(wǎng)技術(shù)已經(jīng)應(yīng)用在農(nóng)業(yè)的病蟲害防治、生長情況監(jiān)測、農(nóng)業(yè)物流等方面,極大地促進(jìn)了現(xiàn)代農(nóng)業(yè)的發(fā)展。本文的研究基于農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù),開發(fā)基于MongoDB的溫室監(jiān)控與智能管理系統(tǒng)的數(shù)據(jù)庫,建立基于B/S架構(gòu)設(shè)計平臺的智能管理功能與操作界面,實現(xiàn)數(shù)據(jù)實時查詢、存儲、導(dǎo)出等功能,并通過設(shè)定環(huán)境參數(shù)的閾值,遠(yuǎn)程控制相關(guān)設(shè)備調(diào)節(jié)環(huán)境參數(shù),以滿足現(xiàn)代農(nóng)業(yè)的需求。
物聯(lián)網(wǎng)(Internet of Things,IoT),是一個由實際物品和各種現(xiàn)實的信息連接而成的大型智能網(wǎng)絡(luò)[2]。信息可以根據(jù)物聯(lián)網(wǎng)規(guī)定的交互接口以及身份唯一識別編碼在物聯(lián)網(wǎng)中的信道中進(jìn)行有效通信[3]。通過物聯(lián)網(wǎng)技術(shù)與傳感器技術(shù)、互聯(lián)網(wǎng)技術(shù)等深度結(jié)合的方式,可以將感知數(shù)據(jù)通過物聯(lián)網(wǎng)的傳輸層傳輸?shù)椒?wù)器,從而實現(xiàn)對現(xiàn)場物與物的信息的識別、監(jiān)測、控制與管理等。
由于物聯(lián)網(wǎng)具有信息全面感知、采集信息的可靠傳輸以及終端數(shù)據(jù)的智能處理這三大優(yōu)勢特點,被廣泛應(yīng)用于工業(yè)、交通、物流、農(nóng)業(yè)等領(lǐng)域。近年來,農(nóng)作物的種植、生產(chǎn)、銷售等多個環(huán)節(jié)也都引進(jìn)了物聯(lián)網(wǎng)技術(shù),農(nóng)業(yè)物聯(lián)網(wǎng)整體可以由三個層次組成,分別為感知層、傳輸層與應(yīng)用層。
農(nóng)業(yè)物聯(lián)網(wǎng)結(jié)構(gòu)如圖1所示。
圖1 農(nóng)業(yè)物聯(lián)網(wǎng)結(jié)構(gòu)圖Fig.1 Structure diagram of agricultural Internet of Things
感知層是利用先進(jìn)的傳感器技術(shù)來感知、采集農(nóng)作物的生長環(huán)境因子,或者利用不同的條形碼、二維碼來記錄農(nóng)產(chǎn)品在生產(chǎn)和運輸過程中的多種信息,并通過無線射頻識別技術(shù)獲取該農(nóng)產(chǎn)品的條碼信息。感知層是實現(xiàn)農(nóng)業(yè)物聯(lián)網(wǎng)功能的最基礎(chǔ)設(shè)施,只有精準(zhǔn)、穩(wěn)定地采集到農(nóng)作物、農(nóng)產(chǎn)品的各種所需數(shù)據(jù)與信息,才能為環(huán)境監(jiān)控、智能分析與管理等功能提供可靠、全面的數(shù)據(jù)信息。
傳輸層是連接采集層與應(yīng)用層的紐帶,利用已有的網(wǎng)絡(luò)通信技術(shù),實現(xiàn)數(shù)據(jù)在三個層之間的傳輸,達(dá)到對現(xiàn)場環(huán)境的參數(shù)的優(yōu)化。
應(yīng)用層的作用主要是遠(yuǎn)程查看監(jiān)測數(shù)據(jù)與控制現(xiàn)場環(huán)境,工作人員可通過瀏覽器或者手機(jī)APP終端實現(xiàn)數(shù)據(jù)的實時查看、歷史數(shù)據(jù)的導(dǎo)出等,此外還可以設(shè)置環(huán)境控制器的動作閾值或者手動進(jìn)行環(huán)境的調(diào)節(jié),以促進(jìn)提高農(nóng)業(yè)的智能化發(fā)展[4]。
感知層主要由傳感器部分組成。所使用的傳感器將所測物化信息轉(zhuǎn)化成數(shù)字量或電信號[5]。本課題采用SHT10傳感器測量溫室的溫度和溫室的濕度信息,光照度傳感器測量溫室光照度,CO2傳感器測量CO2濃度。其中,溫濕度信息轉(zhuǎn)化為數(shù)字信號,另外兩個量轉(zhuǎn)化為RS-485信號[6]。
傳感器的發(fā)展趨勢為:①微型化,即利用新材料和新工藝減小傳感器現(xiàn)有的體積;②低功耗,傳感器工作要持續(xù)供電,未來發(fā)展趨勢時開發(fā)功耗更低的傳感器,甚至向無源傳感器方向發(fā)展;③網(wǎng)絡(luò)化,將網(wǎng)絡(luò)接口協(xié)議和通信協(xié)議內(nèi)嵌于傳感器,使接入網(wǎng)絡(luò)的傳感器遵循一致的協(xié)議,從而使得傳感器智能組網(wǎng)[7]。
通用分組無線業(yè)務(wù)(general packet radio service,GPRS)技術(shù)是將全球移動通信系統(tǒng)(global system for mobile communications,GSM)技術(shù)進(jìn)行改進(jìn),并結(jié)合網(wǎng)絡(luò)而產(chǎn)生的分組無線數(shù)據(jù)業(yè)務(wù)。信息經(jīng)過GPRS傳輸時被分成大小不同的分組數(shù)據(jù)包,每個數(shù)據(jù)包的頭部部分傳送目的地址,數(shù)據(jù)傳輸符合TCP/IP協(xié)議[8]。GPRS模塊與Internet的連接如圖2所示。GPRS技術(shù)具有的優(yōu)點有:按流量計費,資源分配合理,工作時計費[9];傳輸速率高,連接速度,信號覆蓋范圍大等。
圖2 GPRS模塊與Internet連接示意圖Fig.2 Schematic diagram of connections between GPRS module and Internet
一般的溫室大棚面積較大,需要在合理的空間位置安裝采集層設(shè)備,并且每個采集設(shè)備節(jié)點實現(xiàn)了多環(huán)境參數(shù)的一體化采集,各個采集節(jié)點通過RS-485總線與主機(jī)連接。
系統(tǒng)結(jié)構(gòu)圖如圖3所示。整個系統(tǒng)由一個主機(jī)和N個節(jié)點構(gòu)成。節(jié)點安裝位置、每個節(jié)點安裝所需傳感器等視現(xiàn)場實際情況而定。
圖3 系統(tǒng)結(jié)構(gòu)圖Fig.3 Structure diagram of system
系統(tǒng)啟動后,不同位置的采集節(jié)點進(jìn)行環(huán)境參數(shù)采集,經(jīng)過數(shù)據(jù)傳輸單元(data transfer unit,DTU),通過GPRS方式將數(shù)據(jù)發(fā)送至應(yīng)用層服務(wù)器中,并通過相應(yīng)的服務(wù)進(jìn)程將采集數(shù)據(jù)按照采集節(jié)點編號逐條存儲于數(shù)據(jù)庫。系統(tǒng)采用的MongoDB是一種面向文檔的數(shù)據(jù)庫,數(shù)據(jù)庫增、刪、改、查內(nèi)容方便,在多維數(shù)據(jù)處理的系統(tǒng)中應(yīng)用廣泛[10]。
通過在溫室大棚不同的位置安裝不同的環(huán)境參數(shù)傳感器,對環(huán)境數(shù)據(jù)實時采集,構(gòu)成農(nóng)業(yè)物聯(lián)網(wǎng)的感知層。下面是數(shù)據(jù)采集層的實現(xiàn)過程。
①安裝N個采集節(jié)點,多參數(shù)一體化的采集,數(shù)據(jù)包括:空氣濕度、空氣溫度、光強、土壤水分含量、土壤溫度和環(huán)境中CO2濃度。
②定義傳輸層的數(shù)據(jù)傳輸格式,確定采集層不同采集節(jié)點的編號、采集參數(shù)傳輸順序與編碼、采集時間編碼,確定傳輸校驗方式等。
③定義采集點的通信狀態(tài)控制碼。當(dāng)發(fā)生通信堵塞、異常連接時,傳輸數(shù)據(jù)的末兩位顯示當(dāng)前通信狀態(tài),00H表示正常通信;10H表示通信正常但返回值異常;11H表示通信中斷。
④開發(fā)傳感器高度自動調(diào)節(jié)的裝置平臺,實現(xiàn)傳感器采集位置隨農(nóng)作物的生長而高度自動增加的功能,滿足了溫室大棚內(nèi)環(huán)境參數(shù)立體測量網(wǎng)絡(luò)的建立。
數(shù)據(jù)的傳輸方式可以選擇有線和無線兩種。為了正常使用開發(fā)的系統(tǒng),需要通過穩(wěn)定的網(wǎng)絡(luò),實現(xiàn)將感知層數(shù)據(jù)傳輸?shù)胶笈_數(shù)據(jù)中心、將處理數(shù)據(jù)后得到的決策命令發(fā)送給感知層設(shè)備的操作。
數(shù)據(jù)傳輸層的主要功能如下。
①保持采集層設(shè)備實時在線,通過GPRS網(wǎng)絡(luò)將采集數(shù)據(jù)打包傳輸至服務(wù)器端。
②具有采集層連接狀態(tài)的監(jiān)控機(jī)制,采集設(shè)備通過定時發(fā)送心跳包,作為服務(wù)器判定設(shè)備是否在線,如超時未收到心跳包則判斷為失去連接,服務(wù)器將釋放連接資源。
③支持多傳輸節(jié)點DTU的傳輸要求,根據(jù)溫室規(guī)模,接入系統(tǒng)的DTU的數(shù)量將動態(tài)變化,因此傳輸層需滿足多節(jié)點的網(wǎng)絡(luò)連接需求,快速的數(shù)據(jù)解析能力以及準(zhǔn)確識別傳輸節(jié)點的身份標(biāo)志號(identification,ID),防止數(shù)據(jù)傳輸時發(fā)生沖突。
④具備網(wǎng)絡(luò)連接自動恢復(fù)功能,當(dāng)網(wǎng)絡(luò)斷開后能夠重新嘗試連接并記錄連接狀態(tài)信息,以備工程人員分析;快速接收并響應(yīng)操作指令。
農(nóng)業(yè)溫室大棚多參數(shù)監(jiān)控平臺具有遠(yuǎn)程實時監(jiān)控溫室環(huán)境參數(shù)的功能,農(nóng)業(yè)工作者可以隨時在異地通過平臺監(jiān)測環(huán)境數(shù)據(jù),并且對溫室的環(huán)境進(jìn)行精準(zhǔn)調(diào)節(jié)控制。因此,監(jiān)控平臺的應(yīng)用界面應(yīng)滿足監(jiān)控功能齊全、人機(jī)交互便捷、簡潔美觀等要求。功能如下。
①設(shè)置不同的操作權(quán)限:管理員和操作員。管理員能夠完全操作全平臺所有系統(tǒng)功能,包括查詢、寫入、修改、刪除、導(dǎo)出數(shù)據(jù)等;操作員只可以進(jìn)行查看數(shù)據(jù)。
②以管理員身份登陸可以錄入、修改用戶信息與操作權(quán)限;修改、錄入傳感器信息,包括型號、銘牌參數(shù)、出廠日期和投入使用等;設(shè)置環(huán)境參數(shù)的閾值等。
③監(jiān)控平臺的人機(jī)交互界面有:登錄界面,用于用戶身份切換顯示;顯示界面,包括實時數(shù)據(jù),設(shè)備狀態(tài)等;查詢界面,包括歷史數(shù)據(jù)、用戶信息以及設(shè)備信息等;操作界面,包括修改權(quán)限、閾值設(shè)定等。
④歷史數(shù)據(jù)的定期備份。
農(nóng)業(yè)溫室監(jiān)控平臺的軟件部署于物聯(lián)網(wǎng)中的應(yīng)用層,農(nóng)業(yè)用戶通過與Web瀏覽器進(jìn)行交互實現(xiàn)功能。該層的具體軟件架構(gòu)設(shè)計仍可以細(xì)分為存儲層、業(yè)務(wù)層、應(yīng)用表現(xiàn)層。
監(jiān)控平臺系統(tǒng)軟件架構(gòu)如圖4所示。
圖4 監(jiān)控平臺系統(tǒng)軟件架構(gòu)圖Fig.4 Software architecture diagram of monitoring platform system
服務(wù)器應(yīng)用基于Node.Js開發(fā),以滿足數(shù)據(jù)密集型處理的需求。因此,溫室環(huán)境監(jiān)控平臺的數(shù)據(jù)庫選用MongoDB是較好的選擇[11]。MongoDB是一款優(yōu)秀的數(shù)據(jù)庫,其具有很多優(yōu)點:多源異構(gòu)的感知數(shù)據(jù)的存儲,海量的感知數(shù)據(jù)的存儲,時空關(guān)聯(lián)的感知數(shù)據(jù)的存儲,多維的感知數(shù)據(jù)的存儲。對于平臺的數(shù)據(jù)庫設(shè)計分為兩部分:實體-聯(lián)系模型(entity-relationship model,E-R模型)設(shè)計與數(shù)據(jù)庫邏輯結(jié)構(gòu)的表設(shè)計。
3.1.1 E-R模型
數(shù)據(jù)庫的概念結(jié)構(gòu)設(shè)計采用E-R模型方法。E-R模型需要設(shè)計實體、聯(lián)系和屬性。
軟件用戶模塊可以實現(xiàn)對實體大棚狀態(tài)的查詢與控制,對實體傳感器采集環(huán)境參數(shù)的查詢;軟件傳感器模塊可以與實體傳感器進(jìn)行交互,實現(xiàn)參數(shù)采集;軟件調(diào)節(jié)執(zhí)行設(shè)備模塊,可以實現(xiàn)對實體大棚的調(diào)節(jié)控制。
通過物體實體、物體屬性以及物體間的關(guān)系來描繪農(nóng)業(yè)溫室大棚多參數(shù)監(jiān)控平臺的數(shù)據(jù)庫[12]。物體實體具體分類如下。
①用戶:屬性包括權(quán)限識別編碼,姓名、性別、地址、身份證信息、聯(lián)系方式,以及用戶的登錄賬號和密碼等。
②傳感器:屬性包括儀器名稱、出廠日期、投運具體日期、測量精度與范圍、所在節(jié)點的位置和工作狀態(tài)。
③溫室大棚:屬性包括大棚名稱、IP地址、地理位置、農(nóng)作物品種、生長周期等。
④環(huán)境調(diào)節(jié)控制設(shè)備:屬性包括設(shè)備名稱、類型、所屬溫室大棚、啟停時間,當(dāng)前工作狀態(tài)、控制閾值等。
⑤環(huán)境參數(shù):屬性包括環(huán)境參數(shù)類別(空氣溫度、濕度、CO2、光照、土壤溫度、土壤濕度)、采集時間、采集節(jié)點等。
3.1.2 數(shù)據(jù)庫關(guān)系表
根據(jù)E-R模型的設(shè)計分析,可以進(jìn)行數(shù)據(jù)庫的邏輯結(jié)構(gòu)設(shè)計。具體表現(xiàn)為數(shù)據(jù)庫的表結(jié)構(gòu)設(shè)計。數(shù)據(jù)表是數(shù)據(jù)庫的基本信息結(jié)構(gòu)。本平臺設(shè)計了6個數(shù)據(jù)表。
①用戶登陸表-Login:根據(jù)權(quán)限分為管理員和操作員,用戶登錄信息包括用戶編號、登錄名和密碼、登錄時間、操作記錄等。
②用戶信息表-User:記錄個人信息,包括ID、姓名、崗位、身份證信息、通信電話、登錄時間等。
③傳感器表-Sensor:存儲傳感設(shè)備的完整信息,比如設(shè)備類型、型號、測量范圍與精度、運行時間、當(dāng)前狀態(tài)、通信協(xié)議以及所處位置。
④控制設(shè)備表-Controlor: 存儲設(shè)備信息,包括名稱、型號、所在溫室、當(dāng)前狀態(tài)、啟動閾值、調(diào)節(jié)量等。
⑤溫室表-GreenHouse:存儲溫室的信息,包括名稱、編號、種植作物、地址等。
⑥溫室環(huán)境數(shù)據(jù)信息表-MonitoringData:存儲環(huán)境參數(shù),包括數(shù)據(jù)類型、采集節(jié)點和采集時間以及各環(huán)境參數(shù)的實時數(shù)據(jù)。
3.2.1 監(jiān)控平臺功能設(shè)計
農(nóng)業(yè)溫室大棚多參數(shù)監(jiān)控平臺的總體功能模塊,由4個模塊組成。系統(tǒng)功能模塊如圖5所示。
圖5 系統(tǒng)功能模塊Fig.5 Functional modules of the system
用戶管理是對登陸本平臺的用戶權(quán)限進(jìn)行管理,記錄登錄時間、操作以及個人信息的管理等。
傳感器件管理是對傳感器類型、名稱、使用狀態(tài)和安裝位置信息等進(jìn)行管理;并且傳感器出現(xiàn)故障時可以根據(jù)安裝位置快速定位。
環(huán)境參數(shù)管理是處理分析環(huán)境數(shù)據(jù),實現(xiàn)數(shù)據(jù)的實時查看、歷史查詢、導(dǎo)出備份,以及閾值報警、農(nóng)業(yè)大數(shù)據(jù)分析等。
控制機(jī)構(gòu)管理是設(shè)置環(huán)境控制設(shè)備啟停的閾值,并在數(shù)據(jù)超出閾值范圍后發(fā)送命令進(jìn)行具體操作,包括對加熱設(shè)備、通風(fēng)機(jī)、遮陽裝置以及噴灌裝置的啟動或者停止。
3.2.2 監(jiān)控平臺界面設(shè)計
監(jiān)控平臺的界面是運行在瀏覽器的Web網(wǎng)頁,并且根據(jù)平臺的功能模塊進(jìn)行設(shè)計。分別開發(fā)了用戶注冊與登錄界面、傳感器信息管理界面、溫室大棚信息管理界面、環(huán)境參數(shù)監(jiān)測與實時查詢界面、環(huán)境參數(shù)監(jiān)測與歷史查詢界面以及命令控制管理界面,以此支持用戶對平臺功能的各種操作需求。
通過選擇特定的溫室大棚的特定采集節(jié)點,環(huán)境參數(shù)實時查詢界面顯示該采集節(jié)點當(dāng)前采樣時間與實時數(shù)據(jù)。查詢時根據(jù)設(shè)置的條件,可以查看多個大棚的不同測試節(jié)點的信息,順序為:先選擇大棚再選擇節(jié)點位置。
在環(huán)境參數(shù)歷史查詢界面,通過選擇查詢時間段、查詢采集節(jié)點、參數(shù)類型3個查詢條件,可查看、導(dǎo)出數(shù)據(jù)的歷史變化曲線和相應(yīng)的表格。數(shù)據(jù)的顯示可以根據(jù)需要選擇以歷史數(shù)據(jù)的文本形式或者曲線形式進(jìn)行切換。
其他幾個界面的設(shè)計也與平臺的功能對應(yīng),分別實現(xiàn)用戶登錄注冊、傳感器與溫室信息管理、環(huán)境控制管理功能。
本文主要完成了基于物聯(lián)網(wǎng)的農(nóng)業(yè)溫室大棚多參數(shù)監(jiān)控平臺的設(shè)計。平臺的架構(gòu)按照物聯(lián)網(wǎng)的三層結(jié)構(gòu)要求搭建?;贛ongoDB完成了溫室監(jiān)控與智能管理系統(tǒng)的數(shù)據(jù)庫表;基于B/S架構(gòu)設(shè)計了平臺的智能管理功能與操作界面,實現(xiàn)了用戶登錄、平臺信息查詢管理、控制設(shè)備管理,同時也實現(xiàn)了溫室大棚內(nèi)多環(huán)境參數(shù)的實時監(jiān)測與顯示。此外,平臺還可以進(jìn)行環(huán)境數(shù)據(jù)分析、數(shù)據(jù)導(dǎo)出與備份、數(shù)據(jù)曲線圖與柱狀圖的繪制等操作。經(jīng)實際項目測試表明,該系統(tǒng)實用性強、數(shù)據(jù)通信穩(wěn)定、操作界面友好。