王文科+燕磊



摘 要
基于 B/S結構、開源yeelink API進行系統構建和網頁發布,并采用MVC模式構建頁面。實現了溫室大棚的數據可視化、達到更好的人機效果和用戶體驗的系統。該系統能夠滿足當前對溫室大棚的環境檢測和控制的需求。解決了C/S兩層結構存在的可擴展性、可維護性等缺陷,為設備保障、網站優化布局提供了更好的實現方式。
【關鍵詞】B/S yeelink 溫室大棚
隨著物聯網的發展,農業物聯網不管是在研究領域還是實際的運用都取得了很好的成果,但是也存在很多不足:
(1)農業物聯網的自組織網絡部署和信息傳輸技術還不夠完善,需要加強農業物聯網技術集成平臺建設;
(2)由于農業物聯網涉及面廣、技術多,目前針對農業物聯網的通信協議還沒有統一,各自農業物聯網系統也是采取自己設計的通信協議,將難以推廣物聯網在農業的應用。
(3)常用的搭建系統的客戶端 /服務器結構( 簡稱 C /S 結構) 兩層結構存在可擴充性、 可維護性及安全性較差,已較難適應信息技術與網絡技術發展的需要。本文從第三點的角度考慮來改善系統的設計。
B/S結構(Browser/Server,瀏覽器/服務器模式),是WEB興起后的一種系統構建模式。。B/S結構從根本上來講是將C/S的兩層模型結構擴展為三層,在客戶端和數據庫中間加入了一個邏輯層,將應用程序的業務規則、數據訪問、合法性校驗等工作放到了中間層進行處理。
通過結合瀏覽器的各種腳本語言和Active X技術來實現 ,簡化了系統的開發、維護和使用。由于統一了客戶端,所以具有很好的移植性。服務器端安裝SQL Server、Oracle、MYSQL等數據庫,瀏覽器通過Web Server同數據庫進行交互。通過Ajax技術能夠實現程序在客戶端電腦上進行部分處理,減輕了服務器端的負擔,并增強了交互性和實時性 。
1 系統設計
1.1 總體設計
應用以太網模塊將實時收集的溫室大棚的環境信息,如溫度、濕度、光照強度等經過數據處理之后發送到瀏覽器端,瀏覽器端的核心部分是yeelink平臺提供的API。管理者通過瀏覽器端的數據來根據需要進行實時控制。瀏覽器端顯示的數據可以幫助管理者對數據進行分析、整理、融合。系統主要實現以下幾個方面功能。
1.1.1 溫室大棚環境信息采集
實現溫濕度傳感器、光照度傳感器、土壤水分傳感器等傳感器的數據采集,用于全方位實時監測農作物的生長環境。
1.1.2 溫室大棚環境控制
將傳感器采集的數據通過以太網模塊傳送到云平臺后,可以通過遠程PC或手機終端控制實現,也可以通過設定域值來實現自動控制。控制系統可以根據農作物的生長環境變化控制溫度控制系統、光照度控制系統和灌溉系統,用于全方位實時監測農作物的生長環境。總體設計如圖1所示。
1.2 硬件設計
溫室大棚的下位機采用以AVR為核心的Arduino微處理器。該處理器自身集成了大量的庫文件用來擴展應用,其中就有需要用到的Ethernet庫,可以非常快捷的編寫程序。Yeelink云平臺也提供了大量的與Arduino進行數據交互的實例。數據采集選擇DS18B20溫度傳感器、DHT11溫濕度傳感器和BH175FVI光照度傳感器分別完成對溫度、濕度和光照度的檢測;將數據處理后發送到控制器中進行處理。硬件結構圖如圖2所示。
2 數據通信協議格式
為了實現客戶端與服務器端的數據通信,以及節點終端和移動終端的信息通信與設備控
制,本文按照JSON格式設計一套完整的溫室大棚通信協議。JSON( JS 對象標記) 是一種輕量級的數據交換格式。它基于ECMAScript規范的一個子集,采用完全獨立于編程語言的文本格式來存儲和表示數據。簡潔和清晰的層次結構使得 JSON 成為理想的數據交換語言。 易于人閱讀和編寫,同時也易于機器解析和生成,并有效地提升網絡傳輸效率。基本數據式:[{"sensor01":0},{"sensor02":202},{"sensor03":1},{"sensor04":34}]。
3 軟件系統設計
整個軟件操作部分采用模型-視圖-控制器模式(MVC) ,可以方便的支持不同的客戶端類型和個性化設置。
基于上述MVC模式,溫室大棚的管理系統借助于yeelink API文檔建立起Web與傳感器之間的數據交互,在組成上又可以劃分為:客戶端-Web服務-應用服務-數據庫服務 ,其中,Web服務層還可以細分為表現層、業務邏輯層以及數據層,在業務邏輯層與展現層之間的yeelink 云平臺相當于邏輯控制層的數據傳遞中間件,其功能為轉發用戶操作至業務邏輯層。Web服務器負責接收瀏覽器用戶的請求,調用相關功能模塊進行業務處理;數據服務器負責數據的存儲和管理,以及響應應用服務器的數據請求,并發送相關的數據客戶端為用戶提供交互接口,發送用戶請求,接收Web間的交互合理分配,具備很強的可擴展性和可移植性,使得整個系統易于維護。
4 結論
基于B/S架構和開源 Yeelink平臺的智能溫室大棚為用戶提供了良好的交互界面,使其可以直觀地了解和掌握溫室大棚環境的基本信息。管理者無須安裝任何客戶端軟件就可以在任何具備瀏覽器的機器上進行業務處理,為用戶提供強大的遠程操作功能。系統采用MVC分層,使系統具有很強的可維護性和擴展性,既能夠滿足當前的業務需求,又為今后的功能擴展留有空間。
參考文獻
[1]程英蕾,殷肖川,吳豐.從C/S模式轉向B/S模式[J].空軍工程大學學報:自然科學版,2000,1(02):48-51.
[2]吳學義,黃永平,郭娜.基于AJAX的B/S架構及應用[J].吉林大學學報:信息科學2007,25(03):314-318.
[3]李園,陳世平.MVC設計模式在ASP.NET平臺中的應用[J].計算機工程與設計,2009,30(13):3180-3185.
[4]李敏,孟臣.溫室大棚計算機測控系統的研制[J].計算機與農業,2001(06):9-11.