盛占石,吳璣琪
(江蘇大學(xué)電氣信息工程學(xué)院,江蘇 鎮(zhèn)江 212013)
?
基于Web的溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)
盛占石*,吳璣琪
(江蘇大學(xué)電氣信息工程學(xué)院,江蘇 鎮(zhèn)江 212013)
摘要:溫濕度、光照強度和二氧化碳濃度是影響溫室大棚作物生長的三大要素,為實時監(jiān)控這3種關(guān)鍵要素以及大棚作物現(xiàn)場狀況,提高大棚作物產(chǎn)量,提出一種基于web的溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計方案。介紹了系統(tǒng)總體設(shè)計方案及主要硬件,在基于ARM的嵌入式linux系統(tǒng)上移植開源軟件BOA和Mjpg-streamer搭建web服務(wù)器和視頻服務(wù)器、移植SQLite構(gòu)建數(shù)據(jù)庫并詳細(xì)闡述了它們的移植過程。在此基礎(chǔ)上設(shè)計CGI網(wǎng)關(guān)程序,通過接入Internet的任意一臺遠(yuǎn)程PC機或智能手機的瀏覽器可實時監(jiān)控棚內(nèi)環(huán)境狀況并發(fā)送控制命令,真正實現(xiàn)溫室作物種植網(wǎng)絡(luò)化管理。
關(guān)鍵詞:溫室大棚;遠(yuǎn)程監(jiān)控;mjpg-streamer;BOA;CGI
為食用到新鮮蔬菜,近幾年來大棚種植業(yè)迅速發(fā)展。大棚作物的產(chǎn)量、質(zhì)量影響著人們生活和蔬菜價格,溫室環(huán)境無疑是影響大棚作物生長的關(guān)鍵。傳統(tǒng)上,主要通過人工測量獲取大棚內(nèi)信息,需要消耗大量人力,實時性差,生產(chǎn)效率低。近來產(chǎn)生了以上下位機方式的智能化監(jiān)控方式,但由于受通信線路、通信距離、軟件升級困難等因素,仍舊存在諸多不便[1]。隨著網(wǎng)絡(luò)技術(shù)、智能感知芯片和嵌入式系統(tǒng)等技術(shù)的迅速發(fā)展,給溫室大棚環(huán)境監(jiān)控添加了新的動力。
本文介紹了一種基于嵌入式Web 的溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計方案。通過任意連網(wǎng)的PC或智能手機的IE瀏覽器即可對大棚內(nèi)溫濕度、光照強度、CO2濃度等關(guān)鍵參數(shù)實時監(jiān)控,對提高農(nóng)業(yè)綜合效益,實現(xiàn)農(nóng)業(yè)生產(chǎn)規(guī)?;?、自動化和網(wǎng)絡(luò)化管理具有重要意義。
1.1系統(tǒng)結(jié)構(gòu)介紹
溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)(如圖1所示)主要包括2部分:服務(wù)器和遠(yuǎn)程控制端[2]。服務(wù)器端是指在基于ARM的嵌入式linux系統(tǒng)上移植開源軟件BOA搭建Web服務(wù)器,主要是將USB攝像頭和各溫室環(huán)境測量傳感器采集到的信息定時存入數(shù)據(jù)庫以備用戶查詢,或通過網(wǎng)絡(luò)傳送給遠(yuǎn)程IE瀏覽器實時監(jiān)控。此外當(dāng)溫室環(huán)境某參數(shù)超出設(shè)定范圍時,會觸發(fā)相應(yīng)的執(zhí)行元件動作,使溫室環(huán)境保持在設(shè)定范圍內(nèi)??刂贫酥高h(yuǎn)程IE瀏覽器,主要用于接收、監(jiān)視服務(wù)器端發(fā)來的視頻及溫濕度等環(huán)境信息,并能發(fā)送控制命令給服務(wù)器端實現(xiàn)對溫室大棚的遠(yuǎn)程控制。
圖1 溫室大棚監(jiān)控系統(tǒng)結(jié)構(gòu)框圖
1.2系統(tǒng)硬件介紹
(1)S3C2440A微處理器ARM S3C2440A是三星公司推出的16/32位處理器,是面向高端手持設(shè)備或其他一般應(yīng)用而設(shè)計的芯片。它采用ARM920T內(nèi)核,具有低功耗高速的處理計算能力。實現(xiàn)了MMU、AMBA BUS和 Harvard高速緩沖體系結(jié)構(gòu)。這一結(jié)構(gòu)具有獨立的16 kbyte指令Cache和16 kbyte數(shù)據(jù)Cache,每個都是由具有8字長的行組成,性價比高,在嵌入式系統(tǒng)中得到了廣泛應(yīng)用。
(3)溫濕度傳感器DHT11數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器[3]。傳感器內(nèi)部在檢測信號的處理過程中要調(diào)用這些校準(zhǔn)系數(shù)。單線制串行接口,使系統(tǒng)集成變得簡易快捷。超小的體積、極低的功耗,此傳感器具有響應(yīng)速度快、抗干擾能力強、性價比高等優(yōu)點。
(4)光照強度傳感器HA2003光照傳感器采用光電轉(zhuǎn)換模塊,將光照強度值轉(zhuǎn)化為電壓值,再經(jīng)調(diào)理電路將此電壓值轉(zhuǎn)換為0~2 V或4 mA~20 mA。高精度的光照強度測量,體積小巧,IP65防護(hù)等級設(shè)計傳感器結(jié)實、耐腐蝕,響應(yīng)速度快,小于1 s,可選用電壓或電流輸出,電流輸出在長纜線傳輸時有信號衰減??梢院芎玫挠糜跍厥夜庹斩葴y量。
(5)CO2傳感器ESM-CO2防護(hù)型二氧化碳變送器是在進(jìn)口紅外雙光束二氧化碳傳感器基礎(chǔ)上設(shè)計的一款專門用于農(nóng)業(yè)等多種高濕場合使用的產(chǎn)品。采用進(jìn)口紅外雙光束CO2傳感器,串行接口,可以很容易與其他設(shè)備連接??煽啃浴⒎€(wěn)定性比較高。
(6)USB攝像頭使用中星微zC301系列高清芯片USB攝像頭,該攝像頭采用CMOS感光元件具有30萬像素,與CCD相比成像質(zhì)量存在一定差距但是其兼容性與可靠性高,基本上能滿足視頻采集的需要。采用直流電機驅(qū)動后還可實現(xiàn)360全方位視角,攝像頭前端還可增加紅外管使系統(tǒng)具有夜視功能。
2.1Web服務(wù)器搭建
BOA是一個基于GNU/Linux平臺的Web服務(wù)器[4],其可執(zhí)行代碼只有約60 kbyte,它是一個單任務(wù)的 HTTP Server,開放源碼,性能高,是嵌入式系統(tǒng)的理想選擇。BOA的最大特點是速度快,它不會為每個鏈接單獨的創(chuàng)建進(jìn)程,也不會通過復(fù)制自身進(jìn)程來處理多鏈接,而是通過建立HTTP請求列表處理多路HTTP鏈接請求,BOA對所有活動的HTTP鏈接在內(nèi)部處理,只為CGI鏈接創(chuàng)建新進(jìn)程,這樣可以最大程度上節(jié)省系統(tǒng)資源,在同等硬件條件下顯示出更快的速度。關(guān)于BOA的移植很簡單,這方面的文章也很多,文獻(xiàn)[5]中有詳細(xì)介紹,在此不再詳述,這里僅給出BOA的配置文件boa.conf,如圖2所示。
圖2 BOA配置文件
2.2視頻服務(wù)器搭建
Mjpg-streamer是一個輕量級的視頻服務(wù)器開源軟件[6],可以從單一輸入組件獲取圖像并傳輸?shù)蕉鄠€輸出組件.它負(fù)責(zé)從USB攝像頭獲取并傳輸JPEG格式的圖像到瀏覽器。Mjpg-streamer采用模塊化的設(shè)計方法,以功能塊為單位進(jìn)行描述,軟件中定義好了各組件的輸入輸出以及組件間的銜接關(guān)系。用戶可根據(jù)對功能的需求,自行選擇需要的模塊。Mjpg-streamer的移植需要Jpeg庫,所以首先要移植Jpeg庫。
2.2.1Jpeg庫的移植
(1)Jpeg源碼包通過下面這個網(wǎng)址下載
http://www.ijg.org/files/jpegsrc.v8b.tar.gz
(2)解壓源碼包#tar xvf jpegsrc.v8b.tar.gz
(3)配置源碼#cd jpeg-8b
./configure CC=arm-linux-gcc
--host=arm-unknown-linux
--prefix=/home/linux/jpeg
(4)編譯并安裝 #make#make install
(5)拷貝/home/linux/jpeg/lib下的libjpeg.so.8到目標(biāo)板/lib目錄下
2.2.2Mjpg-streamer移植
(1)mjpg-streamer源碼包通過下面這個網(wǎng)址下載
http://sourceforge.net/projects/mjpg-streamer/
(2)解壓源碼# tar xvf mjpg-streamer-r63.tar.gz
(3)修改源碼# cd mjpg-streamer-r63
修改頂層makefile及plugins目錄中的各級makefile將所有CC=gcc修改為CC=arm-linux-gcc
修改plugins/input_uvc/Makfile
將CFLAGS+=-O2-DLINUX-D_GNU_SOURCE-Wall-shared-fPIC
修改為CFLAGS+=-O2
-DLINUX-D_GNU_SOURCE-Wall-shared-fPIC-I
/home/linux/jpeg/include
將$(CC)$(CFLAGS)-ljpeg-o $@ input_uvc.c v4l2uvc.lo jpeg_utils.lodynctrl.lo
修改為$(CC)$(CFLAGS)-ljpeg
-L/home/linux/jpeg/lib-o $@
input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo
(4)編譯 # make
編譯需要out_http.so和input_uvc.so兩個組件,將他們拷貝到目標(biāo)機的/mjpg目錄下,然后再拷貝mjpg_streamer到目標(biāo)機的/bin目錄下注意要改變其權(quán)限(chmod+x mjpg_streamer)。
2.3數(shù)據(jù)庫移植
SQLite是Richard Hipp開發(fā)出來的用一個小型C庫實現(xiàn)的一種強有力的嵌入式關(guān)系數(shù)據(jù)庫管理體制[7]。它提供了對SQL92的大多數(shù)支持:支持多表和索引、事務(wù)、視圖、觸發(fā)和一系列的用戶接口及驅(qū)動。移植過程如下:
(1)從網(wǎng)站http://www.sqlite.org/download.html下載
sqlite-autoconf-3071400.tar.gz
(2)解壓到/opt目錄
tar xvzf sqlite-autoconf-3071400.tar.gz-C/opt/
(3)建立make install目錄
mkdir/opt/build
(4)進(jìn)入解壓后的sqlite目錄,并執(zhí)行./confrgre命令生成Makefile文件
./configure--host=arm-linux-prefix=/opt/build
(5)執(zhí)行編譯安裝命令
make
make install
執(zhí)行完后,在所建目錄/opt/build下生成bin include
lib share四個目錄,主要用到的文件有/bin/sqlite3
/include/sqlite3.h以及/lib/下的庫文件。
溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)軟件由設(shè)備驅(qū)動程序、Linux操作系統(tǒng)和應(yīng)用程序構(gòu)成(如圖3所示)
圖3 溫室大棚監(jiān)控軟件系統(tǒng)框圖
每個功能模塊都是一個完整的CGI程序,用戶在遠(yuǎn)程IE瀏覽器端請求查看某項環(huán)境參數(shù)或發(fā)送控制命令時,服務(wù)器調(diào)用相應(yīng)的CGI程序并將處理結(jié)果返回給服務(wù)器,再由服務(wù)器通過網(wǎng)絡(luò)發(fā)送給遠(yuǎn)程瀏覽器。
3.1CGI介紹
CGI是公共網(wǎng)關(guān)接口(Common Gateway Interface)的簡稱[8],是用戶和服務(wù)器端溝通的橋梁.它規(guī)定了Web服務(wù)器如何向擴展應(yīng)用程序發(fā)送消息,在收到擴展應(yīng)用程序的信息后又如何處理[5]。其主要作用是在WWW環(huán)境下,從客戶端(IE瀏覽器)傳遞一些信息給Web服務(wù)器,再由Web服務(wù)器去啟動所指定的程序來完成特定的工作,并將執(zhí)行的結(jié)果返回給客戶。簡單的說CGI就是一種接口標(biāo)準(zhǔn),而CGI程序是符合這種接口標(biāo)準(zhǔn)的運行在Web服務(wù)器上的程序。CGI基本工作流程如圖4所示:用戶通過瀏覽器向Web服務(wù)器提交請求,并將提交的數(shù)據(jù)發(fā)給Web服務(wù)器,接著Web服務(wù)器為CGI程序創(chuàng)建子進(jìn)程,并將瀏覽器提交的數(shù)據(jù)保存到環(huán)境變量,然后啟動指定的CGI程序,CGI程序會先從環(huán)境變量里讀取數(shù)據(jù),經(jīng)過一系列處理有時也會調(diào)用其他程序,然后將處理結(jié)果經(jīng)Web服務(wù)器返回給瀏覽器。
圖4 CGI工作流程框圖
3.2系統(tǒng)測試
用戶在遠(yuǎn)程IE瀏覽器端輸入服務(wù)器網(wǎng)址(這里是http://192.168.1.230/login.html)則進(jìn)入溫室大棚遠(yuǎn)程監(jiān)測系統(tǒng)登錄界面如圖5所示,輸入用戶名和密碼后,即可進(jìn)入控制系統(tǒng)。
在控制系統(tǒng)界面,點擊各按鈕可查看對應(yīng)的環(huán)境參數(shù),視頻監(jiān)控效果如圖6所示。
圖5 溫室大棚監(jiān)控系統(tǒng)登錄界面
圖6 溫室大棚視頻監(jiān)控
本文以嵌入式Web為核心,構(gòu)建嵌入式服務(wù)器環(huán)境,給出了溫室大棚遠(yuǎn)程監(jiān)測軟硬件設(shè)計方法,經(jīng)測試實驗,本系統(tǒng)穩(wěn)定可靠,其在遠(yuǎn)程系統(tǒng)管理和監(jiān)控等領(lǐng)域有著廣泛的應(yīng)用前景。
參考文獻(xiàn):
[1]韓慧.基于RS-485總線的溫室環(huán)境監(jiān)測系統(tǒng)[J].儀表技術(shù)與傳感器,2012(3):60-61.
[2]宋軍華,徐曉輝,譚濤.嵌入式web技術(shù)在智能溫室監(jiān)控中的應(yīng)用[J].電子設(shè)計工程,2011,19(4):32-34.
[3]崔智軍,王江煒.基于ARM9的溫室茶樹培養(yǎng)監(jiān)測系統(tǒng)[J].現(xiàn)代電子技術(shù),2013,36(1):108-110.
[4]Liu Yakun,Cheng Xiaodong.Design and Implementation of Embedded Web Server Based on ARM and Linux[C]//2010 2nd International Conference on Industrial Mechatronics and Automation.2010(2):316-319.
[5]陸永健,王萍,吳佳.嵌入式web服務(wù)器Boa的移植及其應(yīng)用[J].河海大學(xué)常州分校學(xué)報,2005,19(4):44-47.
[6]陳書益,黃永慧.開源視頻服務(wù)器軟件MJPG-streamer的研究和應(yīng)用[J].電子設(shè)計工程,2012,20(5):172-176.
[7]莊宗輝,薛毓強,連瑞紅.嵌入式數(shù)據(jù)庫SQLite在遠(yuǎn)程監(jiān)控系統(tǒng)中的應(yīng)用[J].現(xiàn)代電子技術(shù),2007(8):62-64.
[8]李磊.利用CGI程序?qū)崿F(xiàn)動態(tài)web的方法[J].科學(xué)技術(shù)與工程,2009,9(6):1611-1613.
盛占石(1955-),男,漢族,江蘇鎮(zhèn)江人,江蘇大學(xué)副教授,研究方向為電力電子技術(shù),控制理論與控制工程術(shù),控制工程,szs888@ujs.edu.cn。
GreenhouseRemoteMonitoringSystemBasedOnWeb
SHENGZhanshi*,WUJiqi
(School of Electrical and Information Engineering,Jiangsu University,Zhenjiang Jiang 212013,China)
Abstract:Temperature and humidity,light intensity and carbon dioxide concentration are three key factors to affect the greenhouse crop growth,for real-time monitoring the three key elements and greenhouse crops situation and increasing the greenhouse crop production,a kind of greenhouse remote monitoring system design scheme is put forward based on web.Introducing the overall design method of the system and the concerned main hardware,open source software BOA and Mjpg-streamer were transplanted to build web server and video server in the embedded linux based on ARM.SQLite database was also constructed.And the transplantation processes are elaborated in detail.The CGI gateway program was designed on this basis.By introduceing the CGI program design method,real-time monitoring the state of the greenhouse environment and sending control command through some remote PC or intelligent mobile phone browser accessed Internet,this system realize the networked management of greenhouse crops.
Key words:greenhouse;remote monitoring;mjpg-streamer;BOA;CGI
doi:EEACC:7210B10.3969/j.issn.1005-9490.2014.05.027
中圖分類號:TP393
文獻(xiàn)標(biāo)識碼:A
文章編號:1005-9490(2014)05-0923-04
收稿日期:2013-09-29修改日期:2013-11-01