曾金,雷建云
(中南民族大學(xué) 計算機科學(xué)學(xué)院,湖北 武漢 430000)
摘要:近幾年三維水動力模型日漸成熟,通過獲取水庫區(qū)域的水力資源數(shù)據(jù),利用數(shù)據(jù)挖掘等技術(shù)可以實現(xiàn)對整個庫區(qū)系統(tǒng)的建模。數(shù)據(jù)信息采集技術(shù)隨著ArduinoEthernet的出現(xiàn),使數(shù)據(jù)從精準(zhǔn)采集到可控化傳送成為可能。該系統(tǒng)在設(shè)計時充分考慮到所研究區(qū)域的實際環(huán)境,采用的傳感器均是兼容Arduino Ethernet。數(shù)據(jù)采集之后可以通過網(wǎng)絡(luò)技術(shù)從現(xiàn)場快速地傳送到實驗室數(shù)據(jù)庫中心,數(shù)據(jù)經(jīng)過處理可以應(yīng)用于實際應(yīng)用中。
關(guān)鍵詞:Arduino Ethernet;智能化;傳感器
0引言
數(shù)據(jù)采集技術(shù)目前很成熟,但是在特定領(lǐng)域采集信息還是很有局限性。其中數(shù)據(jù)的傳送及安全性無法很好地保證,特別是數(shù)據(jù)采集器在很多領(lǐng)域均是單獨定制的,無法實現(xiàn)通用化、開源化,造成系統(tǒng)無法及時更換新的采集器以保證數(shù)據(jù)的真實性[1]。
本系統(tǒng)在設(shè)計時主要針對水體流域區(qū)域進行設(shè)計,同時需要考慮到實際應(yīng)用的簡捷程度[2]。本文所研究庫區(qū)一般處于偏遠地區(qū),現(xiàn)場實地檢測十分不便,故需要采用物聯(lián)網(wǎng)技術(shù)實現(xiàn)數(shù)據(jù)的遠距離傳送。如何實現(xiàn)數(shù)據(jù)采集的真實有效性是本文需要考慮的重要問題。
1系統(tǒng)總體邏輯設(shè)計
系統(tǒng)重點在于如何采集數(shù)據(jù)信息,再進行數(shù)據(jù)傳輸,實現(xiàn)可控化監(jiān)控整個系統(tǒng)的數(shù)據(jù)變化[3]。其中系統(tǒng)整體結(jié)構(gòu)圖如圖1所示。
系統(tǒng)在整體設(shè)計上采用多層次結(jié)構(gòu)設(shè)計,其中數(shù)據(jù)的采集是整個系統(tǒng)的重要部分。在實現(xiàn)過程中使用模塊化結(jié)構(gòu),模塊化結(jié)構(gòu)便于系統(tǒng)進行二次開發(fā)升級[4]。系統(tǒng)在設(shè)計上綜合各種因素,以便于系統(tǒng)可以在不同環(huán)境條件下正常運行。
本系統(tǒng)采用Arduino-Ethernet為數(shù)據(jù)處理及采集的核心處理器。模型主要需要的數(shù)據(jù)是水的流速、風(fēng)速、溫度、雨量,器材選擇采用流速、風(fēng)速、溫濕度、雨量計量器傳感器[5]。系統(tǒng)在庫區(qū)設(shè)置多個監(jiān)測點,實現(xiàn)實時監(jiān)控整個研究區(qū)域的主要數(shù)據(jù)變化,同時采集的數(shù)據(jù)通過網(wǎng)絡(luò)實時傳送到數(shù)據(jù)庫。研究人員只需要從遠程端口獲取需要的數(shù)據(jù)就可以進行深入的研究[6]。
2硬件設(shè)計
2.1傳感器簡介
風(fēng)速傳感器:Arduino風(fēng)速傳感器體積小,攜帶方便,其測量精度高,穩(wěn)定性好。在結(jié)構(gòu)上其采用模塊化設(shè)計,外觀質(zhì)量佳,適合數(shù)據(jù)的遠程傳送,同時信號輸送距離長,抗外界干擾能力強。
水速傳感器:Water Flow Sensor是一款水流傳感器,主要由塑料閥體 、水流轉(zhuǎn)子組件和霍爾傳感器組成。其可應(yīng)用于水的流量測控系統(tǒng),其外觀輕巧靈便,體積小,便于安裝,葉輪內(nèi)部鑲有不銹鋼珠,永久耐磨,具有強大的適應(yīng)性,適合各種控制器和開發(fā)板。
DHT11傳感器:數(shù)字溫濕度傳感器是一款含有已校準(zhǔn)數(shù)字信號輸出的溫濕度復(fù)合傳感器。應(yīng)用專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),使得其在實際應(yīng)用中具有極高的可靠性與卓越的長期穩(wěn)定性。
降雨量傳感器:適用于各種天氣狀況的監(jiān)測,模塊將監(jiān)測的數(shù)據(jù)轉(zhuǎn)換成數(shù)字信號和AO輸出電平信號,具有對抗氧化、導(dǎo)電性及壽命方面更優(yōu)越的性能。
2.2系統(tǒng)硬件結(jié)構(gòu)設(shè)計
本系統(tǒng)采用分布式模塊設(shè)計方法構(gòu)造系統(tǒng)的整個結(jié)構(gòu)布局。在各個監(jiān)測站點建立數(shù)據(jù)采集子系統(tǒng),通過數(shù)據(jù)傳感器獲取環(huán)境數(shù)據(jù)信息,經(jīng)過開源單片機Arduino處理之后實時數(shù)據(jù)存儲到數(shù)據(jù)庫中[7]。現(xiàn)場PC端獲取數(shù)據(jù)信息的同時遠程Web端也可以實時接收到數(shù)據(jù),并且用最優(yōu)化的方法顯示其變化的趨勢,系統(tǒng)在整個設(shè)計中充分利用物聯(lián)網(wǎng)技術(shù)實現(xiàn)系統(tǒng)智能化地監(jiān)測環(huán)境數(shù)據(jù)變化,其系統(tǒng)結(jié)構(gòu)原理圖如圖2所示。
2.3系統(tǒng)網(wǎng)絡(luò)拓撲圖設(shè)計
整個系統(tǒng)在設(shè)計上充分利用物聯(lián)網(wǎng)技術(shù),系統(tǒng)網(wǎng)絡(luò)拓撲圖如圖3所示。系統(tǒng)檢測數(shù)據(jù)的硬件通過網(wǎng)絡(luò)與客戶端相連接。在整個網(wǎng)絡(luò)拓撲圖中監(jiān)測站為數(shù)據(jù)采集點,監(jiān)測站點之間通過交換機實現(xiàn)連接,同時數(shù)據(jù)采集之后存放到數(shù)據(jù)庫中,并實現(xiàn)實時更新。客戶端在使用時直接通過網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的獲取。整個網(wǎng)絡(luò)實現(xiàn)數(shù)據(jù)的實時傳送,結(jié)構(gòu)清晰,可以方便對系統(tǒng)進行深層次的開發(fā)利用。
3系統(tǒng)軟件設(shè)計
3.1系統(tǒng)主程序
系統(tǒng)主程序分為初始化、數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)存儲、數(shù)據(jù)調(diào)用等部分。其中初始化主要是判斷系統(tǒng)獲取傳感器信息,從而判定傳感器接入的串口點,處理器運行后開始采集傳感器獲取的數(shù)據(jù)。通過系統(tǒng)進行處理之后,選擇一定量的數(shù)據(jù)傳送到數(shù)據(jù)庫,同時遠程客戶端與管理端口從數(shù)據(jù)庫實時調(diào)用數(shù)據(jù),然后通過數(shù)據(jù)挖掘技術(shù)獲取有效的數(shù)據(jù)[8]。
系統(tǒng)在運行時首先對硬件進行初始化,傳感器開始采集數(shù)據(jù)并由Arduino對數(shù)據(jù)進行格式轉(zhuǎn)換,同時數(shù)據(jù)通過程序轉(zhuǎn)入到實時數(shù)據(jù)庫中。客戶端通過網(wǎng)絡(luò)從數(shù)據(jù)庫中獲取新的數(shù)據(jù),并且用Echarts圖表顯示在界面上,便于管理人員進行開發(fā)處理與數(shù)據(jù)信息采集[9],系統(tǒng)整體程序流程圖如圖4所示。
3.2采集數(shù)據(jù)程序設(shè)計
整個系統(tǒng)涵蓋多個監(jiān)測站點,每個監(jiān)測站點對應(yīng)采集溫度、濕度、風(fēng)速、降雨量、水流速度。整個水庫模型建立需要的最重要數(shù)據(jù)便是降雨量與水流速度,其中溫度、濕度、風(fēng)速均是數(shù)據(jù)采集器每半小時對庫區(qū)整個生態(tài)區(qū)進行數(shù)據(jù)采集一次。數(shù)據(jù)采集器獲取的數(shù)據(jù)可以顯示在Arduino編輯器的串口處,每個監(jiān)測站點分布著不同的傳感器采集數(shù)據(jù)[10]。
采集過程使用串行的方法運行程序,這樣做在時間上相對來說不同數(shù)據(jù)之間具有一定時間間隔。鑒于系統(tǒng)采集周期長,時間間隔理想,為使整個系統(tǒng)精準(zhǔn)故采用串行處理模式,這樣很好地解決了傳感器并行處理造成的系統(tǒng)數(shù)據(jù)紊亂的問題。
3.3客戶端程序設(shè)計
系統(tǒng)數(shù)據(jù)采集之后存入數(shù)據(jù)庫,客戶端通過網(wǎng)絡(luò)實現(xiàn)對數(shù)據(jù)庫的數(shù)據(jù)獲取[10]。目前客戶端最為常用的結(jié)構(gòu)分為C/S、B/S結(jié)構(gòu),其中研究區(qū)域?qū)嵉乇O(jiān)控中心采用C/S結(jié)構(gòu),可以方便地獲取數(shù)據(jù)與采集數(shù)據(jù)。遠程實驗室獲取數(shù)據(jù)采用B/S結(jié)構(gòu),可以實現(xiàn)在不同的地點直觀地獲取從研究區(qū)域傳過來的實時數(shù)據(jù),實現(xiàn)真正的智能化。
現(xiàn)場監(jiān)測終端:客戶端設(shè)計程序根據(jù)實際需要設(shè)置多個站點的數(shù)據(jù)同時展示,其中庫區(qū)監(jiān)測站主要是獲取數(shù)據(jù)。
Web遠程客戶端是針對遠程管理人員進行數(shù)據(jù)采集。采用客戶端可以實現(xiàn)在不同地點任意地提取數(shù)據(jù),當(dāng)然這需要足夠的管理人員權(quán)限才可以快速地獲取真實的數(shù)據(jù),以游客身份進入客戶端只能觀看到實時數(shù)據(jù)的變化。
3.4結(jié)果分析
整個系統(tǒng)運行采集的數(shù)據(jù)通過客戶端可以實現(xiàn)實時查看。管理人員與消費者通過不同的方式查看數(shù)據(jù),其中部分?jǐn)?shù)據(jù)圖表如圖5~圖7所示。數(shù)據(jù)采集之后通過圖形展示在客戶端,實時地顯示數(shù)據(jù)變化趨勢。管理人員可以對其進行分析總結(jié)從而在實際中應(yīng)用,以實現(xiàn)經(jīng)濟效益最大化[11]。
系統(tǒng)設(shè)置的站點在整個系統(tǒng)運行時不斷采集數(shù)據(jù)。數(shù)據(jù)通過網(wǎng)絡(luò)實時傳送到數(shù)據(jù)庫,客戶端從數(shù)據(jù)庫中獲取數(shù)據(jù),并通過一定的表格形式顯示出來,為了更好地研究數(shù)據(jù)的趨勢與效果,采用Echarts形式設(shè)計監(jiān)測界面,實現(xiàn)可視化研究,方便數(shù)據(jù)的挖掘與深入研究。
4結(jié)論
本文基于ArduinoEthernet開發(fā)設(shè)計了一套適用于水體流域進行數(shù)據(jù)采集的系統(tǒng)。系統(tǒng)采用性能良好的傳感器,實現(xiàn)數(shù)據(jù)的精準(zhǔn)采集。同時系統(tǒng)在測試過程中,狀態(tài)穩(wěn)定,采集的數(shù)據(jù)經(jīng)過多重處理,通過客戶端進行顯示實現(xiàn)了數(shù)據(jù)的完美展現(xiàn)。管理人員充分利用其可視化及可挖掘性,實現(xiàn)了準(zhǔn)確預(yù)測各種信息數(shù)據(jù)的變化走向。系統(tǒng)可以人為地進行擴展,可以應(yīng)用于工農(nóng)業(yè)生產(chǎn),實現(xiàn)經(jīng)濟效益最大化。
參考文獻
[1] MCROBERTS M.Arduino從基礎(chǔ)到實踐[M].楊繼志,郭敬,譯.北京:電子工業(yè)出版社,2013.
[2] 李明亮.Arduino項目DIY[M].北京:清華大學(xué)出版社,2015.
[3] 陳呂洲.Arduino程序設(shè)計基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,2015.
[4] 于景陽.長春電力公司用電信息采集系統(tǒng)設(shè)計[D]. 吉林:吉林大學(xué),2015.
[5] 郭廣明.淺談云計算技術(shù)在物聯(lián)網(wǎng)智能家居系統(tǒng)中的應(yīng)用[J]. 電子測試,2016(9):99-100.
[6] 劉穎.物聯(lián)網(wǎng)在農(nóng)業(yè)中的應(yīng)用及前景展望[J].信息與電腦(理論版), 2016(6):26-27,69.
[7] 吳凌斌.基于WSN的扎龍濕地水環(huán)境監(jiān)測系統(tǒng)設(shè)計[D].齊齊哈爾:齊齊哈爾大學(xué),2015.
[8] 張恩迪,李翔.數(shù)據(jù)采集系統(tǒng)綜合誤差研究及軟硬件設(shè)計[C]. 2015全國嵌入式儀表及系統(tǒng)技術(shù)會議程序冊, 2015:18.
[9] 鄭克銘,何斌.基于ICV的某大型鋼廠的數(shù)據(jù)采集系統(tǒng)[C]. 中國計量協(xié)會冶金分會2015年會論文集,2015:261-265.
[10] 吳濤,王靖宇.基于單片機的醫(yī)學(xué)信號數(shù)據(jù)采集處理系統(tǒng)的設(shè)計[C]. 中華醫(yī)學(xué)會醫(yī)學(xué)工程學(xué)分會第十五次全國學(xué)術(shù)年會論文匯編, 2015:360-361.
[11] 袁本華,董錚.基于Arduino控制板的溫室大棚測溫系統(tǒng)設(shè)計[J].安徽農(nóng)業(yè)科學(xué),2012,40(8):49-50.