玄兆燕 唐佳明 陳學(xué)斌 張淑芬
(河北聯(lián)合大學(xué)機械工程學(xué)院1,河北 唐山 063009;河北聯(lián)合大學(xué)理學(xué)院2,河北 唐山 063009)
農(nóng)田環(huán)境信息采集系統(tǒng)設(shè)計與實現(xiàn)
玄兆燕1唐佳明1陳學(xué)斌2張淑芬2
(河北聯(lián)合大學(xué)機械工程學(xué)院1,河北 唐山 063009;河北聯(lián)合大學(xué)理學(xué)院2,河北 唐山 063009)
針對農(nóng)田環(huán)境信息采集中環(huán)境復(fù)雜多變且供電布線困難等問題,對農(nóng)田環(huán)境信息遠程采集及處理進行了研究。采用TPLINK TL-WR720N迷你無線路由器、Arduino網(wǎng)絡(luò)擴展板組建基于3G技術(shù)的網(wǎng)絡(luò)系統(tǒng),完成數(shù)據(jù)的遠程傳輸。應(yīng)用LabVIEW軟件和Yeelink平臺,使農(nóng)田環(huán)境信息的串口采集和網(wǎng)絡(luò)發(fā)布實現(xiàn)了實時同步,為專家進行分析和決策提供網(wǎng)絡(luò)數(shù)據(jù)平臺,解決了只能在單一服務(wù)器上查詢和分析數(shù)據(jù)的問題。
Arduino 農(nóng)田環(huán)境信息 Yeelink平臺 信號采集 LabVIEW
農(nóng)田環(huán)境信息包括空氣溫濕度、光照度、土壤水分等。這些信息是農(nóng)業(yè)專家系統(tǒng)分析和決策的重要數(shù)據(jù)源和參數(shù),對它們進行實時、快速地采集是實現(xiàn)精準農(nóng)業(yè)和農(nóng)田現(xiàn)代化管理的重要基礎(chǔ)[1]。
近年來,通信、計算機、傳感器、網(wǎng)絡(luò)等技術(shù)得到快速發(fā)展,尤其是通信網(wǎng)絡(luò)的飛速發(fā)展,田間環(huán)境信息的采集已經(jīng)進入了智能化、機械化階段,通過傳感器在田間采集的數(shù)據(jù)信息可由各種有線網(wǎng)絡(luò)進行傳輸。然而,由于我國農(nóng)業(yè)區(qū)域分布廣泛、地理環(huán)境復(fù)雜多變,有線網(wǎng)絡(luò)存在布線困難、造價高、維護不方便等問題,使得有線數(shù)據(jù)傳輸受到很大的限制[2~3]。因此,采用無線通信技術(shù)的田間信息傳輸成為當(dāng)今田間信息遠程獲取的主要方式。
目前,有些農(nóng)業(yè)監(jiān)控系統(tǒng)利用GPRS/CDMA等技術(shù)實現(xiàn)了農(nóng)業(yè)環(huán)境信息從田間到實驗室計算機或手持設(shè)備的遠程傳輸。這類系統(tǒng)雖然突破了環(huán)境與距離的限制,滿足農(nóng)業(yè)環(huán)境信息獲取的實時性要求,但在數(shù)據(jù)共享方面存在明顯不足[4]。
本文農(nóng)田環(huán)境信息采集系統(tǒng)分別利用3G網(wǎng)絡(luò)和LabVIEW軟件實現(xiàn)環(huán)境信息實時快速的網(wǎng)絡(luò)發(fā)布和串口采集,解決了只能在單一服務(wù)器上查詢和分析數(shù)據(jù)的問題,為專家進行分析和決策提供數(shù)據(jù)依據(jù)。
硬件系統(tǒng)由控制與采集模塊、網(wǎng)絡(luò)模塊、電源三部分組成。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)硬件結(jié)構(gòu)圖Fig.1 Structure of system hardware
考慮到農(nóng)田環(huán)境信息包括空氣溫濕度、光照度、土壤含水量等,選用KY-015數(shù)字溫濕度傳感器模塊測量空氣溫濕度,選用GY-30數(shù)字光強度檢測模塊測量光照度,選用Arduino土壤濕度傳感器測量土壤含水量。本文選用Arduino UNO R3開發(fā)板作為控制核心。首先,Arduino開發(fā)板可以通過電池供電,能耗低,解決了曠野環(huán)境供電困難問題;其次,Arduino開發(fā)板具有很多成熟外部模塊,只需要正確插接即可穩(wěn)定工作,操作簡單、功能強大;最后,Arduino開發(fā)板價格低廉、體積小,并且可以給傳感器提供5 V或3.3 V電源,解決了傳感器供電問題,降低了設(shè)備成本。
在網(wǎng)絡(luò)通信方面,隨著3G牌照的發(fā)放,我國已經(jīng)進入了3G時代[5]。因此,本文選用華為EC122電信天翼3G無線上網(wǎng)卡和TP-LINK TL-WR720N迷你無線路由器組建無線網(wǎng)絡(luò),從而解決了曠野環(huán)境下布線困難問題。同時,考慮到傳輸速度及傳輸穩(wěn)定性問題,本文選用Arduino Ethernet W5100網(wǎng)絡(luò)擴展板作為連接自建網(wǎng)絡(luò)與Internet之間的橋梁,通過有線連接的方式將網(wǎng)絡(luò)模塊與路由器相連,最終把環(huán)境信息打包發(fā)送到Y(jié)eelink平臺,實現(xiàn)網(wǎng)絡(luò)發(fā)布。
1.1 控制與采集模塊
控制核心Arduino UNO R3采用ATmega328微處理器。該微處理器具有獨立片內(nèi)振蕩器的可編程看門狗定時器;14個數(shù)字I/O端口,6個模擬輸入端口;32 kB Flash內(nèi)存,既可用來編程,也可用做存儲易失性數(shù)據(jù)。工作時,Arduino開發(fā)板可以通過USB數(shù)據(jù)線、9 V干電池或是專用的電源適配器供電,傳感器由Arduino開發(fā)板提供電源。Arduino與各傳感器引腳連接如表1所示。由于W5100需要插入Arduino UNO上,所以表1中提到的Arduino引腳均由W5100引出。
表1 Arduino與傳感器引腳連接Tab.1 Pin connections between Arduino and sensor
1.2 網(wǎng)絡(luò)模塊
網(wǎng)絡(luò)模塊由TP-LINK TL-WR720N、EC122和Arduino Ethernet W5100組成。首先,對路由器進行初始化,開啟路由器DHCP服務(wù),這樣無需在初始化程序中設(shè)定IP地址,使軟件程序在不同IP地址情況下都能運行。然后,把W5100插在Arduino上,由軟件初始化程序并設(shè)定其物理地址,在運行主程序的控制下將環(huán)境信息發(fā)送到Y(jié)eelink平臺。
1.3 電源
電源由兩部分組成,一部分為可重復(fù)充放電的是為路由器供電的移動電源,另一部分是為Arduino開發(fā)板、網(wǎng)絡(luò)模塊以及傳感器供電的9 V干電池。
對農(nóng)田環(huán)境信息的網(wǎng)絡(luò)發(fā)布和USB串口上傳分別進行了研究,系統(tǒng)下位機軟件由初始化程序、主程序、信號采集子程序、數(shù)據(jù)傳送子程序四部分組成。上位機軟件對應(yīng)于網(wǎng)絡(luò)發(fā)布和串口上傳分別為Yeelink平臺和LabVIEW軟件程序,可實現(xiàn)Internet實時數(shù)據(jù)曲線顯示存儲及歷史數(shù)據(jù)曲線顯示和PC機數(shù)據(jù)顯示、存儲、分析的同步進行。系統(tǒng)程序流程圖如圖2所示。
圖2 系統(tǒng)程序流程圖Fig.2 Flowchart of system program
2.1 下位機軟件
2.1.1 初始化程序
初始化程序?qū)Ω髂K及重要變量進行初始化:設(shè)定Arduino D7引腳為輸出I/O口;由于系統(tǒng)對數(shù)據(jù)傳輸速率要求不高,所以將串口波特率設(shè)為9 600 bit/s;根據(jù)Yeelink平臺數(shù)據(jù)傳送要求以及實際需要,本文將各傳感器傳送數(shù)據(jù)時間間隔設(shè)為20 s;網(wǎng)絡(luò)模塊W5100的物理地址設(shè)定為0x00、0x1D、0x72、0x82、0x35、0x9D。
2.1.2 主程序
系統(tǒng)上電后,首先運行初始化程序,初始化完成后主程序開始運行。成功建立網(wǎng)絡(luò)連接后,主程序調(diào)用信號采集子程序采集農(nóng)田環(huán)境信息,并調(diào)用數(shù)據(jù)傳送子程序?qū)?shù)據(jù)進行串口顯示以及無線網(wǎng)絡(luò)上傳。
2.1.3 信號采集子程序
當(dāng)主程序發(fā)出采集命令時,信號采集子程序根據(jù)命令要求依次采集光照度、空氣溫濕度、土壤濕度三個傳感器的四個信號。
2.1.4 數(shù)據(jù)傳送子程序
數(shù)據(jù)傳送子程序包括兩方面內(nèi)容,一方面為Internet提供數(shù)據(jù),另一方面為串口提供數(shù)據(jù)。
Internet方面,通過HTTP請求方式將數(shù)據(jù)發(fā)送到Y(jié)eelink平臺。首先,通過HTTP POST請求創(chuàng)建數(shù)據(jù)點,此URL中包含采集時間和傳感器數(shù)據(jù)。然后,通過HTTP PUT請求對數(shù)據(jù)點進行編輯,此URL對設(shè)備ID和傳感器ID進行編輯并將數(shù)據(jù)傳輸?shù)結(jié)eelink平臺存儲和顯示。設(shè)備ID和傳感器ID由Yeelink平臺提供,在Yeelink平臺創(chuàng)建設(shè)備及傳感器時生成。
串口方面,數(shù)據(jù)包由傳感器標志位和數(shù)據(jù)內(nèi)容組成,LabVIEW軟件根據(jù)傳感器標志位確定采集傳感器,確保上位機接收數(shù)據(jù)時不發(fā)生錯誤[6-7]。
2.2 上位機程序模塊
上位機程序模塊包括與Arduino通信的模塊、顯示存儲模塊。通信模塊主要用到的功能有LabVIEW串口配置、讀取串口數(shù)據(jù)、關(guān)閉串口[8]。數(shù)據(jù)顯示存儲模塊是LabVIEW前面板的主要部分,能夠?qū)崟r顯示農(nóng)田環(huán)境信息并將信息存入SQL Server數(shù)據(jù)庫[9],同時具有歷史數(shù)據(jù)顯示功能。存儲部分主要用到LabVIEW LabSQL用戶庫中ADO Creat Conn、ADO Open Conn、ADO SQL Conn、ADO Close Conn、ADO Destory Conn。編程中采用多界面顯示、VI調(diào)用模式,使各個VI能夠同時運行且相互獨立[10]。
2.3 Yeelink平臺
Yeelink平臺的設(shè)計目的是要成為物聯(lián)網(wǎng)世界的開放服務(wù)提供商,完成傳感器的接入管理、海量數(shù)據(jù)存儲、數(shù)據(jù)的可視化以及基于數(shù)據(jù)的自動化服務(wù)等工作[11]。
本文借助Yeelink開放平臺,實時顯示及存儲傳感器采集數(shù)據(jù),并且可以根據(jù)需要選擇分時段查看歷史數(shù)據(jù),也可以設(shè)定傳感器數(shù)據(jù)預(yù)警和報警值。當(dāng)采集數(shù)據(jù)高于設(shè)定值時,平臺可以通過郵件、網(wǎng)址推送、微博發(fā)布、移動端推送等方式發(fā)送報警信息,使用戶及時了解農(nóng)田環(huán)境信息。另外可以通過任意一臺連接Internet的計算機查看傳感器實時數(shù)據(jù)曲線以及歷史數(shù)據(jù)。
圖3~圖6分別為光照度、空氣溫度、空氣濕度、土壤濕度隨時間變化曲線。它們分別由光照度傳感器、空氣溫濕度傳感器、土壤濕度傳感器測得,并在Yeelink開放平臺上實時顯示。
圖3 光照度傳感器曲線圖Fig.3 Graphics of light illuminance sensor
圖4 空氣溫度傳感器曲線圖Fig.4 Graphics of temperature sensor
圖5 空氣濕度傳感器曲線圖Fig.5 Graphics of humidity sensor
圖6 土壤濕度傳感器曲線圖Fig.6 Graphics of soil moisture sensor
系統(tǒng)利用物聯(lián)網(wǎng)開放平臺以及開源軟硬件Aduino,實現(xiàn)了多種農(nóng)田信息的實時網(wǎng)絡(luò)發(fā)布及串口傳輸,滿足農(nóng)業(yè)信息實時采集的要求。系統(tǒng)充分利用了3G網(wǎng)絡(luò)覆蓋范圍廣、長期在線、按流量收取服務(wù)費用等優(yōu)點;同時,利用了Arduino開發(fā)板體積小、能耗低和功能滿足農(nóng)業(yè)信息采集要求的優(yōu)點。
系統(tǒng)稍加改造即可制成操作簡單、實用性強、對操作人員要求低的手持式設(shè)備,可廣泛應(yīng)用于農(nóng)業(yè)環(huán)境信息的遠程采集。
[1] 王彥集,張瑞瑞,陳立平,等.農(nóng)田環(huán)境信息遠程采集和Web發(fā)布系統(tǒng)的實現(xiàn)[J].農(nóng)業(yè)工程學(xué)報,2008,24(S2):279-282.
[2] 王亞男,王福林,朱會霞.田間信息的遠程獲取與無線傳輸系統(tǒng)的設(shè)計[J].農(nóng)機化研究,2013(3):92-95.
[3] 蔡明文.基于Internet的生態(tài)環(huán)境信息采集系統(tǒng)研究[J].武漢科技大學(xué)學(xué)報:自然科學(xué)版,2003,26(2):187-189.
[4] 馬巧紅,韓文霆.基于Web的農(nóng)業(yè)環(huán)境信息實時發(fā)布系統(tǒng)研究[J].農(nóng)機化研究,2010(5):173-175.
[5] 王煥義.WLAN+3G混合組網(wǎng)及建設(shè)策略研究[J].無線通信技術(shù),2011(1):15-18.
[6] 張宇,黃偉志,郝巖.基于LabVIEW的多功能數(shù)據(jù)采集系統(tǒng)的設(shè)計與實現(xiàn)[J].自動化儀表,2013,34(8):24-26.
[7] 趙越,樸仁官,王鶴,等.LabVIEW環(huán)境下多路氣體檢測系統(tǒng)的設(shè)計[J].儀表技術(shù)與傳感器,2013(4):37-40.
[8] 陳樹學(xué),劉萱.LabVIEW寶典[M].北京:電子工業(yè)出版社, 2011:420-424.
[9] 雷振山,肖成勇,魏麗,等.高級編程與虛擬儀器工程應(yīng)用[M].北京:中國鐵道出版社,2011:105-107.
[10] 陳志奇,黃偉志,張攀.基于ARM和LabVIEW的嵌入式振動信號檢測系統(tǒng)[J].儀表技術(shù)與傳感器,2013(7):42-45.
[11] 陶冶,王曉東,劉君.玩轉(zhuǎn)Arduino物聯(lián)網(wǎng)應(yīng)用篇[M].北京:北京航空航天大學(xué)出版社,2013:93-95.
Design and Implementation of Farmland Environmental Information Acquisition System
Aiming at the problems of collecting farmland environmental information,i.e.,complex and changing environment and difficult wirings for power supply,the remote acquisition and processing for farmland information are researched.By using TP-LINK TL-WR720N mini wireless router,Arduino network expansion board,the network system based on 3G technology is established,and remote transmission of data is achieved.Applying LabVIEW software and Yeelink platform,real time synchronization of serial port acquisition and web publishing for farmland environmental information is implemented.This provides network data platform for experts to analyze and make decision,and the problem of inquiring and analyzing data can only be done on a single server.
Arduino Farmland environmental information Yeelink platform Signal acquisition LabVIEW
TP274+.2
A
河北省科技基金支撐項目(編號:13227407D);
河北省教育廳基金資助項目(編號:QN20131144)。
修改稿收到日期:2014-05-05。
玄兆燕(1963-),女,2008年畢業(yè)于中國礦業(yè)大學(xué)(北京)控制理論與控制工程專業(yè),獲博士學(xué)位,教授;主要從事信號采集與信號分析的研究。