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