吳開(kāi)興 雷鵬飛
摘要:借助S5PV210微處理器硬件平臺(tái),結(jié)合嵌入式web技術(shù)以及ZigBee技術(shù),提出了一種基于B/S模式的遠(yuǎn)程室內(nèi)植物智能養(yǎng)護(hù)系統(tǒng)。該系統(tǒng)嵌入式web服務(wù)器基于Linux平臺(tái),從而保證了系統(tǒng)的穩(wěn)定性以及安全性。用戶可以通過(guò)web瀏覽器隨時(shí)隨地監(jiān)測(cè)室內(nèi)的植物,并對(duì)植物需求做出相應(yīng)的調(diào)整。該系統(tǒng)具有良好的人機(jī)交互界面,是智能家居與智慧農(nóng)業(yè)的結(jié)合,具有很高的市場(chǎng)價(jià)值。
關(guān)鍵詞:S5PV210微處理器;ZigBee;B/S;嵌入式Web服務(wù)器
中圖分類號(hào):TP338 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2016)23-0161-03
Abstract: With the help of ARM microprocessor hardware platform, using embedded web technology and ZigBee technology, this paper proposes a remote intelligent indoor plant maintenance system based on B/S model. The system of embedded web server based on Linux platform, which guarantees the system stability and security. The user can monitor the indoor web browser whenever and wherever possible the plant, and make appropriate adjustments to the plant needs. The system has good man-machine interface, is a combination of intelligence and wisdom Home Furnishing of agriculture, has a high market value.
Key words: S5PV210; ZigBee; B/S; embedded web server
1 背景
近年來(lái),室內(nèi)植物的種植作為一個(gè)新興的產(chǎn)業(yè)開(kāi)始迅猛發(fā)展,對(duì)增加城市綠地面積,改善特定范圍內(nèi)的人居環(huán)境有著極其重要的意義[1]。然而現(xiàn)在的植物養(yǎng)護(hù)機(jī),智能化程度低,當(dāng)植物發(fā)生緊急狀況時(shí)不能得到及時(shí)補(bǔ)救。為了解決上述問(wèn)題,有必要開(kāi)發(fā)一款智能化程度高的系統(tǒng)。用戶可以通過(guò)遠(yuǎn)程界面來(lái)控制植物,讓其自動(dòng)完成緊急狀況的處理,實(shí)現(xiàn)植物的智能化管理[2]。該系統(tǒng)是智能家居與智慧農(nóng)業(yè)的完美結(jié)合,因此該系統(tǒng)是一個(gè)極具前景的開(kāi)發(fā)領(lǐng)域。
2 系統(tǒng)總體設(shè)計(jì)方案
2.1 系統(tǒng)總體框架
該系統(tǒng)從整體上分為三個(gè)部分:1)主控制器部分,2)ZigBee無(wú)線網(wǎng)絡(luò),3)PC端遠(yuǎn)程訪問(wèn)(包括手機(jī)端)。系統(tǒng)總體框架如圖1所示。
1)主控制器。系統(tǒng)采用S5PV210處理器,它是整個(gè)系統(tǒng)的核心部分,主要功能是負(fù)責(zé)外部網(wǎng)絡(luò)與家庭內(nèi)網(wǎng)的信息交互;同時(shí)負(fù)責(zé)家庭內(nèi)網(wǎng)數(shù)據(jù)的處理,向家庭內(nèi)網(wǎng)發(fā)送控制命令。
2)ZigBee無(wú)線網(wǎng)絡(luò)。主要功能是負(fù)責(zé)家庭內(nèi)網(wǎng)的組建,將各傳感器設(shè)備接入一個(gè)網(wǎng)絡(luò)中。ZigBee協(xié)調(diào)器將主控制器的指令發(fā)送給各ZigBee節(jié)點(diǎn),或者將各ZigBee節(jié)點(diǎn)采集的數(shù)據(jù)發(fā)送給主控制器。
3)PC端遠(yuǎn)程訪問(wèn)(包括手機(jī)端)。主要功能是通過(guò)遠(yuǎn)程web瀏覽器訪問(wèn)web服務(wù)器??稍谌我怆娔X或者手持設(shè)備上,打開(kāi)瀏覽器,輸入相應(yīng)的地址,即可訪問(wèn)到web服務(wù)器中的數(shù)據(jù),也可通過(guò)網(wǎng)頁(yè)發(fā)送數(shù)據(jù)給主控制器,實(shí)現(xiàn)遠(yuǎn)程植物的養(yǎng)護(hù)。
2.2 硬件設(shè)計(jì)
系統(tǒng)原理如圖2所示。
該系統(tǒng)以S5PV210為主控制器,操作系統(tǒng)為L(zhǎng)inux系統(tǒng),傳感器主要有:溫度、CO2濃度、土壤水分、土壤PH值等傳感器,移植了嵌入式Web服務(wù)器。工作時(shí)傳感器周期性的采集各項(xiàng)指標(biāo),在功耗和及時(shí)性方面取得合適的間歇值,實(shí)時(shí)采集數(shù)據(jù),并且發(fā)送到控制端,控制端根據(jù)獲取的數(shù)據(jù)向終端響應(yīng)模塊下達(dá)指令并且將各項(xiàng)數(shù)據(jù)發(fā)送至Web端。終端響應(yīng)模塊獲得指令后進(jìn)行相應(yīng)的反饋,以完成對(duì)植物養(yǎng)護(hù)環(huán)境的維護(hù)。
2.3 軟件設(shè)計(jì)
根據(jù)系統(tǒng)需求,嵌入式Web中使用了SQLite數(shù)據(jù)庫(kù)。該數(shù)據(jù)庫(kù)部分有四個(gè)表,分別為:用戶表、數(shù)據(jù)表、命令表、設(shè)置表。用戶表是用來(lái)驗(yàn)證用戶登錄時(shí)的信息的,提高了系統(tǒng)的安全性;數(shù)據(jù)表用來(lái)存儲(chǔ)各項(xiàng)數(shù)據(jù)信息,以便查詢;命令表用來(lái)存儲(chǔ)用戶手動(dòng)下達(dá)的命令;設(shè)置表主要錄入了系統(tǒng)的配置信息。
系統(tǒng)軟件流程如下,首先初始化設(shè)備;等待傳感器與響應(yīng)終端連接,連接成功后反饋連接成功信息;再次,判斷是否有指令發(fā)送,若有指令發(fā)送,則判斷傳感器類型,并且把數(shù)據(jù)存入數(shù)據(jù)庫(kù),若無(wú)指令發(fā)送系統(tǒng)則檢測(cè)各項(xiàng)數(shù)據(jù)并判斷對(duì)植物是否做出相應(yīng)養(yǎng)護(hù);最后,若需要調(diào)整,判斷調(diào)整指令并做出相應(yīng)的響應(yīng),若無(wú)需調(diào)整系統(tǒng)則進(jìn)入休眠狀態(tài),以便節(jié)約能源。
系統(tǒng)軟件整體流程圖如圖3所示。
3 嵌入式web服務(wù)器的設(shè)計(jì)
Web服務(wù)器選取了小巧高效的Boa服務(wù)器,該服務(wù)器支持CGI(通用網(wǎng)關(guān)接口)技術(shù)。整個(gè)系統(tǒng)功能是web客戶端傳送信息給web服務(wù)器,web服務(wù)器根據(jù)獲取的信息去啟動(dòng)相應(yīng)的CGI程序,最后以HTML方式輸出執(zhí)行結(jié)果,并返回給瀏覽器客戶端[3]。Boa服務(wù)器搭建過(guò)程如下:
7)將/etc/mime.types文件拷貝到開(kāi)發(fā)板根文件的etc目錄。
重啟開(kāi)發(fā)板,執(zhí)行./boa即可運(yùn)行該服務(wù)器。為服務(wù)器分配域名后,輸入服務(wù)器網(wǎng)址,即可登錄到系統(tǒng)的登錄界面,再輸入用戶名密碼即可到系統(tǒng)的遠(yuǎn)程控制界面。用戶在該界面可以實(shí)時(shí)監(jiān)測(cè)植物的各種生長(zhǎng)信息,還可通過(guò)對(duì)應(yīng)的按鈕來(lái)對(duì)植物進(jìn)行遠(yuǎn)程控制[4]。遠(yuǎn)程web頁(yè)面如下圖4所示:
4 CGI設(shè)計(jì)
CGI(通用網(wǎng)關(guān)接口),是一段運(yùn)行在web服務(wù)器上的程序,它可以讓客戶端通過(guò)瀏覽器向Web服務(wù)器請(qǐng)求數(shù)據(jù)。Web服務(wù)器與CGI之間主要交互方式為環(huán)境變量。它定義了CGI的運(yùn)行環(huán)境,當(dāng)客戶發(fā)出HTTP請(qǐng)求時(shí),服務(wù)器收到請(qǐng)求會(huì)將CGI激活,并且調(diào)用相應(yīng)的getenv()函數(shù)。Web服務(wù)器為CGI設(shè)置了多個(gè)環(huán)境變量,其中最重要的兩個(gè)是QUERY_STRING(瀏覽器端以GET方法輸入的數(shù)據(jù))、CONTENT_LENGTH(瀏覽器端以POST輸入的數(shù)據(jù)的字節(jié)數(shù))[5]。
CGI程序設(shè)計(jì),其代碼可用很多語(yǔ)言來(lái)寫(xiě),為了高效方便可以選擇C語(yǔ)言來(lái)編寫(xiě)CGI,其流程框圖如下圖5所示:
5 結(jié)束語(yǔ)
本文借助ARM微處理器硬件平臺(tái),利用ZigBee技術(shù)以及嵌入式web技術(shù),設(shè)計(jì)了一種性價(jià)比高,低功耗的遠(yuǎn)程植物養(yǎng)護(hù)系統(tǒng)。系統(tǒng)主要使用JavaScript、HTML進(jìn)行開(kāi)發(fā),具有架構(gòu)簡(jiǎn)單,開(kāi)發(fā)難度低,系統(tǒng)健壯性好等優(yōu)點(diǎn)。此外,該系統(tǒng)與其他同類系統(tǒng)相比,具有可剪裁性,可以根據(jù)植物生長(zhǎng)環(huán)境的變化,通過(guò)服務(wù)器部署,任意增減傳感器等設(shè)備。綜上,該系統(tǒng)通用性強(qiáng),組網(wǎng)方便,易于維護(hù)升級(jí)且市場(chǎng)價(jià)值高,易于推廣。
參考文獻(xiàn):
[1] 金荷仙, 史琰, 王雁. 室內(nèi)植物對(duì)人體健康影響研究綜述[J]. 林業(yè)科技開(kāi)發(fā), 2008(5): 14-18.
[2] 吳國(guó)娟, 高默雷, 劉秀, 等. 室內(nèi)植物智能養(yǎng)護(hù)系統(tǒng)的研發(fā)[J]. 天津農(nóng)業(yè)科學(xué), 2014(2): 105-107.
[3] 宋凱, 嚴(yán)麗平, 甘嵐. 嵌入式Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與設(shè)計(jì), 2009(4): 808-810.
[4] 張榮榮, 其木蘇榮, 李彬, 等. 基于BOA服務(wù)器的智能家居控制系統(tǒng)設(shè)計(jì)[J]. 北京信息科技大學(xué)學(xué)報(bào):自然科學(xué)版, 2013(4): 88-92,96.
[5] 李勇. CGI在嵌入式WEB服務(wù)器中的應(yīng)用和實(shí)現(xiàn)[J]. 微計(jì)算機(jī)信息, 2008(30): 110-111,184.