郭 杰,雷 剛,羅光偉,陳健生,施 蕓
(1. 四川工程職業(yè)技術學院,德陽 618000;2. 清華大學 電子工程系,北京 100084)
現(xiàn)代農(nóng)業(yè)中,為提高農(nóng)產(chǎn)品的生產(chǎn)效率和產(chǎn)品品質,需要及時掌握大棚相關信息,國內外研究人員對農(nóng)業(yè)信息化做了大量的研究。Masayuki Hirafuji等人提出了利用無線網(wǎng)絡方式實現(xiàn)田間數(shù)據(jù)采集的方案[1];中國農(nóng)業(yè)大學精細農(nóng)業(yè)實驗室提出了使用藍牙實現(xiàn)溫室檢測的方法[2];東北農(nóng)業(yè)大學寒地蔬菜生物學重點實驗室設計了一種可以監(jiān)測溫度的無線傳感器節(jié)點[3],將Zigbee技術應用到了土壤監(jiān)測中;西北農(nóng)林科技大學采用ARM9處理器和CC2430結合設計了一種Zigbee無線網(wǎng)絡的溫室監(jiān)控系統(tǒng)[4];南京農(nóng)業(yè)大學將GPRS和移動終端技術應用于無線網(wǎng)絡中,實現(xiàn)了數(shù)據(jù)的移動采集和實時處理[5]。
現(xiàn)階段的研究,主要針對于無線網(wǎng)絡中的節(jié)點以及多個節(jié)點組成的單個Zigbee無線網(wǎng)絡進行分析和處理。隨著我國現(xiàn)代農(nóng)業(yè)的發(fā)展,必定向更大規(guī)模、更加精細的方向發(fā)展,對此本文提出了一種利用PROFINET(工業(yè)以太網(wǎng))、Mesh網(wǎng)絡和Zigbee技術的大棚環(huán)境監(jiān)測系統(tǒng)。
進行監(jiān)測系統(tǒng)的設計前,需要考慮應用環(huán)境的實際情況,充分考慮系統(tǒng)的有利因素和可能遇到的問題。基于PROFINET和Mesh網(wǎng)絡的大棚監(jiān)測系統(tǒng)具有三個方面的特性:1)大棚面積大范圍廣;2)各區(qū)域間具備以太網(wǎng)絡連接;3)環(huán)境是動態(tài)變換的。
另外室外環(huán)境的不可預知性、各種惡劣自然環(huán)境的存在,對系統(tǒng)的設計和開發(fā)提出了挑戰(zhàn)。
經(jīng)過系統(tǒng)的應用分析,同時結合國內外同行的設計經(jīng)驗,提出的大棚環(huán)境監(jiān)測系統(tǒng)總體結構如圖1所示。
圖1 監(jiān)測系統(tǒng)整體結構圖
該監(jiān)測系統(tǒng)由監(jiān)控中心、各區(qū)域無線Mesh網(wǎng)絡以及PROFINET(工業(yè)以太網(wǎng))組成。每個區(qū)域的無線網(wǎng)絡由該區(qū)域的子網(wǎng)關以及各個參量監(jiān)測節(jié)點組成,各節(jié)點將檢測到得溫度、土壤濕度、土壤鹽度、二氧化碳濃度、光照度等參數(shù)通過基于Zigbee技術組建的Mesh網(wǎng)絡傳遞到該區(qū)域的網(wǎng)關節(jié)點上。子網(wǎng)關再通過PROFINET(工業(yè)以太網(wǎng))總線傳遞到信息監(jiān)控中心,同時在各子網(wǎng)關上利用人機界面將該子區(qū)域的信息顯示出來,每個子網(wǎng)關也可以成為一個獨立的監(jiān)測子系統(tǒng)。
PROFINET是一個符合TCP/IP和IT標準的、為自動化制定的開放的工業(yè)以太網(wǎng)標準,支持TCP/IP標準通訊、實時(RT)通訊、同步實時(IRT)通訊。
PROFINET網(wǎng)絡廣泛應用于工業(yè)自動化控制領域,具有很強的抗干擾性能以及支持不同制造商設備之間的兼容性,適用于較復雜的工作環(huán)境。
在本系統(tǒng)設計中,區(qū)域監(jiān)控中心主機配置西門子工業(yè)以太網(wǎng)CP1616卡,用于PROFINET的鏈接與數(shù)據(jù)采集;安裝工業(yè)組態(tài)軟件WINCC,組態(tài)監(jiān)控畫面,CP1616卡通過PROFINET直接與遠程子網(wǎng)絡進行數(shù)據(jù)交換,在區(qū)域監(jiān)控中心主機上顯示和設定大棚環(huán)境參數(shù)。
基于監(jiān)測大棚的數(shù)量和距離,在PROFINET(工業(yè)以太網(wǎng))組建過程中配置工業(yè)網(wǎng)絡交換機(SCALANCE X200),減少監(jiān)控中心到個區(qū)域子網(wǎng)絡的布線對數(shù),也便于擴展。配置交換機的數(shù)量依據(jù)子網(wǎng)絡的數(shù)量而增減,各子網(wǎng)絡通過IP地址及MAC地址進行識別。
該區(qū)域子網(wǎng)絡采用基于Zigbee技術的Mesh網(wǎng)絡結構,該網(wǎng)絡無線Mesh網(wǎng)絡是一種典型的多跳網(wǎng)絡模式,具備動態(tài)自組織和自配置功能。網(wǎng)絡中的每一個節(jié)點都具備路由功能,可以進行數(shù)據(jù)的發(fā)送和接收。在該網(wǎng)絡中,數(shù)據(jù)傳遞的可靠性和安全性較高,當某節(jié)點需要傳輸數(shù)據(jù)時,只需要將數(shù)據(jù)發(fā)出即可,附近的節(jié)點將對數(shù)據(jù)進行轉發(fā),直到傳遞到接收位置[6~10]。在大規(guī)模的大棚中,如果使用單跳方式,需要設定一個中心節(jié)點,但由于WLAN發(fā)射功率問題,作用距離一般不超過500米,所以該模式不適應于在大規(guī)模大棚中推廣使用。而使用無線Mesh網(wǎng)絡,由于各節(jié)點都具有數(shù)據(jù)轉發(fā)功能,可以通過節(jié)點間的通信,完成遠距離的數(shù)據(jù)傳輸。Mesh網(wǎng)絡的基本結構如圖2所示。
圖2 子網(wǎng)絡結構圖
PROFINET是一個符合TCP/IP和IT標準的、為自動化制定的開放的工業(yè)以太網(wǎng)標準,支持TCP/IP標準通訊、實時(RT)通訊、同步實時(IRT)通訊。
網(wǎng)關采用ARM+Zigbee專用CPU模塊進行設計。ARM實現(xiàn)數(shù)據(jù)處理分析、圖形圖表顯示以及通過工業(yè)以太網(wǎng)接口與區(qū)域中心相連接;結合Zigbee技術的CC2530實現(xiàn)Mesh網(wǎng)絡的建立、管理等功能,兩個CPU之間通過串口進行數(shù)據(jù)的交換?;窘Y構如圖3所示。
圖3 網(wǎng)關硬件結構圖
在實際應用中,為簡化ARM板的電路設計、提高效率,選用某公司的SmartARM2300工控開發(fā)板為應用平臺。該工控板是基于32位的ARM處理器LPC2378開發(fā)的平臺,在該平臺上包含LCD驅動接口、RS232、RS485、CAN_BUS、SD/MMC、10/100M工業(yè)級以太網(wǎng)接口等開放接口,實際應用中可以根據(jù)需要進行合理的選擇,滿足不同接口方式的需要。Zigbee專用CPU模塊選用TI公司的CC2530芯片進行電路設計,該芯片由TI公司推出,基于 ZigBee/ IEEE 802.15.4 標準的SOC器件。CC2530內部包含低功耗的8051CPU,同時包含一個高性能的射頻收發(fā)器,工作時功耗只有27mA,同時具備低功耗和休眠模式[13]。
網(wǎng)關的軟件設計包含兩方面的內容,一是ARM工控板的系統(tǒng)程序開發(fā),二是基于CC2530的Zigbee網(wǎng)關協(xié)議開發(fā)。
2.2.1 ARM系統(tǒng)程序
ARM程序主要包含顯示接口程序、總線數(shù)據(jù)處理、節(jié)點信息接收分析和ARM實時操作系統(tǒng)等幾部分。在該工控板中,已經(jīng)預裝μC/OS-II 正版實時操作系統(tǒng),在開發(fā)中對于不同的功能模塊,只需要添加任務項目即可。具體程序結構如圖4所示。
圖4 網(wǎng)關軟件流程圖
軟件包含2個部分,一是對ARM進行初始化設定,啟動μC/OS-II實時操作系統(tǒng),并創(chuàng)建串口、LCD顯示和工業(yè)以太網(wǎng)任務。二是分別通過任務調度的方式實現(xiàn)各個應用程序的處理。
2.2.2 CC2530網(wǎng)關協(xié)調器程序
在本系統(tǒng)中,網(wǎng)關是實現(xiàn)Mesh網(wǎng)絡的關鍵。由于該網(wǎng)絡以Zigbee技術作為基礎,網(wǎng)關需要完成空閑信道的掃描、網(wǎng)絡的初始建立、提供新網(wǎng)絡節(jié)點的地址、路由表的配置和計算、以及網(wǎng)絡管理等工作。在一個Zigbee網(wǎng)絡中,包含APL(應用層)、NWK(網(wǎng)絡層)、MAC(數(shù)據(jù)鏈路層)、PHY(物理層)等結構,各層之間通過服務原語進行數(shù)據(jù)傳遞和反饋。實際應用中,當CC2530完成硬件和操作系統(tǒng)的初始化后,即可使用服務原語進行網(wǎng)絡的創(chuàng)建工作。
基本流程是:APL層向NWK層發(fā)送NLMENETWORK-DISCOVERY.request原語,協(xié)調器開始進行附近網(wǎng)絡狀態(tài)的掃描。網(wǎng)絡層得到NLMENETWORK-DISCOVERY.confirm原語,包含附近的信道使用和網(wǎng)絡狀態(tài)的詳細清單,應用層通過比較信道清單和網(wǎng)絡清單,選擇一個未使用過的信道,并通過NLME-NETWORK-FORMATION.request原語進行網(wǎng)絡的建立。
另外在本應用中,還需要通過串口與ARM進行數(shù)據(jù)的傳遞、控制命令的分析和執(zhí)行等任務。程序流程如圖5所示。
圖5 協(xié)調器程序流程圖
對于網(wǎng)絡節(jié)點,可以分為兩類。一類是既具備路由功能也具備檢測功能的節(jié)點,可以實現(xiàn)環(huán)境檢測,也可以為其他節(jié)點提供路由功能;另一類是終端節(jié)點,只具備檢測功能和數(shù)據(jù)發(fā)送功能,需要通過路由節(jié)點才能將數(shù)據(jù)傳遞出去。為簡化設計,在實際設計中統(tǒng)一選用CC2530作為節(jié)點的控制器。首先利用該CPU的Zigbee功能實現(xiàn)節(jié)點的無線網(wǎng)絡設計,其次再利用該芯片空余的I/O端口和A/D轉換器,添加溫度、濕度和鹽度的檢測探頭,實現(xiàn)物理量檢測。實際應用中,溫度測量使用DS18B20實現(xiàn),濕度使用HIS-07電阻式溫度探頭,鹽度測量使用FJA-10型土壤鹽分測試探頭。在使用時,土壤的鹽分變化是很慢的,且在一片土壤中,鹽分差異較小,但溫度和濕度需要實時的檢測,所以在實際應用中,每個節(jié)點上溫度和濕度探頭是必須的,鹽分探頭只是在部分節(jié)點上安裝。
在傳感器與CPU的接口方面,溫度探頭DS18B20采用一線數(shù)字接口方式,只占用CPU的一個I/O端口;濕度和鹽度探頭是模擬量輸出器件,需要設計相應的調整電路,轉換為電壓量后利用CPU內部的A/D通道進行處理,得到對應的數(shù)值。節(jié)點電路結構如圖6所示。
圖6 節(jié)點硬件結構圖
在該系統(tǒng)中,節(jié)點的軟件設計主要關注三個內容,一是外圍傳感器的接口程序設計,二是Zigbee網(wǎng)絡接入與路由的程序設計,三是節(jié)點的低功耗處理,盡量延長節(jié)點的工作時間。
2.3.1 傳感器接口程序設計
溫度傳感器DS18B20程序設計主要包含以下三個步驟:首先進行初始化,其次進行序列號的讀取操作,然后啟動溫度的轉換過程,進行溫度數(shù)據(jù)的讀取。濕度和鹽度探頭輸出的電壓信號使用CC2530的A/D通道進行轉換,其中濕度使用A/D通道3,鹽度使用A/D通道4,同時利用TI公司提供的ZStack協(xié)議棧中的HalAdcRead()函數(shù),實現(xiàn)A/D的軟件設計。相應程序流程圖如圖7所示。
2.3.2 Zigbee節(jié)點網(wǎng)絡接入程序設計
圖7 節(jié)點軟件流程圖
節(jié)點的網(wǎng)絡接入流程:首先通過APL層發(fā)送NLME-NETWORK-DISCOVERY.request原語,其中包含信道參數(shù)、掃描持續(xù)時間等信息;其次NWK層接收到該原語后,向MAC層發(fā)送MLMESCAN.request原語,MAC層進行主動掃描。當MAC層在掃描過程中得到有效的信標幀時,使用MLME-BEACON-NOTIFY.indication原語向NWK層回復。相關的數(shù)據(jù)包含該掃描得到的網(wǎng)絡ZigBee版本號、堆棧結構、網(wǎng)標識符(PANId)、邏輯信道和是否允許連接的信息。節(jié)點的網(wǎng)絡層對這些信息進行匹配驗證,如不匹配,則忽略該信標;反之,節(jié)點從接收到的信標中,將相關的信息復制到自己的鄰居表中。此時即可通過發(fā)送NLME-JOIN.request原語進行網(wǎng)絡的連接。
2.3.3 Zigbee節(jié)點的節(jié)能設計
在節(jié)點的設計中采用兩節(jié)18650鋰電池(單節(jié)容量2200mAh)進行供電,CC2530內核采用1.8V供電,傳感器與外部接口采用3.3V供電。在程序設計中,可以通過CC2530的PCON和SLEEPCMD兩個寄存器,工作于5種不同的工作模式,即當需要進行測量和數(shù)據(jù)傳輸時,啟用正常工作模式,否則進入睡眠模式。實際應用中,溫度、濕度和鹽度的變換差異較大。在這三者中溫度的變化相對較快,采用每隔5分鐘檢測一次,而濕度則可以每隔一個小時檢測一次,而鹽度的變化則更慢,每天檢測一次即可。
通過網(wǎng)關和節(jié)點的硬件和軟件分析,進行了系統(tǒng)的軟件和硬件設計和調試。網(wǎng)關和節(jié)點結構如圖8所示。
圖8 網(wǎng)關和節(jié)點
3.1.1 節(jié)點的功率測試
為檢驗節(jié)點的電源消耗情況,對節(jié)點的耗電量進行了測試。測試中,使用10歐姆的電阻串聯(lián)在電源中,測得電阻電壓波形如圖9所示。
圖9 節(jié)點功耗測試圖
從圖9中,可以得知當進行數(shù)據(jù)傳輸時,10歐姆電阻上出現(xiàn)峰值電壓200mV,其余時間電壓基本恒定為20mV~30mV之間。即節(jié)點在數(shù)據(jù)傳輸時,消耗電流為20mA左右,靜態(tài)時消耗電流為1mA ~1.5mA。測試表明該節(jié)點的節(jié)能設計是有效的。
3.1.2 一個子網(wǎng)中的通信性能測試
各無線節(jié)點在進行數(shù)據(jù)傳輸中,存在路徑損耗,為檢驗一個子網(wǎng)絡中的各節(jié)點的布局情況,進行試驗。首先,在空曠環(huán)境中測試節(jié)點與子網(wǎng)關之間的通信距離(模塊的發(fā)射功率為0dBm,接收靈敏度為-92dBm),經(jīng)測試有效距離為75米~85米之間;其次在生長有辣椒作物(平均高度60厘米)的田間,有效距離降低為50~55米之間;另外如果加高天線高度,有效距離可以得到提高。對此,在進行無線網(wǎng)絡節(jié)點的布置中,應該注意三個問題。一是在網(wǎng)絡中,必須保證每個節(jié)點周圍50米范圍以內至少具有一個路由功能的節(jié)點,安全考慮保持兩個更可靠;二是在作物高度較高的環(huán)境中,可以通過選配高度較高的天線,減小有效距離的損失;三是可以通過增加模塊的發(fā)射功率增加距離,但是對節(jié)點的有效工作時間會產(chǎn)生影響。
通過系統(tǒng)分析、系統(tǒng)設計和實際驗證表明,在現(xiàn)代農(nóng)業(yè)中使用無線網(wǎng)絡技術與工業(yè)以太網(wǎng)結合的方式,可以提供一種成本相對經(jīng)濟的解決方案。該方案具備以下特點:
1)采用工業(yè)以太網(wǎng)結合無線Mesh網(wǎng)絡的模式,為大面積的大棚監(jiān)測提供了可行的解決方案;
2)網(wǎng)關采用ARM工控板+CC2530的設計構架,簡化了系統(tǒng)設計,降低了系統(tǒng)的開發(fā)難度,可行性較強;
3)節(jié)點采用一片CC2530完成網(wǎng)絡接入、路由和傳感器檢測,簡化了節(jié)點設計,采用低功耗設計,提高了電池的正常工作時間;
4)不同的大棚檢測環(huán)境,對于無線模塊的發(fā)送功率、天線高低、布置的密度需要進行適當?shù)恼{整。
[1] Masayuki Hirafuji, Tokihiro Fukatsu, Haoming Hu.Advanced sensor-network with field monitoring servers and MetBroker[A].2004 CIGR International Conference—Beijing Sponsored by CIGR,CSAM and CSAE[C].Beijing,2004: 1 l-14.
[2] 李莉,劉剛.基于藍牙技術的溫室環(huán)境監(jiān)測系統(tǒng)設計[J].農(nóng)業(yè)機械學報.2006,37(10):97-100.
[3] 張喜海,張長利,房俊龍,于嘯,梁建權.面向精細農(nóng)業(yè)的土壤溫度監(jiān)測傳感器節(jié)點設計[J].農(nóng)業(yè)機械學報.2009,40(z1):237-240.
[4] 郭文川,程寒杰,李瑞明,呂健,張海輝.基于無線傳感器網(wǎng)絡的溫室環(huán)境信息監(jiān)測系統(tǒng)[J].農(nóng)業(yè)機械學報.2010,41(7):181-185.
[5] 孫玉文,沈明霞,張祥甫,熊迎軍,周良.基于嵌入式ZigBee技術的大棚信息服務系統(tǒng)設計[J].農(nóng)業(yè)機械學報.2010,41(5):148-151.
[6] Fowle T.Mesh networks for broad access[J].IEE Review,2001,47(1):17-22.
[7] Rayner K.Mesh wirless networking[J]. IEEE Communications Engineer,2003,1(5):44-47.
[8] Seong Hoon Kim, Jeong Seok Kang, Hong Seong Park et al. UPnP-ZigBee internetworking architecture mirroring a multi-hop ZigBee network topology[J]. IEEE Transactions on Consumer Electronics, 2009, 55(3): 1286-1294.
[9] Jae Yeol Ha, Hong Seong Park, Sunghyun Choi et al.EHRP: Enhanced hierarchical routing protocol for zigbee mesh networks ee[J]. IEEE communications letters,2007,11(12):1028-1030. 071325.
[10] 黃鑫,馮穗力,柯峰,等.無線mesh網(wǎng)絡中基于效用最優(yōu)的聯(lián)合信道分配和功率分配算法[J].電子與信息學報,2011, 33(11): 2600-2604.
[11] 劉卉,汪懋華,王躍宣,等.基于無線傳感器網(wǎng)絡的大棚土壤溫濕度監(jiān)測系統(tǒng)的設計與開發(fā)[J].吉林大學學報(工學版),2008,38(3):604-608.
[12] 胡培金,江挺,趙燕東,等.基于zigbee無線網(wǎng)絡的土壤墑情監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學報,2011,27(4): 230-234.
[13] 程冬,丁保華,李威.基于片上系統(tǒng) CC2530 的采煤機遠程遙控裝置設計[J].礦山機械,2010,3:19-21.
[14] Morais,R.; Fernandes,MA; Matos,SG; Serodio,C; Ferreira,P.J.SG;Reis,M.J.CS.A ZigBee multi-powered wireless acquisition device for remote sensing applications in precision viticulture[J].Computers and electronics in agriculture,2008,62(2): 94-106.
[15] Nadimi, E.S;Jorgensen, R.N; Blanes-Vidal,V; Christensen,S. Monitoring and classifying animal behavior using ZigBee-based mobile ad hoc wireless sensor networks and artif i cial neural networks[J].Computers and Electronics in Agriculture,2012,82:44-54.
[16] 史兵,趙德安,劉星橋,等.工廠化水產(chǎn)養(yǎng)殖智能監(jiān)控系統(tǒng)設計[J]. 農(nóng)業(yè)機械學報,2011,42(9):191-196.
[17] Mostafa K.A.Al-Harbawi, Mohd Fadlee A. Rasid, Nor Kamariah Noordin. Utilizing Neighbours-Table to Improve Tree Routing Protocol in ZigBee Network[J].Wireless personal communications,2012,65(2):469-488.
[18] 張哲,李寶珠,王存寶,等.基于無線數(shù)據(jù)傳輸?shù)臎_擊波超壓測試系統(tǒng)的研究[J].傳感器與微系統(tǒng),2009,28(6):7-9.