趙金才,焦智瑩,梁峰
?
基于ZigBee和Web技術(shù)的溫室大棚遠(yuǎn)程監(jiān)控系統(tǒng)
趙金才,焦智瑩,梁峰
(天津農(nóng)學(xué)院工程技術(shù)學(xué)院,天津 300384)
基于ZigBee和Web技術(shù)的大棚遠(yuǎn)程監(jiān)控系統(tǒng),采用運(yùn)行有ZigBee協(xié)議棧的CC2530單片機(jī)和刷有Openwrt的路由器網(wǎng)關(guān),實(shí)現(xiàn)了大棚內(nèi)ZigBee終端的內(nèi)組網(wǎng)和外聯(lián)網(wǎng)。ZigBee終端包括掛載有溫濕度、光照強(qiáng)度、二氧化碳濃度等的傳感器節(jié)點(diǎn)和控制大棚通風(fēng)窗、遮光簾、保溫簾、滴灌、補(bǔ)光器等機(jī)構(gòu)的控制節(jié)點(diǎn)兩種類型。傳感器節(jié)點(diǎn)的數(shù)據(jù)通過ZigBee協(xié)調(diào)器及網(wǎng)關(guān)上傳到網(wǎng)絡(luò)云服務(wù)器,Web服務(wù)器提供人機(jī)交互界面,用戶可通過瀏覽器實(shí)現(xiàn)遠(yuǎn)程自動(dòng)和手動(dòng)監(jiān)控。系統(tǒng)無需現(xiàn)場(chǎng)布線,采集點(diǎn)設(shè)置靈活,覆蓋面積廣,利于傳統(tǒng)大棚向種植管理數(shù)字化、精確化方向提升改造。
ZigBee;溫室大棚;云服務(wù)器
近年來,我國(guó)的溫室大棚種植已經(jīng)形成規(guī)?;彤a(chǎn)業(yè)化,但在大棚種植過程中自動(dòng)化程度較低,仍然存在過于依賴人的經(jīng)驗(yàn)、效率低、精度差等問題,直接影響作物的產(chǎn)量和質(zhì)量[1]。本文提出一種將傳感器技術(shù)、無線網(wǎng)絡(luò)技術(shù)和自動(dòng)控制技術(shù)相結(jié)合的基于Web服務(wù)器和ZigBee組網(wǎng)的溫室大棚遠(yuǎn)程監(jiān)控系統(tǒng),不僅能夠?qū)崿F(xiàn)大棚環(huán)境溫度、濕度、二氧化碳、通風(fēng)量等參數(shù)的自動(dòng)調(diào)節(jié),還可利用手機(jī)或電腦通過互聯(lián)網(wǎng)對(duì)大棚的通風(fēng)窗、遮光簾、保溫簾、滴灌等機(jī)構(gòu)設(shè)備進(jìn)行遠(yuǎn)程控制,既利于保證大棚環(huán)境參數(shù)達(dá)到作物的最佳生長(zhǎng)需求,又簡(jiǎn)化了設(shè)備的操作,便于溫室大棚調(diào)控系統(tǒng)的普及和推廣。
系統(tǒng)主要由傳感器節(jié)點(diǎn)、控制節(jié)點(diǎn)、網(wǎng)關(guān)以及Web服務(wù)器4部分組成。在大棚內(nèi)部使用ZigBee技術(shù)組網(wǎng)[2],將各傳感器節(jié)點(diǎn)、控制節(jié)點(diǎn)與協(xié)調(diào)器節(jié)點(diǎn)進(jìn)行無線連接。網(wǎng)關(guān)由路由器和ZigBee協(xié)調(diào)器組成,租用阿里云的ECS(Elastic Compute Service)服務(wù)器作為Web服務(wù)器,服務(wù)器與網(wǎng)關(guān)利用TCP協(xié)議進(jìn)行通訊。編寫前端人機(jī)交互界面和后端服務(wù)程序作為Web服務(wù)器,一方面對(duì)網(wǎng)關(guān)上傳的傳感器數(shù)據(jù)進(jìn)行處理和存儲(chǔ),另一方面響應(yīng)用戶通過手機(jī)或電腦在瀏覽器上發(fā)出的控制命令并下發(fā)給網(wǎng)關(guān)直至控制設(shè)備。系統(tǒng)整體架構(gòu)框圖如圖1所示。
圖1 系統(tǒng)整體架構(gòu)框圖
為方便擴(kuò)展,傳感器終端節(jié)點(diǎn)采用傳感器盾板與微控制器底板相分離的設(shè)計(jì)。
2.1.1 微控制器底板
底板采用以TI公司CC2530F256為核心帶PA放大的ZigBee模塊,CC2530內(nèi)部運(yùn)行Z-Stack協(xié)議棧,控制射頻部分實(shí)現(xiàn)無線ZigBee組網(wǎng)通信,數(shù)據(jù)穩(wěn)定傳輸可達(dá)1 000 m。終端節(jié)點(diǎn)的供電方式分為2類,需要改變檢測(cè)位置的傳感器節(jié)點(diǎn)利用鋰電池進(jìn)行供電;不需要改變位置的繼電器控制節(jié)點(diǎn)利用220 V市電變壓后供電。在傳感器節(jié)點(diǎn)上使用0.96英寸OLED通過SPI總線與CC2530互相通信,用于顯示傳感器采集的信息。終端節(jié)點(diǎn)底板電路如圖2所示[3]。
圖2 傳感器節(jié)點(diǎn)底板原理圖
2.1.2 傳感器盾板
在農(nóng)作物生長(zhǎng)過程中,溫濕度、二氧化碳和光照強(qiáng)度對(duì)于農(nóng)作物的光合作用至關(guān)重要[4],將不銹鋼防水型的DS18B20溫度傳感器和土壤水分傳感器(大連祺峰科技有限公司生產(chǎn))埋入土壤中,檢測(cè)土壤中的溫濕度,這兩種傳感器探頭為不銹鋼制成,不易電解,可耐土壤中酸堿鹽的腐蝕。利用DHT11溫濕度傳感器測(cè)量大棚內(nèi)空氣的溫濕度,土壤水分傳感器輸出信號(hào)為0~2 V的電壓信號(hào),通過CC2530的ADC功能進(jìn)行數(shù)據(jù)采集。DS18B20與DHT11采用1-Ware總線方式與CC2530通信,系統(tǒng)采用GE 紅外二氧化碳T6603-5型傳感器和以BH1750FVI芯片為核心的GY-30數(shù)字光照度傳感器分別采集二氧化碳濃度和光照強(qiáng)度[5],傳感器盾板電路原理如圖3所示。
圖3 傳感器底板原理圖
系統(tǒng)的控制節(jié)點(diǎn)主要由多個(gè)SLA-5VDC-SL-A型繼電器組成,最大允許電流達(dá)30 A,通過光耦實(shí)現(xiàn)強(qiáng)弱電隔離,避免觸電事故和消除對(duì)單片機(jī)的影響。終端控制節(jié)點(diǎn)原理如圖4所示。
圖4 終端控制節(jié)點(diǎn)原理圖
Z-Stack是德州儀器推出的ZigBee2007/PRO協(xié)議棧[6]。上電后,終端節(jié)點(diǎn)在完成硬件初始化后啟動(dòng)協(xié)議棧,搜尋附近協(xié)調(diào)器組建的網(wǎng)絡(luò),這一過程協(xié)議棧自動(dòng)實(shí)現(xiàn),不需要用戶參與。組網(wǎng)成功后在應(yīng)用層進(jìn)行用戶任務(wù)的輪詢,包括周期性對(duì)傳感器采集的數(shù)據(jù)進(jìn)行上傳和執(zhí)行協(xié)調(diào)器發(fā)來的控制命令,終端節(jié)點(diǎn)流程如圖5所示。
圖5 終端節(jié)點(diǎn)程序流程圖
網(wǎng)關(guān)由Openwrt路由器、ZigBee協(xié)調(diào)器、7寸觸摸顯示屏、USB攝像頭和電源等組成。組成結(jié)構(gòu)示意圖如圖6所示。網(wǎng)關(guān)的主要作用是將大棚內(nèi)部的ZigBee網(wǎng)絡(luò)接入到外部Internet網(wǎng),實(shí)現(xiàn)大棚內(nèi)部傳感器數(shù)據(jù)的上傳和用戶遠(yuǎn)程控制命令的接收[7]。7寸觸摸顯示屏用于在大棚內(nèi)部查看整個(gè)系統(tǒng)運(yùn)行狀態(tài)。攝像頭采集實(shí)時(shí)畫面送入服務(wù)器。
圖6 網(wǎng)關(guān)組成示意圖
網(wǎng)關(guān)軟件設(shè)計(jì)采用Python TCP Socket,Socket又稱網(wǎng)絡(luò)套接字,它的作用是實(shí)現(xiàn)網(wǎng)絡(luò)上的兩個(gè)程序通過一個(gè)雙向的通信連接實(shí)現(xiàn)數(shù)據(jù)的交換。Python是一種面向?qū)ο?、解釋型?jì)算機(jī)程序設(shè)計(jì)語(yǔ)言,最大的特點(diǎn)是具有豐富和強(qiáng)大的庫(kù)。網(wǎng)關(guān)上的所有程序都是基于Python編寫,Openwrt作為一種基于Linux的路由器系統(tǒng)支持Python等腳本運(yùn)行。網(wǎng)關(guān)利用Python腳本語(yǔ)言編寫Socket程序,實(shí)現(xiàn)數(shù)據(jù)在大棚內(nèi)傳感器網(wǎng)絡(luò)與互聯(lián)網(wǎng)Web服務(wù)器數(shù)據(jù)庫(kù)之間的通信。Python腳本在網(wǎng)關(guān)中實(shí)現(xiàn)兩項(xiàng)功能:一是利用Python的pySerial模塊監(jiān)視協(xié)調(diào)器串口發(fā)來的數(shù)據(jù),當(dāng)發(fā)現(xiàn)串口發(fā)來終端傳感器采集的數(shù)據(jù)時(shí),通過MySQLdb模塊寫入Web服務(wù)器的數(shù)據(jù)庫(kù);二是通過Python的Socket模塊編寫程序作為TCP Client與服務(wù)器建立長(zhǎng)連接,每隔1 s查詢數(shù)據(jù)庫(kù)中控制表的命令字段是否被更新,如果被更新則將命令發(fā)送至協(xié)調(diào)器執(zhí)行。
在阿里云的ECS服務(wù)器上搭建LAMP(Linux+Apache+MySql+PHP)作為前后端程序的運(yùn)行環(huán)境。前端利用HTML、CSS和Javascript語(yǔ)言編程實(shí)現(xiàn)Web客戶端,為用戶提供一個(gè)簡(jiǎn)潔的交互界面[8],后端運(yùn)用PHP(Hypertext Preprocessor)技術(shù)搭建Web服務(wù)器,解析用戶在前端執(zhí)行的操作并寫入到數(shù)據(jù)庫(kù)系統(tǒng);前后端相結(jié)合,用戶可直接通過手機(jī)或電腦瀏覽器獲得大棚內(nèi)作物生長(zhǎng)環(huán)境參數(shù)信息,并可通過用戶界面上的操作按鈕對(duì)大棚內(nèi)的電氣設(shè)備進(jìn)行遠(yuǎn)程控制。
針對(duì)手機(jī)端一般需要安裝APP(Approach)才能使用的不足,在云服務(wù)器上設(shè)計(jì)并搭建了專用的Web用戶交互頁(yè)面來適配多種設(shè)備進(jìn)行遠(yuǎn)程訪問控制,包括手機(jī)、臺(tái)式或筆記本電腦以及平板電腦。只要在安裝有瀏覽器并能訪問網(wǎng)絡(luò)的設(shè)備上就能實(shí)現(xiàn)對(duì)大棚參數(shù)的遠(yuǎn)程監(jiān)控。遠(yuǎn)程控制端通過訪問固定的域名或IP地址連接Web服務(wù)器打開控制頁(yè)面,在對(duì)控制頁(yè)面中的按鈕進(jìn)行操作時(shí),通過腳本分析響應(yīng)動(dòng)作,并將命令寫入數(shù)據(jù)庫(kù),以供網(wǎng)關(guān)中Python腳本查詢。前端瀏覽界面利用HTML、CSS和Javascript編寫而成。HTML控制網(wǎng)頁(yè)的結(jié)構(gòu)與顯示的內(nèi)容,CSS控制網(wǎng)頁(yè)的樣式,javascript管理用戶在瀏覽時(shí)的行為,3者共同組合實(shí)現(xiàn)用戶遠(yuǎn)程控制界面。
本文提出并設(shè)計(jì)了一種利用ZigBee技術(shù)和Web服務(wù)器技術(shù)相結(jié)合的溫室大棚監(jiān)控系統(tǒng)。該系統(tǒng)不僅實(shí)現(xiàn)了對(duì)大棚內(nèi)溫度、濕度、光照強(qiáng)度、二氧化碳濃度等參數(shù)的實(shí)時(shí)監(jiān)測(cè),而且可以根據(jù)設(shè)定參數(shù)通過對(duì)通風(fēng)窗、遮光簾、保溫簾、滴灌、補(bǔ)光器等設(shè)備的啟閉控制實(shí)現(xiàn)自動(dòng)調(diào)節(jié)。利用云服務(wù)器和互聯(lián)網(wǎng)還可通過手機(jī)、電腦等設(shè)備實(shí)現(xiàn)溫室環(huán)境參數(shù)的遠(yuǎn)程監(jiān)控。系統(tǒng)終端節(jié)點(diǎn)采用底板、盾板的分離設(shè)計(jì),便于維護(hù)與功能擴(kuò)展,用戶交互界面人性化、跨平臺(tái)、易操作,為溫室大棚控制技術(shù)的發(fā)展進(jìn)行了新的探索,具有很好的應(yīng)用前景。
[1] 王新坤,李紅. 我國(guó)溫室的研究現(xiàn)狀與發(fā)展趨勢(shì)[J]. 排灌機(jī)械工程學(xué)報(bào),2010,28(2):179-184.
[2] 危思思. 基于Openwrt開源平臺(tái)的移動(dòng)智能設(shè)備[D]. 杭州:浙江大學(xué),2014.
[3] 鞠傳香,吳志勇. 基于ZigBee技術(shù)的溫室大棚監(jiān)控系統(tǒng)[J].江蘇農(nóng)業(yè)科學(xué),2013,41(12):405-407.
[4] 徐鴿. 基于ZigBee的智能農(nóng)業(yè)大棚監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 企業(yè)技術(shù)開發(fā),2014,33(31):20-26.
[5] 王小強(qiáng). ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M]. 北京:化學(xué)工業(yè)出版社,2012.
[6] 梁峰,趙金才,都曉鵬,等. 基于ZigBee2007/PRO的智能家居無線組網(wǎng)設(shè)計(jì)[J]. 天津農(nóng)學(xué)院學(xué)報(bào),2016,23(3):47-50.
[7] 徐詠梅. Python網(wǎng)絡(luò)編程中的遠(yuǎn)程調(diào)用研究[J]. 電腦編程技巧與維護(hù),2011(5):33-74.
[8] 陳凌牛. HTML5與CSS權(quán)威指南[M]. 北京:機(jī)械工業(yè)出版社,2015.
責(zé)任編輯:楊霞
Design of Smart Greenhouse Based on ZigBee and Web Server
ZHAO Jin-cai, JIAO Zhi-ying, LIANG Feng
(College Engineering and Technology, Tianjin Agricultural University, Tianjin 300384, China)
In this paper, a design of smart greenhouse remote monitoring system was proposed based on web server and ZigBee technology. By which CC2530 microcontroller was employed for operating ZigBee-stack system and routers which brushed with Openwrt, the network and extranet of the gateway of greenhouse were realized. ZigBee terminals contains two kinds, one consists of temperature and humidity, light intensity, the concentration of carbon dioxide sensors, and the other has a series of control nodes such as ventilation window, blanket, drip irrigation, fill device on-off relay control nodes. Through ZigBee and the gateway, the collected datum was uploaded to the cloud web server network , which provides the man-machine interface. Users can realize the automatic and manual monitor-control through various browsers. The field wiring is not needed in this system. And the collection point is flexible in wide areas. It is conducive to the upgrading of traditional greenhouse to the digital and precision.
ZigBee; greenhouse; cloud web server
1008-5394(2017)03-0088-04
TP277.2
A
2017-05-09
天津農(nóng)學(xué)院大學(xué)生創(chuàng)新訓(xùn)練項(xiàng)目“基于手機(jī)APP客戶端的溫室大棚參數(shù)監(jiān)控系統(tǒng)”(201510061191)
趙金才(1976 -),男,河北冀州人,副教授,博士,主要從事農(nóng)業(yè)環(huán)境參數(shù)的檢測(cè)與控制技術(shù)研究。E-mail:jcz602@163.com。