鹽城工業職業技術學院 鄭亞平 劉寧
農業是關系著國計民生的基礎產業,傳統農業存在技術水平落后,農業生產率低下等問題。隨著物聯網和互聯網技術的出現與快速發展,農業技術發展迎來了新的機遇與挑戰。
物聯網技術在農業大棚中的利用,需要在農業大棚中接入傳感器,這些傳感器能夠監測了農業大棚中內部影響農作物生長的參數,通過改善農業大棚內的環境,能大大提高農業生產效益。目前市面上的基于物聯網的管理平臺大多成本高昂、操作麻煩、難于部署并且拘泥于現場不能做到遠程監控、實時監控,致使農業信息化進程發展緩慢。因此,需要建立一個平臺能夠自動地通過無線傳感器技術接受記錄傳感器監測的環境參數,進而保證通過物聯網技術能夠準確地獲取農作物的產量信息和周圍的環境信息,可以實現農業信息化管理,推進中國現代化農業的發展進程。
本系統開發的工具主要包括Sublime,InfluxDB 時序數據庫,SQL Server 2008 R2 關系數據庫,Fiddler、Firefox 瀏覽器。
本系統開發的技術主要包括:REST 技術,Bootstrap 技術,Golang 技術。
REST 是一種簡單的、可擴展的、針對Web 開發而設計的架構風格,是一種對網絡系統架構的約束準則,符合這個準則的就是RESTful 框架。REST 架構風格把網絡上分布的各種數據看作資源,分布在各處的資源由URI 來標識,而客戶端應用通過URI 來獲取資源的表現形式,同一個資源可以有多個表現形式,具體的表現形式通過在URI 請求中加入限定參數來描述。
Bootstrap 技術是HTML 和CSS 的集合,可以通過現成的ui 組件能夠迅速搭建前端頁面。并且Bootstrap技術提供了響應式Web 設計,這種技術可以使得網頁頁面布局會自動根據屏幕的大小而進行相應的響應和調整。這種設計使得無須在為每一個終端設備做特定的版本,大大減少了開發者的開發工作。
Golang 是一種全新的編程語言,有如下幾大優勢:一是go 的開發效率高;二是運行速度快,尤其在并發問題上,性能尤為突出。三是部署簡單,目標機器上只需要一個基礎的系統和必要的管理、監控工具,完全不需要操心應用所需的各種包、庫的依賴關系,大大減輕了維護的負擔。
本系統是要研發一套適用于物聯網行業應用及行業終端的統一開放式管理平臺,實現農業大棚環境參數實時監測、展示以及移動端遠程控制的功能。本系統采用B/S 的模式。選擇B/S 架構,也隨之帶來一個問題。當前瀏覽器和屏幕尺寸碎片化嚴重,不同的瀏覽器支持W3C 標準的程度也不徑相同,而且瀏覽器的版本新舊不同,支持的特性也不一樣。更重要的是,屏幕尺寸的不同,顯示效果也不一樣。因此采用CSS3 技術以適應各類瀏覽器和屏幕尺寸。前端框架選擇開源的Bootstrap,在此基礎上開發自己的樣式和做響應式Web設計,以適配PC 端和移動端各類瀏覽器和屏幕尺寸。
為支持對下位機實時傳送的傳感器數據監聽和對設備的自動控制,需要服務端在并發問題上提供高效的處理能力,因此在Server 端采用Golang 開發。Go 在語言級別上支持了并發,通過簡單的關鍵go 就可以充分利用多核,這對于硬件不斷發展的時代,如此簡單就可以充分利用硬件的多核,解決高并發的問題,其特性可想而知。
經過需求分析,并結合主流就技術設計的系統架構如圖1 所示。

圖1 系統架構圖
通過對農業大棚管理系統的需求分析可得,本系統需要采用了兩種數據庫,一種是InfluxDB 時序數據庫,存儲實時采集的傳感器數據;另一種是SQL Server 2008 R2 關系數據庫,存儲基礎的關系數據。
4.3.1 訪問安全驗證
本系統采用后臺和前臺完全分離的思想。服務端通過go-restful 包提供的API 來指定服務端資源的URL,客戶端通過此URL 進行HTTP 請求,就可以獲取服務端的資源,但是,這會使得服務端提供的API 服務完全暴露,因此服務端必須提供有效的安全措施,例如只有有權限的用戶才能訪問指定的數據資源。
go-restful 支持對每一層對象添加對應的fliter,用于對方法進行一層封裝,用于進行pre function 操作,使用起來也很簡單。
4.3.2 視頻顯示的設計
先在本機上安裝視頻插件,用戶通過獲取到的用戶名、密碼、NVR 設備的IP 地址和端口號,登錄NVR(網絡硬盤錄像機)設備,然后通過調用視頻插件提供的API,可對攝像頭視頻進行實時查看、分屏、全屏、退出等功能。
4.3.3 上位機和下位機通訊的設計
本系統上位機和下位機通訊主要涉及兩個方面。一個是傳感器采集,數據采集節點通過WiFi 將UDP數據包傳輸到路由器上,再由路由器傳輸到Web 服務器。另一個是設備控制,先由Web 服務器通過網絡發送TCP 包到路由器上,再由路由器通過WiFi 向設備控制節點傳輸控制數據包。本系統采用的是計算機網路下的socket 方式通訊方式,通過Socket 通信的好處是無須和協調器物理連接,運行本平臺的計算機可以在任何有網的地方,與分布在多地的多個協調器進行通信,實現多地遠程監控。圖2 是上位機與下位機的通訊模式。

圖2 通訊模式
系統主頁主要包括系統的兩個子系統:實時監控子系統和后臺管理子系統。
(1)實時監控子系統如圖3 所示,包含基于百度地圖顯示、傳感器數據實時顯示、視頻監控三個功能。

圖3 實時監控子系統
(2)后臺管理子系統如圖4 所示,包括:實時監控管理和用戶管理。

圖4 后臺管理子系統
本系統對農業推行現代化建設進行了探究,是基于物聯網的農業管理系統,希望通過視頻對農作物的實時監控,快速便捷實時地了解大棚內農作物生長狀況,通過環境數據監測和視頻監測大棚內各種設備的關閉情況,分析出影響產品生長的因素,再通過自動或是手動控制設備,改善大棚環境參數,提高產品生產效率。本課題的實現有助于農業大棚信息的管理實現規范化、科學化和信息化,給工作人員帶來極大的方便。