張慧穎
摘要:針對目前農田環境監測中無線化、智能化的特點,設計一種無線監測系統。系統的主要構成部分是:傳感節點、嵌入式網關、3G模塊和上位機軟件。無線傳感節點由承載ZigBee技術的CC2530芯片配合傳感器設計,完成對農田環境信息的采集和傳輸;傳感器節點通過ZigBee構成的無線網絡將采集到的數據發送到協調器節點;利用ARM設計嵌入式網關,并采用3G模塊實現通過3G網絡將數據傳送到手持設備或者監測中心。上位機系統采用Labview2011平臺實現,做到監測界面簡潔化。測試結果表明,ZigBee技術下的農田監測系統具有更好的實時性和準確性,且功耗低,有更廣泛的應用前景。
關鍵詞:無線傳感節點;ZigBee;ARM;3G;Labview2011;農田環境監測
中圖分類號: TP274 文獻標志碼: A 文章編號:1002-1302(2015)10-0487-04
近年來,很多國家將電子信息技術和農業生產相結合,形成了以信息技術為支撐的新型農業,即“精準農業”。精準農業包含10個系統,其中農田信息采集系統是一個重要方面,它結合了現代化GPS、GIS、RS技術和農田間信息采集技術,面對廣闊農田覆蓋面積和環境多變等不確定因素,可以準確獲取農田信息,對農業生產有著重要的作用。在當前農田信息采集系統中,大多是采用有線通信方式進行信息傳輸,這種傳輸方式具有抗干擾能力差、不易布線、組網方式不靈活等缺點;采用傳統的無線傳輸模塊,存在延遲時間長且誤碼率高等缺點,不能完全滿足精準農業需求。為了解決上述系統的弊端,本研究提出基于ZigBee技術和3G技術相結合的新型無線網絡方案,在大范圍農田耕作區放置傳感器節點,采集農田的參數信息,利用ZigBee無線通信技術構建無線傳感網絡將采集的信息傳輸到協調器節點,通過3G網絡將數據信息傳輸到監測中心,便于管理人員對農田環境的實時監測,實現智慧農業生產。
1 系統整體結構
系統主要由傳感器節點、ZigBee無線通信網絡、嵌入式網關、3G網絡和監測中心等幾部分構成。傳感器節點主要完成農田信息的采集,以CC2530為核心的ZigBee無線通信網絡完成對環境數據的發送和傳輸。嵌入式網關集成3G模塊,將來自于協調器節點的數據通過3G網絡上傳至遠程監控中心或手持設備,實現ZigBee網絡與網絡間信息交互。監測中心或手持設備從ARM網關接收信息,完成數據的分析、處理、存儲和顯示及查詢等功能,并可實現通過上位機發送指令控制底層傳感器節點,完成遠程參數監測。系統框圖如圖1所示。
空氣溫濕度、光照度、土壤溫濕度、CO2 濃度以及土壤pH值傳感器結合CC2530構成采集節點,實現對農田環境信息的采集及傳輸;根據元胞蟻群算法對路由節點進行優化選取最優路徑,將采集數據通過ZigBee網絡向協調器節點傳送。ZigBee網絡選取樹狀拓撲結構。利用嵌入式網關將協調器匯聚來的數據通過3G網絡轉送至監測中心或手持設備。監測中心或手持設備接收信息,完成數據的分析、處理、存儲、顯示和查詢等功能,并且實現通過上位機發送命令控制底層采集節點等功能。上位機軟件設計采用Labview2011平臺實現,顯示界面簡潔、友好[1]。
2 硬件設計
系統硬件電路主要由CC2530配合傳感器構成的無線傳感節點、協調器節點、S3C2440構成的嵌入式網關和3G通信電路構成。農田信息的采集、處理和發送由無線傳感器節點完成;協調器節點又稱為匯聚節點,主要完成ZigBee網絡的組建和信息的匯集;系統遠程監控的實現是通過3G網絡將來自于協調器節點的數據傳送到上位機[2]。
2.1 傳感節點設計
無線傳感節點完成對農田環境如空氣溫濕度、光照度、土壤濕度、土壤pH值和CO2濃度等信息采集。傳感器模塊的選取直接影響到系統性能指標,因此,盡可能選取數字化傳感器,以降低系統能耗、提高測量精度和范圍。
系統中,空氣溫濕度采用數字化傳感器SHT15實現,SHT15自帶14位A/D,采用I2C總線接口傳輸數據,將CC2530的P0-0和P0-1與SHT15的DATA和SCK引腳相連完成溫濕度的采集。對SHT15外配封裝保護套,做到防水、防塵處理。光照度檢測采用內置16位模式轉換器的環境光傳感器BH1750,它能夠直接輸出數字信號,接口方式是I2C總線接口,測量量程和精度可達1~65 535 lx。將BH1750的SCL和SDA與CC2530的P0-2和P0-3連接實現光照度的檢測。土壤濕度傳感器采用簡易式SEN0114,其表面鍍金處理,加強了導電性和抗腐蝕性,SEN0114僅3個引腳,輸出的是模擬電壓信號,由于CC2530內部自帶12位AD,將SEN0114與CC2530的P0-4口相接,即可采集出土壤的濕度。采用紅外式二氧化碳傳感器C20完成農田CO2濃度的檢測。該傳感器功耗低,測量范圍寬,精度好,采用數字RS232方式進行通信。溫濕度檢測電路、光照采集電路如圖2所示。
2.2 ZigBee無線通信模塊
選取美國TI公司CC2530射頻芯片來完成ZigBee網絡組建。該芯片兼容2.4 GHz、IEEE802.15.4協議和ZigBee技
術的片上技術,CC2530具有多種不同運行模式,而且各種運行模式相互轉換的時間短,能夠滿足系統的低功耗要求。內部集成了12位AD,與控制器之間通信采用串口進行數據的傳輸;可將傳感器與2530構成的路由節點直接相連,進行數據的采集并完成數據的無線傳輸。協調器節點是用來建立和控制ZigBee無線網絡,并將采集到的數據通過網關上傳到監控中心分析與管理。在電路結構上,協調器節點和路由節點是一致的,但協調器節點無需外加傳感器模塊。由于農田范圍廣,設計時射頻前端增加CC2591進一步提高ZigBee網絡覆蓋范圍,將傳輸距離從傳統的75 m擴展到1 km以上,覆蓋范圍滿足現場需求[3]。電路如圖3所示。endprint
2.3 嵌入式網關設計
設計中,根據定義的通信協議格式將數據打包,嵌入式網關是通過3G網絡把處理好的數據傳輸到監測中心和手持設備。嵌入式網關主要由ZigBee協調器節點、ARM中央處理器、GPRS模塊和3G 模塊構成。中央處理器選用三星公司的S3C2440芯片,該芯片運行速度快可以更好地滿足系統實時控制的需求。內部集成3個串口,配有SD卡控制器,兩路全速USB主設備芯片,可以方便進行外圍設備擴展。GPRS模塊選用雙頻 GSM/GPRS 模塊SIM300,內嵌強大的TCP/IP協議棧,通過AT指令進行控制[4]。
2.4 3G模塊設計
3G模塊是系統的重要組成部分,主要完成農田信息的無線發送和通過互聯網與監測中心的信息交互。3G模塊選取華為公司的EM660,該模塊網絡類型是CDMA2000 EVDO(3G);內置TCP/IP協議棧并支持標準AT指令集和標準華為擴展AT指令集;該模塊具有串口、SIM卡和配有USB2.0。EM660在串口數據傳輸形式上采用透明數據傳送形式,可將串口上的數據直接轉換成TCP/IP形式并發送,所以EM660與S3C2440通過串口相連實現數據傳輸,連接框圖如圖4所示[5-6]。
3 軟件設計
系統的軟件程序包括ZigBee無線數據收發、3G模塊子程序、下位機與上位機通信子程序以及上位機處理軟件程序。在ZigBee無線數據收發過程中,主要包括路由節點子程序、協調器節點子程序和檢測終端節點子程序構成。程序編寫在ARM平臺下完成,采用C語言進行編寫與調試,采用模塊化編程思想進行設計;無線數據收發程序采用CC2530兼容的協議棧Zstack2007的平臺下設計應用程序;上位機軟件采用圖形化語言Labview2011設計,實現人機交互界面簡潔及遠程控制。
3.1 路由節點算法設計
系統進行信息采集時,傳感器節點周期性地采集監測數據并且不斷地向Sink節點匯集,但是傳感器節點能量有限,因此要選擇能量消耗小的最優路徑進行數據傳輸。設計時,對原有算法進行優化,將網絡中的節點映射成元胞蟻群中的元胞,通過改進蟻群信息素更新模型,使路由節點在信息采集與休眠狀態間進行轉換。
CACO算法(元胞蟻群優化算法)將將傳感器的n個采集節點映射成n個元胞,每個元胞節點ni存有其所有相鄰節點的剩余能量值、禁忌表Tabu、節點距離和信息素等信息,將M只螞蟻放在n個元胞節點上,每只螞蟻通過計算選擇概率在臨近范圍內對下一個節點nj進行路徑選擇。選擇下一個節點的概率如公式(1):
pkij=τaijηβij∑sTabukτaisηβis jTabuk
0 其他。
(1)
式中:Tabuk稱為禁忌表,表示螞蟻所走過的節點;ηij代表節點從ni轉移到nj的啟發信息,ηij=lijdij,lij表示鏈路強度;τij表示t時刻從ni轉移到nj的路徑上殘留的信息素,τij=Eλijdγij,λ、γ是權重因子,Eij表示節點nj在t時刻剩余能量,dij代表節點從ni轉移到nj的距離。當每只螞蟻走完1步或者完成1次搜索后,需要各條路線上的信息進行更新,找到最優的Sink節點。在t到t+Δt時刻,更新信息公式如下:
τij(t+Δt)=(1-ρ)τij(t)+∑mk=1Δτkij(t)+wi(t)。
(2)
式中:ρ是信息素揮發系數,與網絡拓撲變化的頻度有關,ρ∈[0,1);表示元胞狀態系統,∈[0,1);Δτij(t)表示Δt時間間隔上路徑l上的信息素濃度增量。元胞蟻群優化算法流程如圖5所示。
3.2 協調器節點流程設計
協調器節點的主要功能是建立、連接網絡,從路由節點接收數據,并根據要求發送控制命令,實現相鄰節點間的通信。當路由節點被協調器節點允許加入網絡后,可以將處理后的數據傳輸給協調器節點。在設計時,考慮到低功耗要求,在協調器節點和路由器節點間沒有信息交換時,傳感器節點進入睡眠模式,每隔幾秒對農田環境進行輪流采集,采用中斷方式喚醒休眠節點。圖6為軟件設計流程示意圖。
3.3 3G軟件程序設計
程序設計時,采用TCP協議棧,使用Socket編程思想實現3G網絡中的傳輸。調用Socket()創建套接字,將服務端的IP地址和端口號填充到該Socket結構體,并且建立套接字的連接,服務器調用accept()函數對客戶端的連接請求進行接收,數據傳輸完成后,關閉以上連接。部分程序代碼如下:
/*建立socket連接*/
int socket_connect(char*addr){
int sock_fd;
Struct sockaddr _in their addr;
Memset(&their_addr,0,sizeof(struct sockaddr_in));
if(sock _fd=socket(AF_INET,SOCK_STREAM,0)==-1);
{perror(“socket”);exit(1);}
Their_addr.sin_familly=AF_INET;
Their_addr.sin_addr.s_addr=inet_addr(addr);
If(connect(socket_fd,(struct sockaddr*)&their_addr,sizeof(struct sockaddr))==-1){perror(“connect”);exit(1);}
Return sock_fd;}
3.4 監測界面設計
上位機軟件程序采用圖形化語言Labview2011進行開發,利用其強大的圖形化編程功能和豐富的庫,可將采集到的農田信息傳輸到監控中心,并對農田環境實時監控與管理。工作人員登錄監控界面可以查詢到歷史數據和實時顯示的監測數據,并可進行參數的設置并提示報警,還可以實現上位機發出指令控制下位機等功能,可以為用戶提供一個簡單的信息瀏覽和數據查詢平臺。endprint
4 系統測試結果
4.1 數據傳輸測試
當協調器完成組網,傳感器節點加入網絡后,每隔5 s向協調器發送1次數據,協調器通過串口發送給監測中心;當然,監控中心通過3G模塊下達指令到中央控制器,利用串口發送至協調器,協調器通過ZigBee網絡發送至傳感器終端節點;因此對數據的發送與傳輸的正確率要求是很高的,分別在1、5、12、24 h內對數據傳輸進行測試,測試結果表明,該系統接收數據正確率高達99.89%。
4.2 系統監測試驗
為了測試系統的穩定性和正確性,選取吉林市九站農田種植區對系統進行測試。在農田作業區每隔100 m放置1個傳感器節點,并分配固定的ID號,農田入口處放置1個協調器節點。ZigBee模塊供電電源為2節1.5 V干電池。在監測工作站內,PC機及手持設備通過3G網絡與下位機相連。圖7給出了在某一時段的實際測量結果。
由圖7可看出,該系統可直觀清晰地監測農田的環境信息,有利于工作人員及時作出判斷;同時,系統也可以方便地通過用戶界面向下位機發出控制指令。
5 結論
本研究從農田環境實際出發,從組網靈活、低功耗和可靠性等角度考慮,以S3C2440微處理器作為控制核心,將ZigBee技術與3G技術相結合構成農田無線傳感網絡,實現了農田信息的無線監控,以保證作物在最適合的環境下生長,有效地節省了人力和物力,有利于推進農業信息化的發展。將系統測試結果與傳統儀器測量值進行比較表明,該系統測量準確、操作簡單、實時性好、穩定性好、網絡覆蓋范圍大,做到了對農田環境的實時準確監控,推進了精準農業生產。
參考文獻:
[1]李麗麗,施 偉. 溫室大棚智能溫濕度控制系統的設計與實現[J]. 湖南農業科學,2011(21):135-138.
[2]黃家露,楊 方,張衍林. 基于CC2430的溫室無線傳感器節點設計與應用[J]. 華中農業大學學報,2013,32(5):119-123.
[3]許 崢. 基于ZigBee技術的田間信息采集研究[D]. 保定:河北農業大學,2013.
[4]劉媛媛,朱 路,黃德昌. 基于 GPRS 與無線傳感器網絡的農田環境監測系統設計[J]. 農機化研究,2013(7):229-232.
[5]高 坤,汪 瀅. ZigBee和3G的遠程無線測光系統設計[J]. 單片機與嵌入式系統應用,2014,14(3):66-69.
[6]姜舒文. 基于3G網絡的玉米生長環境監測系統的設計與實現[D]. 長春:吉林農業大學,2012.
[7]付立華,王 剛,張曉玫. 基于LabVIEW的溫度監測系統及軟件設計[J]. 河南工程學院學報:自然科學版,2014,26(1):67-70.
[8]韓華峰. 農業環境信息遠程監控與管理系統設計[D]. 北京:中國農業科學院,2009.陰國富,朱創錄. 基于物聯網的精密溫室環境管控系統研究[J]. 江蘇農業科學,2015,43(10):491-494.endprint