玄兆燕 唐佳明 陳學斌 張淑芬
(河北聯合大學機械工程學院1,河北 唐山 063009;河北聯合大學理學院2,河北 唐山 063009)
農田環境信息采集系統設計與實現
玄兆燕1唐佳明1陳學斌2張淑芬2
(河北聯合大學機械工程學院1,河北 唐山 063009;河北聯合大學理學院2,河北 唐山 063009)
針對農田環境信息采集中環境復雜多變且供電布線困難等問題,對農田環境信息遠程采集及處理進行了研究。采用TPLINK TL-WR720N迷你無線路由器、Arduino網絡擴展板組建基于3G技術的網絡系統,完成數據的遠程傳輸。應用LabVIEW軟件和Yeelink平臺,使農田環境信息的串口采集和網絡發布實現了實時同步,為專家進行分析和決策提供網絡數據平臺,解決了只能在單一服務器上查詢和分析數據的問題。
Arduino 農田環境信息 Yeelink平臺 信號采集 LabVIEW
農田環境信息包括空氣溫濕度、光照度、土壤水分等。這些信息是農業專家系統分析和決策的重要數據源和參數,對它們進行實時、快速地采集是實現精準農業和農田現代化管理的重要基礎[1]。
近年來,通信、計算機、傳感器、網絡等技術得到快速發展,尤其是通信網絡的飛速發展,田間環境信息的采集已經進入了智能化、機械化階段,通過傳感器在田間采集的數據信息可由各種有線網絡進行傳輸。然而,由于我國農業區域分布廣泛、地理環境復雜多變,有線網絡存在布線困難、造價高、維護不方便等問題,使得有線數據傳輸受到很大的限制[2~3]。因此,采用無線通信技術的田間信息傳輸成為當今田間信息遠程獲取的主要方式。
目前,有些農業監控系統利用GPRS/CDMA等技術實現了農業環境信息從田間到實驗室計算機或手持設備的遠程傳輸。這類系統雖然突破了環境與距離的限制,滿足農業環境信息獲取的實時性要求,但在數據共享方面存在明顯不足[4]。
本文農田環境信息采集系統分別利用3G網絡和LabVIEW軟件實現環境信息實時快速的網絡發布和串口采集,解決了只能在單一服務器上查詢和分析數據的問題,為專家進行分析和決策提供數據依據。
硬件系統由控制與采集模塊、網絡模塊、電源三部分組成。系統硬件結構如圖1所示。

圖1 系統硬件結構圖Fig.1 Structure of system hardware
考慮到農田環境信息包括空氣溫濕度、光照度、土壤含水量等,選用KY-015數字溫濕度傳感器模塊測量空氣溫濕度,選用GY-30數字光強度檢測模塊測量光照度,選用Arduino土壤濕度傳感器測量土壤含水量。本文選用Arduino UNO R3開發板作為控制核心。首先,Arduino開發板可以通過電池供電,能耗低,解決了曠野環境供電困難問題;其次,Arduino開發板具有很多成熟外部模塊,只需要正確插接即可穩定工作,操作簡單、功能強大;最后,Arduino開發板價格低廉、體積小,并且可以給傳感器提供5 V或3.3 V電源,解決了傳感器供電問題,降低了設備成本。
在網絡通信方面,隨著3G牌照的發放,我國已經進入了3G時代[5]。因此,本文選用華為EC122電信天翼3G無線上網卡和TP-LINK TL-WR720N迷你無線路由器組建無線網絡,從而解決了曠野環境下布線困難問題。同時,考慮到傳輸速度及傳輸穩定性問題,本文選用Arduino Ethernet W5100網絡擴展板作為連接自建網絡與Internet之間的橋梁,通過有線連接的方式將網絡模塊與路由器相連,最終把環境信息打包發送到Yeelink平臺,實現網絡發布。
1.1 控制與采集模塊
控制核心Arduino UNO R3采用ATmega328微處理器。該微處理器具有獨立片內振蕩器的可編程看門狗定時器;14個數字I/O端口,6個模擬輸入端口;32 kB Flash內存,既可用來編程,也可用做存儲易失性數據。工作時,Arduino開發板可以通過USB數據線、9 V干電池或是專用的電源適配器供電,傳感器由Arduino開發板提供電源。Arduino與各傳感器引腳連接如表1所示。由于W5100需要插入Arduino UNO上,所以表1中提到的Arduino引腳均由W5100引出。

表1 Arduino與傳感器引腳連接Tab.1 Pin connections between Arduino and sensor
1.2 網絡模塊
網絡模塊由TP-LINK TL-WR720N、EC122和Arduino Ethernet W5100組成。首先,對路由器進行初始化,開啟路由器DHCP服務,這樣無需在初始化程序中設定IP地址,使軟件程序在不同IP地址情況下都能運行。然后,把W5100插在Arduino上,由軟件初始化程序并設定其物理地址,在運行主程序的控制下將環境信息發送到Yeelink平臺。
1.3 電源
電源由兩部分組成,一部分為可重復充放電的是為路由器供電的移動電源,另一部分是為Arduino開發板、網絡模塊以及傳感器供電的9 V干電池。
對農田環境信息的網絡發布和USB串口上傳分別進行了研究,系統下位機軟件由初始化程序、主程序、信號采集子程序、數據傳送子程序四部分組成。上位機軟件對應于網絡發布和串口上傳分別為Yeelink平臺和LabVIEW軟件程序,可實現Internet實時數據曲線顯示存儲及歷史數據曲線顯示和PC機數據顯示、存儲、分析的同步進行。系統程序流程圖如圖2所示。

圖2 系統程序流程圖Fig.2 Flowchart of system program
2.1 下位機軟件
2.1.1 初始化程序
初始化程序對各模塊及重要變量進行初始化:設定Arduino D7引腳為輸出I/O口;由于系統對數據傳輸速率要求不高,所以將串口波特率設為9 600 bit/s;根據Yeelink平臺數據傳送要求以及實際需要,本文將各傳感器傳送數據時間間隔設為20 s;網絡模塊W5100的物理地址設定為0x00、0x1D、0x72、0x82、0x35、0x9D。
2.1.2 主程序
系統上電后,首先運行初始化程序,初始化完成后主程序開始運行。成功建立網絡連接后,主程序調用信號采集子程序采集農田環境信息,并調用數據傳送子程序對數據進行串口顯示以及無線網絡上傳。
2.1.3 信號采集子程序
當主程序發出采集命令時,信號采集子程序根據命令要求依次采集光照度、空氣溫濕度、土壤濕度三個傳感器的四個信號。
2.1.4 數據傳送子程序
數據傳送子程序包括兩方面內容,一方面為Internet提供數據,另一方面為串口提供數據。
Internet方面,通過HTTP請求方式將數據發送到Yeelink平臺。首先,通過HTTP POST請求創建數據點,此URL中包含采集時間和傳感器數據。然后,通過HTTP PUT請求對數據點進行編輯,此URL對設備ID和傳感器ID進行編輯并將數據傳輸到Yeelink平臺存儲和顯示。設備ID和傳感器ID由Yeelink平臺提供,在Yeelink平臺創建設備及傳感器時生成。
串口方面,數據包由傳感器標志位和數據內容組成,LabVIEW軟件根據傳感器標志位確定采集傳感器,確保上位機接收數據時不發生錯誤[6-7]。
2.2 上位機程序模塊
上位機程序模塊包括與Arduino通信的模塊、顯示存儲模塊。通信模塊主要用到的功能有LabVIEW串口配置、讀取串口數據、關閉串口[8]。數據顯示存儲模塊是LabVIEW前面板的主要部分,能夠實時顯示農田環境信息并將信息存入SQL Server數據庫[9],同時具有歷史數據顯示功能。存儲部分主要用到LabVIEW LabSQL用戶庫中ADO Creat Conn、ADO Open Conn、ADO SQL Conn、ADO Close Conn、ADO Destory Conn。編程中采用多界面顯示、VI調用模式,使各個VI能夠同時運行且相互獨立[10]。
2.3 Yeelink平臺
Yeelink平臺的設計目的是要成為物聯網世界的開放服務提供商,完成傳感器的接入管理、海量數據存儲、數據的可視化以及基于數據的自動化服務等工作[11]。
本文借助Yeelink開放平臺,實時顯示及存儲傳感器采集數據,并且可以根據需要選擇分時段查看歷史數據,也可以設定傳感器數據預警和報警值。當采集數據高于設定值時,平臺可以通過郵件、網址推送、微博發布、移動端推送等方式發送報警信息,使用戶及時了解農田環境信息。另外可以通過任意一臺連接Internet的計算機查看傳感器實時數據曲線以及歷史數據。
圖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
系統利用物聯網開放平臺以及開源軟硬件Aduino,實現了多種農田信息的實時網絡發布及串口傳輸,滿足農業信息實時采集的要求。系統充分利用了3G網絡覆蓋范圍廣、長期在線、按流量收取服務費用等優點;同時,利用了Arduino開發板體積小、能耗低和功能滿足農業信息采集要求的優點。
系統稍加改造即可制成操作簡單、實用性強、對操作人員要求低的手持式設備,可廣泛應用于農業環境信息的遠程采集。
[1] 王彥集,張瑞瑞,陳立平,等.農田環境信息遠程采集和Web發布系統的實現[J].農業工程學報,2008,24(S2):279-282.
[2] 王亞男,王福林,朱會霞.田間信息的遠程獲取與無線傳輸系統的設計[J].農機化研究,2013(3):92-95.
[3] 蔡明文.基于Internet的生態環境信息采集系統研究[J].武漢科技大學學報:自然科學版,2003,26(2):187-189.
[4] 馬巧紅,韓文霆.基于Web的農業環境信息實時發布系統研究[J].農機化研究,2010(5):173-175.
[5] 王煥義.WLAN+3G混合組網及建設策略研究[J].無線通信技術,2011(1):15-18.
[6] 張宇,黃偉志,郝巖.基于LabVIEW的多功能數據采集系統的設計與實現[J].自動化儀表,2013,34(8):24-26.
[7] 趙越,樸仁官,王鶴,等.LabVIEW環境下多路氣體檢測系統的設計[J].儀表技術與傳感器,2013(4):37-40.
[8] 陳樹學,劉萱.LabVIEW寶典[M].北京:電子工業出版社, 2011:420-424.
[9] 雷振山,肖成勇,魏麗,等.高級編程與虛擬儀器工程應用[M].北京:中國鐵道出版社,2011:105-107.
[10] 陳志奇,黃偉志,張攀.基于ARM和LabVIEW的嵌入式振動信號檢測系統[J].儀表技術與傳感器,2013(7):42-45.
[11] 陶冶,王曉東,劉君.玩轉Arduino物聯網應用篇[M].北京:北京航空航天大學出版社,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年畢業于中國礦業大學(北京)控制理論與控制工程專業,獲博士學位,教授;主要從事信號采集與信號分析的研究。