国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的溫室監(jiān)控系統(tǒng)設(shè)計(jì)

2017-09-28 06:36趙江武高濤陳教料王彪
江蘇農(nóng)業(yè)科學(xué) 2017年13期
關(guān)鍵詞:智能監(jiān)控溫室

趙江武+高濤+陳教料+王彪

doi:10.15889/j.issn.1002-1302.2017.13.052[HT9.]

摘要:針對溫室遠(yuǎn)程監(jiān)控的需要,提出一種以Android平臺智能設(shè)備為終端的溫室監(jiān)控系統(tǒng)設(shè)計(jì)方案。系統(tǒng)由基于控制器局域網(wǎng)絡(luò)(controller area network,CAN)總線的嵌入式子系統(tǒng)、溫室本地服務(wù)器和Android客戶端等3部分組成?;贑AN總線的嵌入式系統(tǒng)用于環(huán)境數(shù)據(jù)的采集和設(shè)備控制;溫室本地服務(wù)器采用Java開發(fā)的監(jiān)控主程序來處理、傳輸溫室采集的數(shù)據(jù),實(shí)現(xiàn)溫室的本地監(jiān)控;Android客戶端采用基于Java開發(fā)的監(jiān)控終端程序?qū)崿F(xiàn)對溫室的遠(yuǎn)程移動監(jiān)控。結(jié)果表明,基于Android平臺的溫室監(jiān)控系統(tǒng)能可靠地實(shí)現(xiàn)對溫室內(nèi)環(huán)境的監(jiān)控。溫室作業(yè)人員能夠通過本系統(tǒng)實(shí)現(xiàn)對溫室高效、優(yōu)質(zhì)調(diào)控。

關(guān)鍵詞:溫室;智能監(jiān)控;Android;遠(yuǎn)程移動

中圖分類號: TP277.2;S126文獻(xiàn)標(biāo)志碼: A[HK]

文章編號:1002-1302(2017)13-0189-04[HS)][HT9.SS]

收稿日期:2016-04-05

基金項(xiàng)目:國家自然科學(xué)基金(編號:61374094)。

作者簡介:趙江武(1990—),男,浙江溫州人,碩士研究生,主要從事農(nóng)業(yè)工程研究。E-mail:zhaogghg@126.com。

通信作者:陳教料,博士,副教授,主要從事農(nóng)業(yè)工程研究。E-mail:jlchen@zjut.edu.cn。

[ZK)]

當(dāng)前,隨著國內(nèi)溫室大棚的迅速增多,為提高農(nóng)作物生產(chǎn)效率,增加經(jīng)濟(jì)收入,溫室大棚的自動化測量、自動化控制成為實(shí)現(xiàn)溫室優(yōu)質(zhì)、高產(chǎn)的發(fā)展方向。為實(shí)現(xiàn)低耗、高產(chǎn)、優(yōu)質(zhì)的現(xiàn)代溫室生產(chǎn)形式,研究對溫室內(nèi)環(huán)境的高效調(diào)控是非常必要的,這對溫室控制技術(shù)和理論都提出了更高的要求。

隨著傳感器技術(shù)、計(jì)算機(jī)控制、網(wǎng)絡(luò)通信以及嵌入式系統(tǒng)等技術(shù)的快速發(fā)展,融合上述高新技術(shù)的溫室監(jiān)控系統(tǒng)逐漸被應(yīng)用到溫室監(jiān)控領(lǐng)域[1-3]。馬增煒等設(shè)計(jì)了基于Wi-Fi網(wǎng)絡(luò)的溫室環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)[4]。溫室環(huán)境監(jiān)控系統(tǒng)是提高溫室作物產(chǎn)量、降低溫室能耗、減少勞動力成本的關(guān)鍵技術(shù),代表了溫室生產(chǎn)的核心競爭力。隨著移動互聯(lián)網(wǎng)技術(shù)和通信技術(shù)的發(fā)展,Android平臺已經(jīng)成為智能手機(jī)中用戶量最多的操作系統(tǒng),且能提供良好的人機(jī)界面[5]。已有一些研究者將Android系統(tǒng)應(yīng)用到溫室環(huán)境的監(jiān)控中,如陳美鎮(zhèn)等利用異構(gòu)網(wǎng)絡(luò)來監(jiān)控溫室網(wǎng)關(guān)數(shù)據(jù)[6]及陳大鵬等基于Android平臺設(shè)計(jì)的溫室環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)[7]等。

本研究設(shè)計(jì)一種基于Android平臺的溫室監(jiān)控系統(tǒng),該系統(tǒng)能實(shí)現(xiàn)溫室環(huán)境參數(shù)的自動采集、實(shí)時顯示及溫室現(xiàn)場設(shè)備的控制,并結(jié)合Android平臺的移動便攜性優(yōu)勢,實(shí)現(xiàn)溫室的遠(yuǎn)程移動監(jiān)控。

1溫室監(jiān)控系統(tǒng)方案

本研究的溫室監(jiān)控系統(tǒng)總體上可分為3部分,即基于CAN總線的嵌入式系統(tǒng)、溫室本地服務(wù)器和Android客戶端(圖1)。各部分子系統(tǒng)相對獨(dú)立,溫室本地服務(wù)器作為系統(tǒng)的中間部分分別與處在系統(tǒng)兩端的嵌入式系統(tǒng)和Android客戶端交互,依賴聚合性較低,具有良好的可擴(kuò)展性。

基于CAN總線的嵌入式系統(tǒng)主要負(fù)責(zé)溫室數(shù)據(jù)(如溫度、濕度、風(fēng)速、光照、土壤水分等溫室信息)的采集,并對溫室環(huán)境各子系統(tǒng)的繼電器進(jìn)行控制,繼電器的相應(yīng)動作控制著溫室環(huán)境調(diào)控設(shè)備(風(fēng)機(jī)、天窗、加熱器、濕簾等)的啟停。嵌入式系統(tǒng)分為4層:(1)各個溫室的傳感器和控制執(zhí)行器的設(shè)備層,負(fù)責(zé)溫室數(shù)據(jù)、作物數(shù)據(jù)的采集和溫室的機(jī)構(gòu)控制;(2)設(shè)備層節(jié)點(diǎn)的CAN接口模塊與嵌入式系統(tǒng)連接的CAN總線層,負(fù)責(zé)將分散在溫室各處的傳感器和環(huán)境控制執(zhí)行器與嵌入式系統(tǒng)進(jìn)行通信;(3)嵌入式系統(tǒng)的現(xiàn)場監(jiān)控層;(4)溫室本地服務(wù)器的中央監(jiān)控層。嵌入式系統(tǒng)通過局域網(wǎng)實(shí)現(xiàn)與溫室群中央服務(wù)器的TCP/IP協(xié)議通信。溫室環(huán)境由現(xiàn)場監(jiān)控層嵌入式系統(tǒng)進(jìn)行控制,也可以由溫室中央監(jiān)控主機(jī)進(jìn)行跨級監(jiān)控。

[FK(W16][TPZJW1.tif][FK)]

溫室本地服務(wù)器主要負(fù)責(zé)數(shù)據(jù)的傳輸和處理?;贑AN總線的嵌入式系統(tǒng)向溫室本地服務(wù)器發(fā)送采集的數(shù)據(jù)并接受服務(wù)器的控制指令。本地服務(wù)器將采集的溫室數(shù)據(jù)進(jìn)行存儲并通過網(wǎng)絡(luò)服務(wù)器發(fā)送至Android客戶端。Android客戶端通過移動網(wǎng)絡(luò)與服務(wù)器通信,溫室作業(yè)人員即可在溫室監(jiān)控系統(tǒng)的Android客戶端上實(shí)現(xiàn)對溫室的遠(yuǎn)程信息采集、數(shù)據(jù)查詢、設(shè)備控制等功能。

[WTHZ]2Android客戶端的設(shè)計(jì)與實(shí)現(xiàn)

Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要用于移動設(shè)備,如智能手機(jī)和平板電腦。Android系統(tǒng)支持觸屏、音頻、視頻等功能,在眾多嵌入式系統(tǒng)領(lǐng)域被廣泛應(yīng)用,如采用Android手機(jī)作為機(jī)器人操作控制器、飛行器攝像的顯示端、智能家居的控制端等[8]??紤]到Android平臺的普及性和Android應(yīng)用人性化的人機(jī)交互界面等優(yōu)點(diǎn),采用具有Android平臺的手機(jī)和智能平板電腦作為溫室監(jiān)控系統(tǒng)的遠(yuǎn)程終端,以實(shí)現(xiàn)對溫室的遠(yuǎn)程移動監(jiān)控。

2.1客戶端設(shè)計(jì)

采用C/S模式設(shè)計(jì)溫室監(jiān)控系統(tǒng)Android客戶端,通過移動網(wǎng)絡(luò)與服務(wù)器建立連接,以實(shí)現(xiàn)對溫室本地服務(wù)器數(shù)據(jù)庫的實(shí)時讀取和遠(yuǎn)程控制模塊的訪問。圖2顯示了Android客戶端登錄模塊、主界面模塊、溫室環(huán)境數(shù)據(jù)模塊、溫室控制模塊的主要程序流程。[FL)]

[FK(W25][TPZJW2.tif][FK)]

[FL(2K2]Android客戶端的設(shè)計(jì)邏輯如圖3所示。主要分為4個層面。

2.1.1人機(jī)交互表層人機(jī)交互表層主要負(fù)責(zé)向用戶輸出溫室狀態(tài)信息并接受用戶輸入的控制信息。主要包括:(1)如用戶登錄、溫室監(jiān)控?cái)?shù)據(jù)顯示、視頻監(jiān)控等的Activity類。(2)Actitity加載的XML布局文件,按鈕對應(yīng)的ButtonView和文本對應(yīng)的TextView等。(3)自定義控件和重寫控件包括列表ListView、彈出窗口Popwindow、自定義適配器Adapter等。endprint

2.1.2邏輯業(yè)務(wù)層邏輯業(yè)務(wù)層主要處理輸入和輸出的信息,處在人機(jī)交互表層和數(shù)據(jù)交換層之間,在數(shù)據(jù)交換和處理中起承上啟下的作用。主要包括:(1)在后臺運(yùn)行的系統(tǒng)服務(wù)Service,主要負(fù)責(zé)收到網(wǎng)絡(luò)通信時的事件處理。(2)負(fù)責(zé)在Activity和Service之間發(fā)送廣播和通知的Broadcast。(3)對人機(jī)交互層輸入控件的監(jiān)聽,如當(dāng)用戶按下按鈕時,監(jiān)聽到輸入控制信息并采取相應(yīng)的邏輯操作。

2.1.3數(shù)據(jù)訪問層主要負(fù)責(zé)處理用戶本身操作產(chǎn)生的控制數(shù)據(jù)和從服務(wù)器獲取的遠(yuǎn)程數(shù)據(jù),這些數(shù)據(jù)需要在Android設(shè)備本地存儲,數(shù)據(jù)量大,數(shù)據(jù)類目多。數(shù)據(jù)訪問層采用關(guān)系型數(shù)據(jù)庫MySQL,支持多線程,優(yōu)化SQL查詢方法,有效地提高查詢速度。實(shí)現(xiàn)用戶查找數(shù)據(jù)表的選擇、插入、更新和刪除的操作。

2.1.4通信層負(fù)責(zé)Android客戶端與服務(wù)器之間的通信,主要包括:(1)Socket套接字通信方式。(2)傳輸控制協(xié)議(transmission control protocol,TCP)與服務(wù)器進(jìn)行長連接指令操作,通過服務(wù)器和客戶端之間一問一答的形式實(shí)現(xiàn)數(shù)據(jù)交換。(3)無連接的用戶數(shù)據(jù)報(bào)協(xié)議(user datagram protocol,UDP)用于處理視頻、語音等數(shù)據(jù)包。相較于TCP協(xié)議,UDP負(fù)載比較小,可以避免流量堵塞。

2.2服務(wù)器程序設(shè)計(jì)

溫室本地服務(wù)器根據(jù)采集到的環(huán)境信息和植物的生長需求對環(huán)境進(jìn)行調(diào)控,具有對溫室數(shù)據(jù)存儲、傳輸和調(diào)控管理功能。

服務(wù)器軟件采用C/S架構(gòu),基于Java和結(jié)構(gòu)化查詢語言(structured query language,SQL)開發(fā),適用于Windows XP、Windows 7等操作系統(tǒng)。監(jiān)控?cái)?shù)據(jù)和控制指令等數(shù)據(jù)通過本地SQL Server數(shù)據(jù)庫進(jìn)行存儲,經(jīng)服務(wù)器一同傳送至Android客戶端。當(dāng)溫室監(jiān)控系統(tǒng)使用Android作為監(jiān)測控制端時,Android客戶端實(shí)時接收來自服務(wù)器的溫室信息數(shù)據(jù),刷新客戶端顯示。當(dāng)接收到用戶的控制操作時,Android客戶端把控制指令和數(shù)據(jù)通過服務(wù)器發(fā)送給溫室現(xiàn)場設(shè)備層,進(jìn)行具體的溫室環(huán)境控制,以實(shí)現(xiàn)Android端對溫室的遠(yuǎn)程控制。

2.3服務(wù)器通信

Android客戶端需要顯示如溫室內(nèi)外溫度、濕度等的溫室狀態(tài),另外需要向溫室服務(wù)器發(fā)送控制指令,這些功能的實(shí)現(xiàn)需要客戶端與服務(wù)器之間的遠(yuǎn)程通信。本研究設(shè)計(jì)的服務(wù)器與Android客戶端采用Socket通信機(jī)制。Socket的主要特點(diǎn)是數(shù)據(jù)丟失率低、使用簡單且易于移植。在雙方建立起連接后可以直接進(jìn)行數(shù)據(jù)傳輸,在連接時可實(shí)現(xiàn)信息的主動推送,而不需要每次由客戶端向服務(wù)器發(fā)送請求[9]。網(wǎng)絡(luò)由下往上分為物理層、數(shù)據(jù)鏈路層、網(wǎng)絡(luò)層、傳輸層、會話層、表示層和應(yīng)用層。IP協(xié)議對應(yīng)于網(wǎng)絡(luò)層,TCP協(xié)議對應(yīng)于傳輸層(圖4)。而Socket則是對TCP/IP協(xié)議的封裝和應(yīng)用,本身并不是協(xié)議,而是一個調(diào)用接口(API)。服務(wù)器程序通過調(diào)用Socket把數(shù)據(jù)通過TCP的面向連接與客戶端進(jìn)行數(shù)據(jù)交互。

[FK(W8][TPZJW4.tif][FK)]

客戶端進(jìn)程與服務(wù)器進(jìn)程之間通信的Socket的連接過程可以分為4個步驟(圖5)。

服務(wù)監(jiān)聽:服務(wù)器端Socket()并不連接具體的客戶端Socket(),而是處于等待連接、實(shí)時監(jiān)控連接端口的狀態(tài)。服務(wù)器在創(chuàng)建Socket()后,要指派監(jiān)聽的端口等待客戶端請求,因此需要綁定端口號的操作Bind()。綁定之后,服務(wù)器處于監(jiān)聽狀態(tài),設(shè)置1個監(jiān)聽程序Listen(),等待客戶機(jī)連接綁定的端口。Accept()方法用于接收客戶端的數(shù)據(jù)。在沒有數(shù)據(jù)進(jìn)行接收時處于堵塞狀態(tài),一旦接收到客戶端的連接請求Connect()后,即成功建立通信。

客戶端請求:由客戶端的套接字提出連接請求Connect(),要連接的目標(biāo)是服務(wù)器端的Socket()。為此,客戶端的Socket()必須先描述它要連接服務(wù)器的Socket(),指定服務(wù)器端Socket()的IP地址和端口地址,然后向服務(wù)器端套接字提出連接請求Connect()。

連接確認(rèn):當(dāng)服務(wù)器端監(jiān)聽到或者接收到客戶端的連接請求Connect時,響應(yīng)客戶端的請求執(zhí)行Listen(),建立一個新的線程,把服務(wù)器端Socket()的描述發(fā)給客戶端。一旦客戶端確認(rèn)描述,連接即建立完成。而服務(wù)器端Socket()繼續(xù)處于監(jiān)聽狀態(tài),以接收其他客戶端套接字的連接請求。

在成功建立通信后,可以通過Read()和Write()進(jìn)行收發(fā)數(shù)據(jù)的讀寫。在服務(wù)器Read()后,進(jìn)行相應(yīng)的處理,把處理結(jié)果Write()給客戶端,客戶端Read()到服務(wù)器發(fā)送的應(yīng)答數(shù)據(jù),客戶端與服務(wù)器之間即完成一次通信。繼續(xù)通信則執(zhí)行Write()和Read()即可,通信結(jié)束則執(zhí)行Close()斷開連接。

[FK(W16][TPZJW5.tif][FK)]

[WTHZ]3Android客戶端開發(fā)與調(diào)試

在Windows系統(tǒng)下利用Eclipse+SDK(Software development kit)+ADT(Android development tools)進(jìn)行溫室監(jiān)控系統(tǒng)Android客戶端的開發(fā),將開發(fā)完成生成的APK(Android package)安裝到Android手機(jī)或平板電腦中。

打開應(yīng)用,在登錄界面(圖6-a)輸入用戶賬號、密碼和服務(wù)器對應(yīng)的IP地址和端口后,登錄成功則界面跳轉(zhuǎn)到圖6-b所示的溫室監(jiān)控系統(tǒng)主界面。點(diǎn)擊主界面下列的按鈕跳轉(zhuǎn)到相應(yīng)的功能界面,主要的功能有溫室環(huán)境監(jiān)控?cái)?shù)據(jù)的查看、溫室遠(yuǎn)程控制、作物生態(tài)信息的實(shí)時查看、歷史信息回顧和用戶個人信息設(shè)置等功能。圖6-c所示的溫室狀態(tài)信息為溫室本地設(shè)備層各CAN節(jié)點(diǎn)傳感器所采集的實(shí)時數(shù)據(jù),包括室內(nèi)溫度、濕度、CO2濃度、室外溫度、風(fēng)速和光照度等。通過選擇勾選節(jié)點(diǎn),客戶端會每隔5 min實(shí)時刷新該界面或者用戶點(diǎn)擊刷新按鈕手動刷新數(shù)據(jù)。選中對應(yīng)的狀態(tài)數(shù)據(jù)再點(diǎn)擊詳情按鈕,即會彈出各觀測點(diǎn)的詳細(xì)數(shù)據(jù)。程序接收到刷新任務(wù),向服務(wù)器發(fā)送TCP請求,并設(shè)置新的等待進(jìn)程和監(jiān)聽任務(wù)。當(dāng)程序接受到服務(wù)的TCP應(yīng)答返回時,將返回?cái)?shù)據(jù)進(jìn)行解析并存儲,然后刷新對應(yīng)的溫室環(huán)境信息。[FL)]endprint

[FK(W17][TPZJW6.tif;S+2mm][FK)]

[FL(2K2]圖6-d所示的是用戶實(shí)現(xiàn)遠(yuǎn)程控制的溫室遠(yuǎn)程控制界面,通過選擇各CAN節(jié)點(diǎn)的開啟關(guān)閉狀態(tài),進(jìn)行是否遠(yuǎn)程控制的選擇。詳細(xì)的控制操作通過點(diǎn)擊控制按鈕跳轉(zhuǎn)到相應(yīng)的控制子系統(tǒng),如灌溉系統(tǒng)、通風(fēng)系統(tǒng)、光照系統(tǒng)、加熱系統(tǒng)、補(bǔ)光系統(tǒng)等。點(diǎn)擊查看以往數(shù)據(jù)按鈕,則會跳出歷史溫室內(nèi)環(huán)境數(shù)據(jù)等信息。通過歷史溫室觀察數(shù)據(jù),用戶可以更好地制定溫室控制策略,以達(dá)到相應(yīng)的生產(chǎn)指標(biāo)和經(jīng)濟(jì)效應(yīng)。

4結(jié)論

本研究搭建的基于Android平臺的溫室監(jiān)控系統(tǒng),實(shí)現(xiàn)了對溫室內(nèi)環(huán)境的本地以及遠(yuǎn)程監(jiān)控,利用Android移動設(shè)備的可移動性和實(shí)時數(shù)據(jù)傳輸優(yōu)勢,避免了人工管理溫室無法實(shí)時監(jiān)控溫室的問題。根據(jù)監(jiān)控?cái)?shù)據(jù)制定相應(yīng)的溫室控制策略,可以實(shí)現(xiàn)溫室的優(yōu)質(zhì)高效調(diào)控。

[HS2]參考文獻(xiàn):

[1][ZK(#]韓華峰,杜克明,孫忠富,等. 基于ZigBee網(wǎng)絡(luò)的溫室環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)與應(yīng)用[J]. 農(nóng)業(yè)工程學(xué)報(bào),2009,25(7):158-163.

[2]張猛,房俊龍,韓雨. 基于ZigBee和Internet的溫室群環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2013,29(增刊1):171-176.[HJ1.93mm]

[3]秦琳琳,陸林箭,石春,等. 基于物聯(lián)網(wǎng)的溫室智能監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 農(nóng)業(yè)機(jī)械學(xué)報(bào),2015,46(3):261-267.

[4]馬增煒,馬錦儒,李亞敏. 基于WIFI的智能溫室監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 農(nóng)機(jī)化研究,2011(2):154-157,162.

[5]韓劍,莫德清. 基于Android與GSM的溫室大棚遠(yuǎn)程監(jiān)控系統(tǒng)[J]. 江蘇農(nóng)業(yè)科學(xué),2015,43(4):397-399.

[6]陳美鎮(zhèn),王紀(jì)章,李萍萍,等. 基于Android系統(tǒng)的溫室異構(gòu)網(wǎng)絡(luò)環(huán)境監(jiān)測智能網(wǎng)關(guān)開發(fā)[J]. 農(nóng)業(yè)工程學(xué)報(bào),2015,31(5):218-225.

[7]陳大鵬,毛罕平,左志宇. 基于Android手機(jī)的溫室環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J]. 江蘇農(nóng)業(yè)科學(xué),2013,41(9):375-379.

[8]李娜,周峰. 基于Android平臺軟件開發(fā)方法的研究[J]. 信息通信,2015(6):38-39.

[9]倪凱,夏海波,魏建明,等. 一種移動終端遠(yuǎn)程數(shù)據(jù)訪問控制方法[J]. 計(jì)算機(jī)應(yīng)用與軟件,2012,29(6):230-232.endprint

猜你喜歡
智能監(jiān)控溫室
現(xiàn)代溫室羊肚菌栽培技術(shù)
蒼松溫室 蒼松灌溉
蒼松溫室 蒼松灌溉
可以避免一個溫室化的地球嗎?
府谷县| 望奎县| 建始县| 泸西县| 芦溪县| 台江县| 大英县| 宣城市| 湘乡市| 旺苍县| 湟源县| 越西县| 波密县| 航空| 阜新| 农安县| 扎兰屯市| 遵义县| 勐海县| 洞口县| 和龙市| 五常市| 湟中县| 蓝山县| 太和县| 麻阳| 禹州市| 石狮市| 红河县| 太仓市| 曲水县| 康保县| 赫章县| 深泽县| 石楼县| 莒南县| 平原县| 邹平县| 霍邱县| 手机| 贵南县|