楊春勇,牛 磊
(中南民族大學 電子信息工程學院,武漢 430074)
精細化設(shè)施農(nóng)業(yè)要求精確測量溫度濕度等環(huán)境因子、及時監(jiān)測生產(chǎn)管理各個環(huán)節(jié),因此設(shè)施農(nóng)業(yè)環(huán)境的監(jiān)測實現(xiàn)手段是現(xiàn)代農(nóng)業(yè)的研究熱點之一[1].文獻[1-4]指出,現(xiàn)有的農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)大都工作在大棚、玻璃房等封閉空間,受電源限制較大,在戶外如農(nóng)田、牧場、林場等場合布置困難;在采集儀器的設(shè)計方面,只能監(jiān)測環(huán)境狀態(tài),難以獲取農(nóng)作物的生長形態(tài)信息;單個儀表終端采集參數(shù)偏少,導(dǎo)致單位面積內(nèi)終端節(jié)點重復(fù)配置;在網(wǎng)絡(luò)覆蓋方面,不能實現(xiàn)省級以至全國范圍內(nèi)的農(nóng)業(yè)信息共享;在系統(tǒng)設(shè)計方面,采用現(xiàn)場總線結(jié)合采集模塊,存在布線復(fù)雜、移動困難的問題,即使采用集群通信系統(tǒng)、GSM短消息、GPRS等移動公網(wǎng)結(jié)合傳感器網(wǎng)絡(luò),投入和維護的成本仍較高,不利于大規(guī)模推廣.
基于ZigBee無線通信協(xié)議的傳感器網(wǎng)絡(luò)在克服上述不足方面有其獨到之處,特別適合應(yīng)用在環(huán)境監(jiān)測領(lǐng)域[4,5].據(jù)此,本文設(shè)計實現(xiàn)了基于ZigBee無線傳感器網(wǎng)絡(luò)的設(shè)施農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng),可以綜合采集與作物生長密切相關(guān)的溫度、空氣濕度、光照強度、CO2濃度、土壤濕度、水環(huán)境pH值等6種環(huán)境參數(shù),此外,還具有作物生長形態(tài)拍照功能;針對多種應(yīng)用場合,設(shè)計實現(xiàn)了基于蓄電池、市電和太陽能FILO(First Input,Last Output)隊列的智能電源;系統(tǒng)將ZigBee無線傳感器網(wǎng)絡(luò)與因特網(wǎng)、3G網(wǎng)絡(luò)融合,可在全國范圍內(nèi)實施集約式的農(nóng)業(yè)環(huán)境監(jiān)測[6,7].
系統(tǒng)結(jié)構(gòu)如圖1所示,主要由智能傳感終端、協(xié)調(diào)器網(wǎng)關(guān)和農(nóng)業(yè)環(huán)境監(jiān)控中心3部分組成.將ZigBee無線傳感器網(wǎng)絡(luò)布設(shè)在設(shè)施農(nóng)業(yè)生產(chǎn)基地,其內(nèi)部包含兩種設(shè)備:智能傳感終端和協(xié)調(diào)器,協(xié)調(diào)器內(nèi)嵌在協(xié)調(diào)器網(wǎng)關(guān)中.由于Mesh型網(wǎng)絡(luò)和樹形網(wǎng)絡(luò)中節(jié)點需要保存路由信息,能耗較大,不適于無人值守情況下的長期監(jiān)測,所以本文將ZigBee網(wǎng)絡(luò)設(shè)置為星型結(jié)構(gòu)[5].智能傳感終端負責數(shù)據(jù)采集,是RFD設(shè)備;協(xié)調(diào)器網(wǎng)關(guān)負責傳感器網(wǎng)絡(luò)組建、路由維護和數(shù)據(jù)匯集,負責ZigBee協(xié)議與TCP/IP協(xié)議、ZigBee協(xié)議與3G協(xié)議之間的轉(zhuǎn)換,并提供Ethernet和3G接口,是FFD設(shè)備.農(nóng)業(yè)環(huán)境監(jiān)控中心由SQL數(shù)據(jù)庫和WEB服務(wù)器應(yīng)用程序組成,用戶可通過PC或智能手機的網(wǎng)絡(luò)瀏覽器遠程查詢、下載相關(guān)設(shè)施農(nóng)業(yè)生產(chǎn)基地的環(huán)境信息.
圖1 系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件設(shè)計主要涉及兩個部分:智能傳感終端和協(xié)調(diào)器網(wǎng)關(guān).
智能傳感終端的硬件結(jié)構(gòu)如圖2所示.本文采用多種傳感器構(gòu)成傳感器陣列,通過多種接口與微控制器平臺通信,可實現(xiàn)溫度、空氣濕度、光照強度、CO2濃度、土壤濕度、水環(huán)境pH值和現(xiàn)場圖像信息共7種環(huán)境參數(shù)的綜合采集;選用C8051F350單片機作為微控制器平臺;采用美國DIGI公司的XBEE模塊作為無線收發(fā)模塊,與微控制器平臺通過串口連接;設(shè)計優(yōu)先級為太陽能、市電和可充電蓄電池的三級智能電源,其結(jié)構(gòu)如圖3所示,太陽能和市電可以根據(jù)不同應(yīng)用場合配置接入,并為蓄電池充電.蓄電池是最后一道電源保障,因此設(shè)計了蓄電池剩余電量監(jiān)測功能,以提示技術(shù)人員及時更換蓄電池.
圖2 智能傳感終端硬件結(jié)構(gòu)
圖3 智能電源結(jié)構(gòu)圖
協(xié)調(diào)器網(wǎng)關(guān)硬件結(jié)構(gòu)如圖4所示,它負責ZigBee傳感器網(wǎng)絡(luò)管理和因特網(wǎng)接入.主要由微控制器平臺、ZigBee協(xié)調(diào)器模塊、以太網(wǎng)模塊和3G模塊組成.
圖4 協(xié)調(diào)器網(wǎng)關(guān)硬件結(jié)構(gòu)
考慮到協(xié)調(diào)器網(wǎng)關(guān)數(shù)據(jù)量較大,本文選用基于ARM9TDMI內(nèi)核的S3C2440作為微處理器平臺,它具有內(nèi)存管理單元MMU,可實現(xiàn)多任務(wù)管理功能;ZigBee協(xié)調(diào)器模塊選用XBEE,通過串口與S3C2440相連;以太網(wǎng)模塊選用DM9000,它集成10/100M自適應(yīng)收發(fā)器,支持IEEE 802.3x全雙工流量控制,通過SPI總線與S3C2440相連;3G模塊選用華為公司的EC189無線上網(wǎng)卡,采用USB接口,下行速率3.1 Mbit/s,上行1.8Mbit/s.
系統(tǒng)軟件分布在智能傳感終端、協(xié)調(diào)器網(wǎng)關(guān)和農(nóng)業(yè)環(huán)境監(jiān)控中心3個單元,其總體架構(gòu)如圖5所示.用戶通過網(wǎng)絡(luò)瀏覽器遠程訪問WEB服務(wù)器,發(fā)送設(shè)置、查詢、下載數(shù)據(jù)指令,WEB服務(wù)器對SQL數(shù)據(jù)庫進行讀寫操作,并可觸發(fā)收發(fā)處理程序與網(wǎng)關(guān)協(xié)調(diào)器應(yīng)用程序通信,下發(fā)指令到智能傳感終端,或者接收智能傳感終端上傳的數(shù)據(jù).
圖5 系統(tǒng)軟件架構(gòu)
智能傳感終端軟件體系設(shè)計為3層結(jié)構(gòu),最底層的系統(tǒng)初始化程序是智能傳感終端上電后最先執(zhí)行的程序代碼,初始化C8051F350的系統(tǒng)時鐘、通用I/O引腳、定時器、看門狗、模數(shù)轉(zhuǎn)換器以及通信接口.第2層由攝像頭控制程序、數(shù)字型傳感器控制程序、模擬型傳感器控制程序、電池電量監(jiān)測程序和TDM節(jié)能切換方案組成.TDM節(jié)能切換方案可使智能傳感終端節(jié)能40%~50%,其原理為:按照傳感器的功耗和不同的功能特性,將傳感器陣列工作時間劃分成不等的時間單元,在不同的時間單元內(nèi)使能相應(yīng)傳感器,而其他傳感器處于休眠狀態(tài),在傳感器陣列工作一輪后,進入10s間歇期,然后開啟下一個循環(huán).第3層是無線數(shù)據(jù)收發(fā)程序,負責與協(xié)調(diào)器網(wǎng)關(guān)通信.
協(xié)調(diào)器網(wǎng)關(guān)軟件包括驅(qū)動程序、LINUX操作系統(tǒng)和應(yīng)用程序三部分.驅(qū)動程序是內(nèi)核運行引導(dǎo)代碼,用于初始化硬件設(shè)備、建立內(nèi)存空間映射,為操作系統(tǒng)運行設(shè)置好環(huán)境.操作系統(tǒng)選用LINUX,它功能齊全,內(nèi)置TCP/IP協(xié)議,有大量的開源代碼可以使用.應(yīng)用程序包括ZigBee收發(fā)程序、以太網(wǎng)收發(fā)程序和3G收發(fā)程序,用于實現(xiàn)協(xié)議轉(zhuǎn)換.
本文以ZigBee協(xié)議與TCP/IP協(xié)議轉(zhuǎn)換流程為例說明應(yīng)用程序的工作原理,如圖6所示.
轉(zhuǎn)換程序采用多線程設(shè)計,包括基于ZigBee協(xié)議的串口收發(fā)線程和基于TCP/IP協(xié)議的TCP收發(fā)線程.當協(xié)調(diào)器網(wǎng)關(guān)收到數(shù)據(jù)時,根據(jù)狀態(tài)字的變化觸發(fā)相應(yīng)線程,串口接收線程和TCP發(fā)送線程構(gòu)成數(shù)據(jù)上行通道,TCP接收線程和串口發(fā)送線程構(gòu)成指令下行通道.當串口接收線程收到數(shù)據(jù)時,數(shù)據(jù)存入緩沖區(qū),然后調(diào)用TCP發(fā)送線程,將傳感數(shù)據(jù)直接發(fā)送給農(nóng)業(yè)環(huán)境監(jiān)控中心,由于ZigBee傳輸速率較低,圖片包比較大,需分包發(fā)送;TCP接收線程在接收到農(nóng)業(yè)環(huán)境監(jiān)控中心指令后,存入緩沖區(qū),然后調(diào)用串口發(fā)送線程傳送給智能傳感終端.
農(nóng)業(yè)環(huán)境監(jiān)控中心基于C/S模型,使用Flex+Java+ MySQL工具設(shè)計,其架構(gòu)如圖7所示,負責系統(tǒng)管理和數(shù)據(jù)存儲,為用戶提供數(shù)據(jù)、圖片查詢和下載服務(wù),因此設(shè)置了用戶管理、大棚管理、數(shù)據(jù)管理和協(xié)調(diào)器網(wǎng)關(guān)管理等功能.收發(fā)處理程序基于Visual C++采用面向連接的流套接字設(shè)計,農(nóng)業(yè)環(huán)境監(jiān)控中心作為服務(wù)端,協(xié)調(diào)器網(wǎng)關(guān)作為客戶端.
圖6 ZigBee協(xié)議與TCP/IP協(xié)議轉(zhuǎn)換
圖7 農(nóng)業(yè)環(huán)境監(jiān)控中心軟件架構(gòu)
基于前文的設(shè)計思路,本文實現(xiàn)的設(shè)施農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)智能傳感終端如圖8所示, 將其布置在設(shè)施農(nóng)業(yè)基地,所采集到的環(huán)境參數(shù)信息以無線方式通過網(wǎng)關(guān)發(fā)送給農(nóng)業(yè)環(huán)境監(jiān)控中心,以數(shù)據(jù)或圖形報表的形式呈現(xiàn).如圖9所示的截圖展現(xiàn)了1號大棚在一段時間內(nèi)的空氣溫度和濕度變化態(tài)勢曲線.
圖8 智能傳感終端實物
圖9 農(nóng)業(yè)環(huán)境監(jiān)控中心
本文研制了一種可滿足無人值守情況下的設(shè)施農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng).系統(tǒng)實現(xiàn)采集的環(huán)境參數(shù)指標包括:① 溫度:-40~123.8 ℃,誤差±0.4 ℃;② 空氣濕度:0~100% RH,誤差±3.0%RH;③ 光照強度:0.045~188,000 Lux,最大偏差15%;④ CO2濃度:0~3000×10-6,誤差±60×10-6;⑤ 土壤濕度:0~100%,誤差±2%;⑥ 水環(huán)境pH值:0.1~13 pH,誤差<0.2 pH;⑦ 現(xiàn)場圖像:最大分辨率可達1280×960.將系統(tǒng)安置在大棚中,采用智能電源供電,其能耗如表1所示,經(jīng)過一個月的測試,電源供應(yīng)正常,系統(tǒng)可以準確、實時反映大棚中環(huán)境變化,對以上環(huán)境因子進行綜合采集、永久存儲、網(wǎng)絡(luò)發(fā)布,具有較為廣闊的應(yīng)用前景.
表1 系統(tǒng)功耗
[1]孫寶利, 仝乘風, 楊正禮. 農(nóng)業(yè)環(huán)境監(jiān)測協(xié)作共用網(wǎng)的構(gòu)建設(shè)想[J]. 中國農(nóng)業(yè)科技導(dǎo)報, 2007,9(6): 47-51.
[2]Hwang Jeonghwan, Shin Changsun, Yoe Hyun. Study on an agricultural environment monitoring server system using wireless sensor networks [J]. Sensors, 2010,10(12): 11189-11211.
[3]Park Dae-Heon,Park Jang-Woo.Wireless sensor network-based greenhouse environment monitoring and automatic control system for dew condensation prevention [J]. Sensors, 2011,11(4):3640-3651.
[4]Xiao Lei, Guo Lejiang. The realization of precision agriculture monitoring system based on wireless sensor network [J]. 2010 International Conference on Computer and Communication Technologies in Agriculture Engineering, 2010(3):89-92.
[5]周 宇, 景 博, 張 劫. 基于ZigBee無線傳感器網(wǎng)絡(luò)的嵌入式遠程監(jiān)測系統(tǒng) [J]. 儀表技術(shù)與傳感器,2008(2):47-49.
[6]勞鳳丹, 余禮根, 滕光輝,等. 設(shè)施農(nóng)業(yè)3G+VPN遠程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn) [J]. 中國農(nóng)業(yè)大學學報, 2011,16(2): 155-159.
[7]He Dongxian, Bai Youlu, Yang Po. Agricultural remote monitoring systems based on web-server-embeded technology and CDMA service [J]. New Zealand Journal of Agricultural Research, 2007(50): 1393-1397.
[8]Liu Bing, Lu Xiushan, Chen Tao. The comprehensive service system of disaster prevention in facility agriculture based on GIS and sensor networks [J]. Proceedings of 2011 International Symposium-Geospatial Information Technology & Disaster Prevention and Reduction, 2011(5):195-199.