曾 金, 帖 軍, 韓崢嶸(中南民族大學 計算機科學學院, 武漢 430000)
遠程智能化環境數據采集系統①
曾 金, 帖 軍, 韓崢嶸
(中南民族大學 計算機科學學院, 武漢 430000)
隨著經濟的快速發展, 工農業生產逐漸從傳統的人工技術走向智能化生產. 傳統的大規模工農業環境的數據采集技術已經不適應快速發展的工農業生產, 新型的智能化遠程環境數據采集技術應運而生. 系統采用Arduino開源單片機, 利用其強大的適應環境能力、低成本等特點, 實現數據從精準采集到智能化遠程傳送. 數據采集之后單片機通過端口實時獲取數據, 并通過程序進行處理, 處理好的數據通過建立好的網絡實現數據的傳送. 數據經過網絡實現數據完整的存放進遠程數據庫, 同時客戶端直接從數據庫獲取數據, 管理人員通過客戶端查詢數據與分析數據, 挖掘出對模型重要的數據.
Arduino; 智能化; 遠程; 傳感器
環境數據采集技術在工農業中應用十分廣泛. 傳統的數據采集系統主要依靠人力資源去實地采集信息,同時少量通過網絡進行簡單處理. 數據在傳輸過程中的安全性無法保證, 系統不易維護, 數據丟包率高,數據不準確, 功耗大, 成本高等缺點[1].
遠程智能化環境數據采集系統完美的解決了傳統采集技術的這些缺點. 本文從系統的功耗、性能, 成本入手, 以實現整個系統的低功耗, 高性能, 低成本為目. 實現整個環境數據采集系統自動化和智能化, 使物聯網技術更夠更好的服務工農業生產[2].
系統采用開源硬件Arduino系列單片機為數據采集以及處理的核心處理器,采集的數據主要是風速、溫濕度、雨量計量器、溫度、PM2.5、CO2等.
硬件器材選擇采用風速、溫濕度、CO2、光照強度、pH、土壤溫度等傳感器, 系統在每個采集點設置3個監測點, 實時獲取每個檢測點的環境數據, 并通過網絡傳送至遠程服務器, 遠程服務器中運行的中間件接收數據后并將數據插入數據庫, 用戶通過訪問C#客戶端或者web界面可以實時查看相關環境數據變化.
系統在實現過程中采用模塊化設計的思想以便于系統進行二次開發和升級. 在設計上是綜合考慮各方面因素, 以追求普遍性, 以便于系統可以在各種不同環境條件下正常運行[3].
2.1 傳感器硬件簡介
二氧化碳濃度傳感器: 用金屬氧化物半導體材料,在一定條件下半導體材料感測到環境變化, 芯片數據產生相應變化.
DHT22傳感器: 數字溫濕度傳感器是一款含有已校準數字信號輸出的溫濕度復合傳感器.
光照傳感器: 采用先進光電轉換模塊, 將光照強度值轉化為電壓值, 再經過相應的電路進行數值轉換.
APRS風速風向傳感器: Arduino風速風向傳感器體積小, 測量精度高, 穩定性好, 適合數據的遠程傳送.
PH值傳感器: pH值傳感器是高智能化在線連續監測儀.
土壤溫度傳感器: 土壤溫度傳感器采用LM393芯片作為比較器, 表面采用鍍鎳處理, 有加寬的感應面積, 可以提高導電性能, 防止接觸土壤容易生銹的問題, 延長壽命, 以減少系統維護的成本.
2.2 系統硬件架構設計
本系統采用多模塊設計方法構成系統的整體結構布局. 每塊單片機控制若干個傳感器, 每個Arduino單片機作為分布式中的一個結點, 收集傳感器發送過來的數據, 多個單片機在各個監測站點建立數據采集子系統. 通過傳感器獲取采集的環境數據信息, 經過開源單片機Arduino處理之后通過網絡實時存儲到阿里云服務器上的MySQL數據庫中. 客戶端可以實時查閱最近一周的數據, 并且用最優化的方法顯示其變化的趨勢[4]. 系統在整個設計中充分利用物聯網技術實現系統的智能化的監測環境數據變化.
3.1 Arduino-Ethernet采集數據程序設計
整個系統涵蓋3個監測站點, 每個監測站點對應采集風速, 溫濕度, CO2濃度, 光照強度, 土壤pH值,土壤溫度.
系統實際采集數據根據不同環境可以實現擴展性變化, 不同的監測點通過設置的串行端口5555進行數據的傳送.
數據采集的信息量比較大, 為了防止傳送的帶寬不夠, 在單片機處理數據中采用延時的辦法實現數據的串行輸送[5]. 即不同的監測站點分配相同的延時,然后在不同的時間點啟動設備, 這樣就可以解決帶寬不夠容易造成數據丟失的問題了.
3.2 系統網絡布局設計
系統網絡拓撲結構如下圖所示, Arduino單片機讀取各個傳感器的電平信號, 并將它們進行處理轉化為測量值. 各個單片機通過TCP/IP協議將數據打包發送給路由器或者交換機, 再由它們繼續轉發, 最終將數據發送到阿里云服務器. 整個網絡結構采用多層次結構, 實現每級不同結構分層, 最終系統實現層次化運行, 數據鏈可實現完整傳輸[7].

圖3 系統網絡拓撲原理圖
3.3 中間件程序及數據庫設計
中間件主要有兩個功能: 一個功能是接收Arduino發送過來的環境數據; 另一方面將Arduino發送過來的數據插入MySQL數據庫.
數據傳送方式: 數據傳送采用python的flask框架結構連接傳送端口, 數據采用http協議請求命令作為客戶端發送數據, 客戶端chuansongClient.print("GET/ chuansong?temperature="temperature"&humdity="humd ity"&windspeed="windspeed"&co2="co2"&light="light" &pm2.5="pm2.5"&HTTP/1.0 LocalHostIP"), 傳感器采集的數據在單片機上通過http請求的方式傳送到中間件, 再由中間件將數據插入到MySQL數據庫進行存儲.
客戶端方面: 利用C#的程序設計實現客戶端與數據庫連接, 通過客戶端可以獲取數據庫中的數據.
數據庫設計: 數據庫設計采用的MySQL數據庫, MySQL數據庫是開源免費的數據庫, 支持大型數據庫的操作. 本系統的設計對數據的存儲需求比較大, 考慮到經濟、時效等因素首選此數據庫作為數據存儲的工具, 具有較好的使用價值.
3.4 客戶端程序設計
客戶端設計程序根據實際需要設置所需要的站點的數據同時展示, 其中各部分實地監測站點主要是獲取數據, 同時可以人為地對數據進行簡單的處理.

圖4 客戶端登錄界面
客戶端的設計采用登錄模式, 同時保證了信息的安全性與完整性的需要, 在客戶端內可以查詢不同采集區域的環境數據, 同時采集的數據可以作為專業的標準數據提供具有實際意義的證明, 最后數據實現在客戶端界面以圖表的形式展現在界面上, 便于管理人員通過分析數據的實際走向.

圖5 客戶端數據查詢界面
3.5 實驗數據
3.5.1 數據流分析
整個系統設計采用可擴展性增加模塊的方式, 本系統采用3個監測點, 3個監測點的數據實時的通過網絡傳送到數據庫中, 采用時間間隔的辦法實現數據的安全傳送, 實驗設置合理的時間間隔, 避免了數據的冗余與傳送信息的擁擠[8].
數據流的丟包率是經過一定時間直接查看數據庫的數據存儲數量與硬件串口實際發送數據量的比例,經實際測試與計算, 系統實際丟包率幾乎為零, 誤差在系統允許范圍內[9].

圖6 數據傳送測試圖
3.5.2 實驗結果分析
數據存儲在數據庫中, 客戶端直接從數據庫中調用數據, 同時數據可以以圖表的形式展示在界面上,便于管理人員通過數據的實時走向趨勢進行數據分析,通過對大量數據信息進行合理的數據挖掘, 從而找到有效的數據信息, 實驗數據部分圖表結果如圖7至圖11所示.

圖7 光照強度變化圖

圖8 溫度變化圖

圖9 二氧化碳濃度變化圖
圖10 PM2.5濃度變化圖

圖11 水體pH圖
系統設置的站點在整個系統運行時不斷采集數據,數據通過網絡實時傳送到數據庫, 客戶端從數據庫中獲取數據, 并通過一定的表格形式顯示出來, 為了更好的研究數據的趨勢與效果, 采用圖表形式設計監測界面, 實現可視化研究, 方便數據的挖掘與深入研究.
遠程智能化數據采集系統的設計是針對工農業生產的環境區域進行大規模的數據采集. 不同的采集區域需求不同, 這就需要系統可以實現較好的擴展性.
系統在設計之初就考慮到, 通過在數據庫和數據傳送過程做了一系列處理, 實現系統可擴展性的增加采集的設備. 同時選擇的傳感器均適應于不同的環境,整個系統的設計改變了傳統的數據采集技術, 利用開源Arduino采集數據, 實現了智能化采集數據. 同時設計的監測站點實現了對整個采集區域的實時監控與檢測, 避免了各種因素的影響造成數據的誤差性, 數據的采集最終通過數據挖掘技術提取最有效的可行數據.并且巧妙的采用并行處理機制, 實現程序高速的運行,避免了監測系統的雜亂不規則的運行[10].
整個系統在設計與運行全過程實現了智能化、可控化、遠程化、經濟化的要求, 技術在不斷發展, 系統存在一定的范圍內的誤差, 智能化技術的發展前景很大, 在不久的將來, 隨著智能化技術的高速發展, 整個監控系統將更加完善.
1 陳學軍.變電站運行環境監測系統[碩士學位論文].長春:吉林大學,2015.
2 熊飛,繆晨,吳文,劉天宇.基于時間交錯的數據采集FPGA實現.2015年第十屆全國毫米波、亞毫米波學術會議論文集(二),2015.
3 于景陽.長春電力公司用電信息采集系統設計[碩士學位論文].長春:吉林大學,2015.
4 吳凌斌.基于WSN的扎龍濕地水環境監測系統設計[碩士學位論文].齊齊哈爾:齊齊哈爾大學,2015.
5 郭廣明.淺談云計算技術在物聯網智能家居系統中的應用.電子測試,2016,(9):99–100.
6 劉穎.物聯網在農業中的應用及前景展望.信息與電腦(理論版),2016,(6):26–27,69.
7 張恩迪,李翔.數據采集系統綜合誤差研究及軟硬件設計. 2015全國嵌入式儀表及系統技術會議程序冊,2015.
8 吳濤,王靖宇.基于單片機的醫學信號數據采集處理系統的設計.中華醫學會醫學工程學分會第十五次全國學術年會論文匯編,2015.
9 鄭克銘,何斌.基于ICV的某大型鋼廠的數據采集系統.中國計量協會冶金分會2015年會論文集,2015.
10 趙猛,裴紅,王熒光.煤層氣工業中數據采集網絡技術及其發展.2012年互聯網技術與應用國際學術會議論文集.2012.
Remote Intelligent Environmental Data Acquisition System
ZENG Jin, TIE Jun, HAN Zheng-Rong
(College of Computer Science, South-Central University for Nationalities, Wuhan 430000, China)
With the rapid development of economic, industrial and agricultural production have gradually changed from the technology of traditional manual techniques to the production of large-scale industrial, and the traditional data acquisition technology of agricultural environment has not been adapted to the rapid development of industrial and agricultural production. Hence, the new intelligent remote environmental data collection technology emerges. The system uses the open-source Arduino microcontroller, with its characters such as powerful ability to adapt to the environment, low cost, to make data accurately collected and transformed. The microcontroller gets the real-time data through ports after data acquisition, and processes it by the procedures, after that the data will be transformed through the established networks, which could achieve data storage into a remote database. And the client can get data directly from the database, and administrators can query and analyse data through the client, mining the important data for the model.
Arduino; intelligent; remote; sensor
2016-07-07;收到修改稿時間:2016-08-29
10.15888/j.cnki.csa.005695