續文敏,韓芳芳,趙 巖,楊 雷,沈樂樂
(1.天津市復雜系統控制理論及應用重點實驗室,天津 300384;2.天津理工大學電氣電子工程學院,天津 300384)
目前,我國農業生產的現狀,無論是個體種植,還是大型農場,大多數還是按照傳統的農業種植方法進行。而傳統方法人力成本高、效率低下。在市場的大量需求之下,現代農業發展的步伐逐漸加快。現代農業是通過各類傳感器采集農業種植過程中的重要參數,對這些參數進行處理并作出相應的環境調整;將這些數據上傳到互聯網,便于用戶實時查看農場中的各類參數以作出相關的調整,并存儲各類參數,以助于植物生長習性的研究[1]。
近年來,物聯網技術已經應用在農業的病蟲害防治、生長情況監測、農業物流等方面,極大地促進了現代農業的發展。本文的研究基于農業物聯網技術,開發基于MongoDB的溫室監控與智能管理系統的數據庫,建立基于B/S架構設計平臺的智能管理功能與操作界面,實現數據實時查詢、存儲、導出等功能,并通過設定環境參數的閾值,遠程控制相關設備調節環境參數,以滿足現代農業的需求。
物聯網(Internet of Things,IoT),是一個由實際物品和各種現實的信息連接而成的大型智能網絡[2]。信息可以根據物聯網規定的交互接口以及身份唯一識別編碼在物聯網中的信道中進行有效通信[3]。通過物聯網技術與傳感器技術、互聯網技術等深度結合的方式,可以將感知數據通過物聯網的傳輸層傳輸到服務器,從而實現對現場物與物的信息的識別、監測、控制與管理等。
由于物聯網具有信息全面感知、采集信息的可靠傳輸以及終端數據的智能處理這三大優勢特點,被廣泛應用于工業、交通、物流、農業等領域。近年來,農作物的種植、生產、銷售等多個環節也都引進了物聯網技術,農業物聯網整體可以由三個層次組成,分別為感知層、傳輸層與應用層。
農業物聯網結構如圖1所示。

圖1 農業物聯網結構圖Fig.1 Structure diagram of agricultural Internet of Things
感知層是利用先進的傳感器技術來感知、采集農作物的生長環境因子,或者利用不同的條形碼、二維碼來記錄農產品在生產和運輸過程中的多種信息,并通過無線射頻識別技術獲取該農產品的條碼信息。感知層是實現農業物聯網功能的最基礎設施,只有精準、穩定地采集到農作物、農產品的各種所需數據與信息,才能為環境監控、智能分析與管理等功能提供可靠、全面的數據信息。
傳輸層是連接采集層與應用層的紐帶,利用已有的網絡通信技術,實現數據在三個層之間的傳輸,達到對現場環境的參數的優化。
應用層的作用主要是遠程查看監測數據與控制現場環境,工作人員可通過瀏覽器或者手機APP終端實現數據的實時查看、歷史數據的導出等,此外還可以設置環境控制器的動作閾值或者手動進行環境的調節,以促進提高農業的智能化發展[4]。
感知層主要由傳感器部分組成。所使用的傳感器將所測物化信息轉化成數字量或電信號[5]。本課題采用SHT10傳感器測量溫室的溫度和溫室的濕度信息,光照度傳感器測量溫室光照度,CO2傳感器測量CO2濃度。其中,溫濕度信息轉化為數字信號,另外兩個量轉化為RS-485信號[6]。
傳感器的發展趨勢為:①微型化,即利用新材料和新工藝減小傳感器現有的體積;②低功耗,傳感器工作要持續供電,未來發展趨勢時開發功耗更低的傳感器,甚至向無源傳感器方向發展;③網絡化,將網絡接口協議和通信協議內嵌于傳感器,使接入網絡的傳感器遵循一致的協議,從而使得傳感器智能組網[7]。
通用分組無線業務(general packet radio service,GPRS)技術是將全球移動通信系統(global system for mobile communications,GSM)技術進行改進,并結合網絡而產生的分組無線數據業務。信息經過GPRS傳輸時被分成大小不同的分組數據包,每個數據包的頭部部分傳送目的地址,數據傳輸符合TCP/IP協議[8]。GPRS模塊與Internet的連接如圖2所示。GPRS技術具有的優點有:按流量計費,資源分配合理,工作時計費[9];傳輸速率高,連接速度,信號覆蓋范圍大等。

圖2 GPRS模塊與Internet連接示意圖Fig.2 Schematic diagram of connections between GPRS module and Internet
一般的溫室大棚面積較大,需要在合理的空間位置安裝采集層設備,并且每個采集設備節點實現了多環境參數的一體化采集,各個采集節點通過RS-485總線與主機連接。
系統結構圖如圖3所示。整個系統由一個主機和N個節點構成。節點安裝位置、每個節點安裝所需傳感器等視現場實際情況而定。

圖3 系統結構圖Fig.3 Structure diagram of system
系統啟動后,不同位置的采集節點進行環境參數采集,經過數據傳輸單元(data transfer unit,DTU),通過GPRS方式將數據發送至應用層服務器中,并通過相應的服務進程將采集數據按照采集節點編號逐條存儲于數據庫。系統采用的MongoDB是一種面向文檔的數據庫,數據庫增、刪、改、查內容方便,在多維數據處理的系統中應用廣泛[10]。
通過在溫室大棚不同的位置安裝不同的環境參數傳感器,對環境數據實時采集,構成農業物聯網的感知層。下面是數據采集層的實現過程。
①安裝N個采集節點,多參數一體化的采集,數據包括:空氣濕度、空氣溫度、光強、土壤水分含量、土壤溫度和環境中CO2濃度。
②定義傳輸層的數據傳輸格式,確定采集層不同采集節點的編號、采集參數傳輸順序與編碼、采集時間編碼,確定傳輸校驗方式等。
③定義采集點的通信狀態控制碼。當發生通信堵塞、異常連接時,傳輸數據的末兩位顯示當前通信狀態,00H表示正常通信;10H表示通信正常但返回值異常;11H表示通信中斷。
④開發傳感器高度自動調節的裝置平臺,實現傳感器采集位置隨農作物的生長而高度自動增加的功能,滿足了溫室大棚內環境參數立體測量網絡的建立。
數據的傳輸方式可以選擇有線和無線兩種。為了正常使用開發的系統,需要通過穩定的網絡,實現將感知層數據傳輸到后臺數據中心、將處理數據后得到的決策命令發送給感知層設備的操作。
數據傳輸層的主要功能如下。
①保持采集層設備實時在線,通過GPRS網絡將采集數據打包傳輸至服務器端。
②具有采集層連接狀態的監控機制,采集設備通過定時發送心跳包,作為服務器判定設備是否在線,如超時未收到心跳包則判斷為失去連接,服務器將釋放連接資源。
③支持多傳輸節點DTU的傳輸要求,根據溫室規模,接入系統的DTU的數量將動態變化,因此傳輸層需滿足多節點的網絡連接需求,快速的數據解析能力以及準確識別傳輸節點的身份標志號(identification,ID),防止數據傳輸時發生沖突。
④具備網絡連接自動恢復功能,當網絡斷開后能夠重新嘗試連接并記錄連接狀態信息,以備工程人員分析;快速接收并響應操作指令。
農業溫室大棚多參數監控平臺具有遠程實時監控溫室環境參數的功能,農業工作者可以隨時在異地通過平臺監測環境數據,并且對溫室的環境進行精準調節控制。因此,監控平臺的應用界面應滿足監控功能齊全、人機交互便捷、簡潔美觀等要求。功能如下。
①設置不同的操作權限:管理員和操作員。管理員能夠完全操作全平臺所有系統功能,包括查詢、寫入、修改、刪除、導出數據等;操作員只可以進行查看數據。
②以管理員身份登陸可以錄入、修改用戶信息與操作權限;修改、錄入傳感器信息,包括型號、銘牌參數、出廠日期和投入使用等;設置環境參數的閾值等。
③監控平臺的人機交互界面有:登錄界面,用于用戶身份切換顯示;顯示界面,包括實時數據,設備狀態等;查詢界面,包括歷史數據、用戶信息以及設備信息等;操作界面,包括修改權限、閾值設定等。
④歷史數據的定期備份。
農業溫室監控平臺的軟件部署于物聯網中的應用層,農業用戶通過與Web瀏覽器進行交互實現功能。該層的具體軟件架構設計仍可以細分為存儲層、業務層、應用表現層。
監控平臺系統軟件架構如圖4所示。

圖4 監控平臺系統軟件架構圖Fig.4 Software architecture diagram of monitoring platform system
服務器應用基于Node.Js開發,以滿足數據密集型處理的需求。因此,溫室環境監控平臺的數據庫選用MongoDB是較好的選擇[11]。MongoDB是一款優秀的數據庫,其具有很多優點:多源異構的感知數據的存儲,海量的感知數據的存儲,時空關聯的感知數據的存儲,多維的感知數據的存儲。對于平臺的數據庫設計分為兩部分:實體-聯系模型(entity-relationship model,E-R模型)設計與數據庫邏輯結構的表設計。
3.1.1 E-R模型
數據庫的概念結構設計采用E-R模型方法。E-R模型需要設計實體、聯系和屬性。
軟件用戶模塊可以實現對實體大棚狀態的查詢與控制,對實體傳感器采集環境參數的查詢;軟件傳感器模塊可以與實體傳感器進行交互,實現參數采集;軟件調節執行設備模塊,可以實現對實體大棚的調節控制。
通過物體實體、物體屬性以及物體間的關系來描繪農業溫室大棚多參數監控平臺的數據庫[12]。物體實體具體分類如下。
①用戶:屬性包括權限識別編碼,姓名、性別、地址、身份證信息、聯系方式,以及用戶的登錄賬號和密碼等。
②傳感器:屬性包括儀器名稱、出廠日期、投運具體日期、測量精度與范圍、所在節點的位置和工作狀態。
③溫室大棚:屬性包括大棚名稱、IP地址、地理位置、農作物品種、生長周期等。
④環境調節控制設備:屬性包括設備名稱、類型、所屬溫室大棚、啟停時間,當前工作狀態、控制閾值等。
⑤環境參數:屬性包括環境參數類別(空氣溫度、濕度、CO2、光照、土壤溫度、土壤濕度)、采集時間、采集節點等。
3.1.2 數據庫關系表
根據E-R模型的設計分析,可以進行數據庫的邏輯結構設計。具體表現為數據庫的表結構設計。數據表是數據庫的基本信息結構。本平臺設計了6個數據表。
①用戶登陸表-Login:根據權限分為管理員和操作員,用戶登錄信息包括用戶編號、登錄名和密碼、登錄時間、操作記錄等。
②用戶信息表-User:記錄個人信息,包括ID、姓名、崗位、身份證信息、通信電話、登錄時間等。
③傳感器表-Sensor:存儲傳感設備的完整信息,比如設備類型、型號、測量范圍與精度、運行時間、當前狀態、通信協議以及所處位置。
④控制設備表-Controlor: 存儲設備信息,包括名稱、型號、所在溫室、當前狀態、啟動閾值、調節量等。
⑤溫室表-GreenHouse:存儲溫室的信息,包括名稱、編號、種植作物、地址等。
⑥溫室環境數據信息表-MonitoringData:存儲環境參數,包括數據類型、采集節點和采集時間以及各環境參數的實時數據。
3.2.1 監控平臺功能設計
農業溫室大棚多參數監控平臺的總體功能模塊,由4個模塊組成。系統功能模塊如圖5所示。

圖5 系統功能模塊Fig.5 Functional modules of the system
用戶管理是對登陸本平臺的用戶權限進行管理,記錄登錄時間、操作以及個人信息的管理等。
傳感器件管理是對傳感器類型、名稱、使用狀態和安裝位置信息等進行管理;并且傳感器出現故障時可以根據安裝位置快速定位。
環境參數管理是處理分析環境數據,實現數據的實時查看、歷史查詢、導出備份,以及閾值報警、農業大數據分析等。
控制機構管理是設置環境控制設備啟停的閾值,并在數據超出閾值范圍后發送命令進行具體操作,包括對加熱設備、通風機、遮陽裝置以及噴灌裝置的啟動或者停止。
3.2.2 監控平臺界面設計
監控平臺的界面是運行在瀏覽器的Web網頁,并且根據平臺的功能模塊進行設計。分別開發了用戶注冊與登錄界面、傳感器信息管理界面、溫室大棚信息管理界面、環境參數監測與實時查詢界面、環境參數監測與歷史查詢界面以及命令控制管理界面,以此支持用戶對平臺功能的各種操作需求。
通過選擇特定的溫室大棚的特定采集節點,環境參數實時查詢界面顯示該采集節點當前采樣時間與實時數據。查詢時根據設置的條件,可以查看多個大棚的不同測試節點的信息,順序為:先選擇大棚再選擇節點位置。
在環境參數歷史查詢界面,通過選擇查詢時間段、查詢采集節點、參數類型3個查詢條件,可查看、導出數據的歷史變化曲線和相應的表格。數據的顯示可以根據需要選擇以歷史數據的文本形式或者曲線形式進行切換。
其他幾個界面的設計也與平臺的功能對應,分別實現用戶登錄注冊、傳感器與溫室信息管理、環境控制管理功能。
本文主要完成了基于物聯網的農業溫室大棚多參數監控平臺的設計。平臺的架構按照物聯網的三層結構要求搭建。基于MongoDB完成了溫室監控與智能管理系統的數據庫表;基于B/S架構設計了平臺的智能管理功能與操作界面,實現了用戶登錄、平臺信息查詢管理、控制設備管理,同時也實現了溫室大棚內多環境參數的實時監測與顯示。此外,平臺還可以進行環境數據分析、數據導出與備份、數據曲線圖與柱狀圖的繪制等操作。經實際項目測試表明,該系統實用性強、數據通信穩定、操作界面友好。