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

?

基于Hadoop的溫室無線傳感網(wǎng)絡(luò)數(shù)據(jù)采集與管理系統(tǒng)

2019-04-26 08:19:46阮進(jìn)軍
綏化學(xué)院學(xué)報(bào) 2019年5期
關(guān)鍵詞:溫度傳感器溫室服務(wù)器

阮進(jìn)軍

(安徽商貿(mào)職業(yè)技術(shù)學(xué)院電子信息工程系 安徽蕪湖 241002)

近年來,溫室技術(shù)在高附加值農(nóng)業(yè)產(chǎn)業(yè)中得到了普遍應(yīng)用。相對(duì)大田種植,溫室種植更加注重環(huán)境綜合數(shù)據(jù)監(jiān)控,只有準(zhǔn)確獲得溫室環(huán)境綜合數(shù)據(jù),才能精準(zhǔn)調(diào)控農(nóng)作物生長(zhǎng)環(huán)境。隨著時(shí)間的推移,采集到的溫室環(huán)境參數(shù)將達(dá)到海量級(jí),這些數(shù)據(jù)中既包括溫濕度、光照度等傳感器采集的環(huán)境數(shù)據(jù),也包含圖像、視頻等多媒體數(shù)據(jù),數(shù)據(jù)量大且結(jié)構(gòu)復(fù)雜。傳統(tǒng)關(guān)系型數(shù)據(jù)庫的擴(kuò)展性、共享性低難以滿足海量數(shù)據(jù)存儲(chǔ)及查詢需求,分布式HBase數(shù)據(jù)庫對(duì)數(shù)據(jù)類型不敏感且安全性高,可以很好的解決上述矛盾。

一、系統(tǒng)方案設(shè)計(jì)

(一)系統(tǒng)體系結(jié)?;贖adoop的溫室無線傳感網(wǎng)絡(luò)數(shù)據(jù)采集與管理系統(tǒng)應(yīng)用于種植農(nóng)場(chǎng)中的多個(gè)溫室大棚,系統(tǒng)結(jié)構(gòu)如圖1所示。每個(gè)單體溫室大棚采用ZigBee 技術(shù),將數(shù)據(jù)傳輸至嵌入式主機(jī)進(jìn)行初步處理后通過網(wǎng)絡(luò)傳輸至數(shù)據(jù)中心的服務(wù)器集群,實(shí)現(xiàn)了對(duì)溫室環(huán)境數(shù)據(jù)的采集和存儲(chǔ)。用戶通過手機(jī)、終端等設(shè)備不僅可以監(jiān)控溫室環(huán)境狀況、查詢溫室歷史數(shù)據(jù),還可以通過APP手動(dòng)控制風(fēng)機(jī)、紅外燈、滴灌閥門等執(zhí)行部件的繼電器對(duì)溫室環(huán)境進(jìn)行調(diào)控。單體溫室監(jiān)控系統(tǒng)結(jié)構(gòu)如圖2所示。

圖1 系統(tǒng)結(jié)構(gòu)圖

圖2 單體溫室監(jiān)控系統(tǒng)結(jié)構(gòu)圖

本系統(tǒng)在每個(gè)溫室布設(shè)了11 個(gè)ZigBee 節(jié)點(diǎn),每個(gè)ZigBee節(jié)點(diǎn)將采集的空氣溫濕度、土壤濕度、光照度及二氧化碳濃度等環(huán)境數(shù)據(jù),上傳至ZigBee協(xié)調(diào)器節(jié)點(diǎn),ZigBee協(xié)調(diào)器節(jié)點(diǎn)使用RS232串口將數(shù)據(jù)發(fā)送到嵌入式主機(jī),嵌入式主機(jī)通過路由器或者3G/4G網(wǎng)絡(luò)利用Internet傳送至服務(wù)器集群;用戶下達(dá)的調(diào)控指令則通過嵌入式主機(jī)經(jīng)ZigBee 協(xié)調(diào)器節(jié)點(diǎn)由ZigBee節(jié)點(diǎn)的繼電器負(fù)責(zé)執(zhí)行。

圖2所示的嵌入式主機(jī)接收處理的主要數(shù)據(jù)包括:①各傳感器節(jié)點(diǎn)采集的溫濕度、光照強(qiáng)度等環(huán)境數(shù)據(jù),②攝像頭采集的視頻、圖像數(shù)據(jù),③嵌入式主機(jī)自動(dòng)記錄的關(guān)鍵生產(chǎn)性信息。(例如溫室管理員手動(dòng)調(diào)節(jié)溫室環(huán)境過程中,操作的風(fēng)機(jī)、滴灌閥、紅外燈等執(zhí)行部件編號(hào)及其運(yùn)行時(shí)間等數(shù)據(jù)。)這些數(shù)據(jù)中的①③數(shù)據(jù)存入系統(tǒng)數(shù)據(jù)庫,②的視頻、圖像數(shù)據(jù)存入到Hadoop 集群的HDFS 文件中,數(shù)據(jù)庫中只記錄其文件路徑。

(二)系統(tǒng)服務(wù)器集群設(shè)。系統(tǒng)服務(wù)器集群包含Web服務(wù)器、管理服務(wù)器、HDFS文件系統(tǒng)以及MySQL+HBase混合存儲(chǔ)模式組成的系統(tǒng)數(shù)據(jù)庫,HDFS 文件系統(tǒng)同時(shí)也是HBase 的底層文件系統(tǒng)。管理服務(wù)器負(fù)責(zé)服務(wù)器集群維護(hù)以及任務(wù)的調(diào)度,Web服務(wù)器是用戶終端、嵌入式主機(jī)以及數(shù)據(jù)庫服務(wù)器之間的媒介,它使用 Tomcat為用戶提供基于B/S模式的服務(wù)。服務(wù)器集群架構(gòu)如圖3所示。

圖3 服務(wù)器集群架構(gòu)

(三)系統(tǒng)數(shù)據(jù)存儲(chǔ)設(shè)。由于現(xiàn)代農(nóng)場(chǎng)的溫室空間較大,以常見的2.5畝的溫室為例,覆蓋面積大約1700m2,使用單個(gè)傳感器不能有效的監(jiān)測(cè)溫室的整體環(huán)境狀態(tài),因此本系統(tǒng)布置了11個(gè)ZigBee節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)分別布設(shè)了空氣溫濕度、土壤濕度、光照度及二氧化碳濃度傳感器。傳感器1分鐘采集一次數(shù)據(jù),每個(gè)傳感器單日的采集數(shù)據(jù)量有1440條,每個(gè)溫室單日采集的傳感器數(shù)據(jù)將達(dá)到80000條左右,一個(gè)擁有十幾個(gè)溫室大棚的種植農(nóng)場(chǎng)僅傳感器數(shù)據(jù)單日就將超過百萬條,隨著時(shí)間的推移,數(shù)據(jù)量可能達(dá)到PB級(jí)甚至更高。傳統(tǒng)結(jié)構(gòu)化數(shù)據(jù)庫難以滿足如此大規(guī)模的數(shù)據(jù)存儲(chǔ)及查詢需求。另外各溫室中安置的攝像頭每日所采集視頻、圖像數(shù)據(jù)量也非常龐大,需要海量的存儲(chǔ)空間。

Hadoop大數(shù)據(jù)集群的HDFS分布式文件系統(tǒng)采用主從模式,具有簡(jiǎn)單靈活、擴(kuò)展性能強(qiáng)等特點(diǎn),HDFS采用基于統(tǒng)一尺寸塊、多副本、多節(jié)點(diǎn)的存儲(chǔ)機(jī)制簡(jiǎn)化了系統(tǒng)設(shè)計(jì),更加有利于大規(guī)模文件的存儲(chǔ)和備份。因此采用HDFS 存儲(chǔ)視頻、圖像數(shù)據(jù)不僅可以滿足大規(guī)模海量數(shù)據(jù)的存儲(chǔ)還可以保證數(shù)據(jù)的安全性?;贖DFS文件系統(tǒng)的HBase數(shù)據(jù)庫,具有極強(qiáng)的擴(kuò)展性和吞吐量,它采用Key/Value方式存儲(chǔ)數(shù)據(jù),可以在數(shù)據(jù)量大幅度增加的情況下仍然能保持較好的查詢性能。但是HBase數(shù)據(jù)庫在存儲(chǔ)和查詢小數(shù)據(jù)量數(shù)據(jù)時(shí),相對(duì)傳統(tǒng)關(guān)系型數(shù)據(jù)庫MySQL來說效率較差,因此本系統(tǒng)采用MySQL+HBase混合模式數(shù)據(jù)庫存儲(chǔ)溫室環(huán)境數(shù)據(jù)。

1.MySQL數(shù)據(jù)庫傳感器信息表設(shè)計(jì)。

(1)多傳感器數(shù)據(jù)融合。本系統(tǒng)在每個(gè)溫室布設(shè)了11個(gè)ZigBee節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)都能采集空氣溫度、空氣濕度、土壤濕度、光照度和二氧化碳濃度5種不同類型的環(huán)境數(shù)據(jù)。但是每一種類型的單個(gè)傳感器采集數(shù)據(jù)不能全面準(zhǔn)確反映整個(gè)溫室的環(huán)境變化情況,為了幫助溫室管理員精確掌握溫室整體的環(huán)境數(shù)據(jù),可以綜合考慮所有傳感器的相互作用,將5種不同類型傳感器采集的數(shù)據(jù)分別進(jìn)行數(shù)據(jù)融合得到能分別代表整個(gè)溫室空氣溫度、空氣濕度、土壤濕度、光照度和二氧化碳濃度的綜合數(shù)據(jù)。

自適應(yīng)加權(quán)數(shù)據(jù)融合算法由于實(shí)現(xiàn)簡(jiǎn)單,精度較高,只需要多傳感器的測(cè)量值,即可給出均方誤差最小的數(shù)據(jù)融合值。[1]考慮到嵌入式主機(jī)數(shù)據(jù)處理能力有限,因此本文采用自適應(yīng)加權(quán)融合算法對(duì)采集到的傳感器數(shù)據(jù)進(jìn)行融合,其結(jié)構(gòu)如圖4所示。[2]

圖4 自適應(yīng)加權(quán)融合算法結(jié)構(gòu)圖

以融合空氣溫度為例,若11 個(gè)節(jié)點(diǎn)溫度采樣值分別為x1,x2,…x11,為每個(gè)溫度采樣值分配權(quán)值分別為ωi(i=1,2,……11),則融合完成的溫度結(jié)果為:

其中

由于各個(gè)節(jié)點(diǎn)溫度傳感器彼此獨(dú)立,因此總均方差為:

將權(quán)值ωi代入式①即可得到11個(gè)溫度傳感器采樣值的融合值X。同理可以計(jì)算空氣濕度、土壤濕度、光照度和二氧化碳濃度采樣值的融合值。

(2)MySQL 數(shù)據(jù)庫溫室傳感器信息表設(shè)計(jì)。經(jīng)過上述的傳感器數(shù)據(jù)融合處理后,不僅能根據(jù)多個(gè)傳感器采集的環(huán)境數(shù)據(jù)融合得到溫室整體環(huán)境數(shù)據(jù),同時(shí)也將每個(gè)溫室傳感器采樣數(shù)據(jù)量壓縮為原數(shù)量的1/11,由于MySQL數(shù)據(jù)庫在數(shù)據(jù)量較小時(shí)查詢能力優(yōu)于HBase,同時(shí)考慮到溫室農(nóng)作物在不同的生長(zhǎng)周期對(duì)環(huán)境需求有較大差異(以種植番茄的溫室為例,按照番茄的生長(zhǎng)規(guī)律分為定植后的緩苗期、營(yíng)養(yǎng)生長(zhǎng)期和開花結(jié)果期,其中緩苗期需要密閉溫室5至6d,其余生長(zhǎng)周期從30d至90d不等。[3]),因此可以將MySQL數(shù)據(jù)庫的最長(zhǎng)存儲(chǔ)周期設(shè)置為溫室番茄的最小生長(zhǎng)周期(5d),在這個(gè)存儲(chǔ)周期整個(gè)種植農(nóng)場(chǎng)的數(shù)據(jù)記錄大約為幾十萬條左右,5d之前的數(shù)據(jù)則保存至HBase。MySQL存儲(chǔ)和查詢幾十萬條數(shù)據(jù)的效率遠(yuǎn)高于HBase,因此也提升了整個(gè)系統(tǒng)的效率。具體關(guān)系型傳感器信息表可以設(shè)計(jì)成如表1所示:

表1 MySQL數(shù)據(jù)庫傳感器信息表

空氣濕度土壤濕度光照度二氧化碳濃度ghHumidity ghShumidity ghLlluminance ghCO2 float float float float

用戶在發(fā)起歷史數(shù)據(jù)查詢請(qǐng)求后,系統(tǒng)將根據(jù)用戶查詢的時(shí)間范圍判斷是否在5d之內(nèi),是則通過My SQL數(shù)據(jù)庫進(jìn)行查詢,否則通過HBase數(shù)據(jù)庫查詢。

2.HBase數(shù)據(jù)庫表設(shè)計(jì)。HBase是一個(gè)面向列的、稀疏、分布式、持久化存儲(chǔ)的多維排序映射表,HBase 表的索引是行關(guān)鍵字(RowKey)、列簇名、列關(guān)鍵字和時(shí)間戳[4]。即HBase的表的組成是行鍵(RowKey):列簇(Column Family):列(Column):時(shí)間戳(Time tamp),每個(gè)單元格(Cell)由上述RowKey、Column Family、Column和Time tamp確定,單元格中存儲(chǔ)的數(shù)據(jù)類型不做限定,以字節(jié)形式存放。HBase集群包含一個(gè)Master服務(wù)器和若干個(gè)Region Server服務(wù)器,具體數(shù)據(jù)存儲(chǔ)在Region Server服務(wù)器上。Region基于HDFS文件系統(tǒng),HBase表可以擁有多個(gè)Region,每個(gè)Region不可以跨服務(wù)器。

(1)溫室傳感器信息表設(shè)計(jì)。由于MySQL數(shù)據(jù)庫適用于量級(jí)較小的數(shù)據(jù)存儲(chǔ)和查詢,本系統(tǒng)將5d 前的溫室環(huán)境數(shù)據(jù)存儲(chǔ)到HBase數(shù)據(jù)庫中。根據(jù)上述HBase特性,它更適合基于RowKey的行掃描形式查詢,因此可以將HBase數(shù)據(jù)庫中和MySQL數(shù)據(jù)庫對(duì)應(yīng)的溫室傳感器信息表的RowKey設(shè)計(jì)為“種植農(nóng)場(chǎng)編號(hào)+溫室編號(hào)+采樣時(shí)間”,其中的編號(hào)要求用地名字母縮寫和數(shù)字組合的方式編制(例如whyj01),并要求RowKey 的長(zhǎng)度保持一致,采用此種方式可以使RowKey按照字典排序后,相近區(qū)域的信息能存儲(chǔ)到相同位置;將監(jiān)測(cè)的5個(gè)環(huán)境參數(shù)(空氣溫度、濕度、土壤濕度、光照度及二氧化碳濃度)作為Column Family,HBase 將會(huì)把同一種類型的數(shù)據(jù)盡量放在同一臺(tái)服務(wù)器,查詢某一種類型的數(shù)據(jù)的過程中也會(huì)避免加載其它無關(guān)數(shù)據(jù),從而有效提高了HBase查詢效率。

例如:農(nóng)場(chǎng)編號(hào)為whyj01、溫室編號(hào)為gh01、采樣時(shí)間為2015年5月1日零時(shí),溫度傳感器的融合值為23oC。其鍵值對(duì)如表2所示:

表2 鍵值對(duì)存儲(chǔ)

其中行鍵為“whyj01gh0120150501000000”,列簇:列為“ghTemperature:temperature”,時(shí)間戳為“1174184630753”,需要存儲(chǔ)的具體數(shù)據(jù)是“23”。

(2)節(jié)點(diǎn)傳感器信息表設(shè)計(jì)。HBase 具有很強(qiáng)的擴(kuò)展性,非常適合存儲(chǔ)海量數(shù)據(jù),因此可以將溫室中的每個(gè)ZigBee 節(jié)點(diǎn)的傳感器采集數(shù)據(jù)不做任何處理,直接存儲(chǔ)到HBase數(shù)據(jù)庫的傳感器信息表,可供后期數(shù)據(jù)融合及數(shù)據(jù)挖掘所用。節(jié)點(diǎn)傳感器信息表的設(shè)計(jì)理念和上述溫室傳感器信息表一致,設(shè)計(jì)Row Key時(shí)只要增加1個(gè)采集節(jié)點(diǎn)信息即可,具體形式是“種植農(nóng)場(chǎng)編號(hào)+溫室編號(hào)+采集節(jié)點(diǎn)編號(hào)+采樣時(shí)間”。

例如:農(nóng)場(chǎng)編號(hào)為whyj01、溫室編號(hào)為gh01、采集節(jié)點(diǎn)zb01、采樣時(shí)間為2015年5月1日零時(shí),濕度采樣值為75%。其鍵值對(duì)如表3所示:

表3 鍵值對(duì)存儲(chǔ)

(四)基于HBase歷史數(shù)據(jù)改進(jìn)的自適應(yīng)加權(quán)融合算法。由自適應(yīng)加權(quán)融合算法中的式④可以獲知,值權(quán)ωi受到每個(gè)傳感器的的影響。與傳感器精度有關(guān),傳感器受電池電量損耗以及環(huán)境因素干擾等因素影響,精度會(huì)發(fā)生改變,因此的值也隨之而變化。由于系統(tǒng)MySQL 數(shù)據(jù)庫的最長(zhǎng)存儲(chǔ)周期設(shè)置為5d,相對(duì)時(shí)間間隔較短,可以忽略電池?fù)p耗的影響,同時(shí)在一個(gè)番茄的生長(zhǎng)的最小周期之內(nèi),溫室環(huán)境變化不大。因此本系統(tǒng)設(shè)計(jì)每隔5d,根據(jù)HBase數(shù)據(jù)庫中節(jié)點(diǎn)傳感器采集的歷史數(shù)據(jù)更新每個(gè)傳感器權(quán)值為ωni。

以指定節(jié)點(diǎn)溫度傳感器為例,從HBase數(shù)據(jù)庫中查找與當(dāng)前時(shí)間最近,且節(jié)點(diǎn)所在溫室整體溫度基本穩(wěn)定的0.5小時(shí)采樣區(qū)間(在此采樣區(qū)間傳感器按照系統(tǒng)預(yù)設(shè)每分鐘需采樣1次,共計(jì)30次采樣數(shù)據(jù)),將這30次采樣數(shù)據(jù)作為樣本,對(duì)節(jié)點(diǎn)溫度傳感器的權(quán)值進(jìn)行更新。

改進(jìn)的自適應(yīng)加權(quán)融合算法(以溫度傳感器為例)具體步驟如下:

②同理計(jì)算溫室中其余各節(jié)點(diǎn)的溫度傳感器,在相同采樣區(qū)間的方差(i=1,2,…11)

③分別根據(jù)式⑥計(jì)算11個(gè)節(jié)點(diǎn)的溫度傳感器基于30個(gè)歷史采樣的權(quán)值ωi'

④將傳感器當(dāng)前值權(quán)和基于歷史采樣的值權(quán)ωi'按照1:1的比值組合,更新權(quán)值為ωni。

⑤將ωni取代原有權(quán)值,則可以根據(jù)式①計(jì)算出溫度傳感器融合值X。

二、系統(tǒng)應(yīng)用

(一)實(shí)時(shí)監(jiān)測(cè)。用戶通過手機(jī)、終端等設(shè)備通過APP訪問系統(tǒng),選擇需要監(jiān)控的具體農(nóng)場(chǎng)溫室,實(shí)時(shí)查看當(dāng)前溫室經(jīng)過數(shù)據(jù)融合的環(huán)境數(shù)據(jù),如圖5所示。當(dāng)溫度、濕度、光照度等參數(shù)超過農(nóng)作物適宜生長(zhǎng)的區(qū)間范圍時(shí),顯示紅色警告異常信息,便于用戶及時(shí)發(fā)現(xiàn)。用戶通過點(diǎn)擊警告按鈕跳轉(zhuǎn)到圖6所示界面對(duì)溫室環(huán)境進(jìn)行調(diào)控。

圖5 溫室環(huán)境監(jiān)測(cè)界面

(二)溫室環(huán)境控制。用戶點(diǎn)選執(zhí)行部件虛擬按鈕,通過ZigBee節(jié)點(diǎn)的繼電器連通執(zhí)行部件電路,手動(dòng)調(diào)節(jié)溫室環(huán)境使各項(xiàng)數(shù)據(jù)恢復(fù)正常,如圖6所示。系統(tǒng)將會(huì)把用戶對(duì)執(zhí)行部件的操作過程數(shù)據(jù)(執(zhí)行部件編號(hào)、運(yùn)行時(shí)間等信息)記錄到數(shù)據(jù)庫,作為數(shù)據(jù)挖掘算法的原始數(shù)據(jù)。

圖6 手動(dòng)調(diào)節(jié)溫室環(huán)境

(三)歷史數(shù)據(jù)查詢。用戶可以在圖5的實(shí)時(shí)監(jiān)測(cè)界面通過點(diǎn)擊“歷史”按鈕查詢各傳感器的歷史數(shù)據(jù)。系統(tǒng)將根據(jù)用戶選擇需要查詢的時(shí)間段,判斷選擇不同的數(shù)據(jù)庫顯示溫室的歷史數(shù)據(jù),若時(shí)間段在5d之內(nèi)則調(diào)用MySQL數(shù)據(jù)庫數(shù)據(jù)進(jìn)行查詢,否則使用HBase數(shù)據(jù)庫進(jìn)行查詢。如圖7所示。

圖7 歷史數(shù)據(jù)查詢

三、結(jié)語

本文利用ZigBee、無線傳感器、物聯(lián)網(wǎng)以及基于HBase歷史數(shù)據(jù)改進(jìn)的自適應(yīng)加權(quán)融合算法等技術(shù)實(shí)現(xiàn)了溫室環(huán)境數(shù)據(jù)的實(shí)時(shí)采集和溫室環(huán)境監(jiān)控,采用MySQL+HBase混合模式數(shù)據(jù)庫實(shí)現(xiàn)了大規(guī)模海量數(shù)據(jù)的可靠存儲(chǔ)和高效查詢,不僅可以協(xié)助溫室管理員實(shí)時(shí)、高效的監(jiān)測(cè)、管理溫室環(huán)境,還為后續(xù)數(shù)據(jù)融合及數(shù)據(jù)挖掘提供了數(shù)據(jù)支撐,對(duì)大規(guī)模溫室生產(chǎn)具有積極的意義。

猜你喜歡
溫度傳感器溫室服務(wù)器
現(xiàn)代溫室羊肚菌栽培技術(shù)
蒼松溫室 蒼松灌溉
蒼松溫室 蒼松灌溉
通信控制服務(wù)器(CCS)維護(hù)終端的設(shè)計(jì)與實(shí)現(xiàn)
溫度傳感器DS18B20在溫度計(jì)設(shè)計(jì)中的應(yīng)用
電子制作(2019年12期)2019-07-16 08:45:44
一種高性能CMOS溫度傳感器
可以避免一個(gè)溫室化的地球嗎?
英語文摘(2019年2期)2019-03-30 01:48:28
XTR105電流變送器在溫度傳感器中的應(yīng)用
電子制作(2018年12期)2018-08-01 00:47:40
得形忘意的服務(wù)器標(biāo)準(zhǔn)
計(jì)算機(jī)網(wǎng)絡(luò)安全服務(wù)器入侵與防御
根河市| 黄平县| 锡林郭勒盟| 绥德县| 鹤壁市| 图木舒克市| 两当县| 开远市| 城口县| 台北县| 海林市| 姜堰市| 开江县| 资中县| 邹平县| 安顺市| 广宗县| 涟水县| 图们市| 响水县| 稷山县| 平陆县| 宝鸡市| 壤塘县| 惠来县| 上杭县| 衡水市| 酒泉市| 茌平县| 荔波县| 舟曲县| 海伦市| 烟台市| 赤水市| 体育| 嘉鱼县| 贞丰县| 揭西县| 玉环县| 高清| 克什克腾旗|