王明武, 張 軍, 楊 莉, 李武林, 吳佳奇
(1.陜西理工大學(xué) 機(jī)械工程學(xué)院, 陜西 漢中 723000; 2.陜西漢中變壓器有限公司, 陜西 漢中 723000)
作為農(nóng)業(yè)大國我國有著非常廣泛的農(nóng)業(yè)種植大棚。眾所周知,農(nóng)作物產(chǎn)量和質(zhì)量會受到溫度、光強(qiáng)、CO2濃度、土壤濕度、蟲害等環(huán)境的嚴(yán)重影響[1-3]。傳統(tǒng)的農(nóng)業(yè)大棚依靠人工現(xiàn)場采集數(shù)據(jù),或通過電纜將外界傳感器采集參數(shù)傳輸至監(jiān)控系統(tǒng),不僅造成施工安裝困難、可靠性差等問題,而且農(nóng)業(yè)大棚一般地處偏僻、分布廣闊,用戶一般先要分析環(huán)境參數(shù),再到現(xiàn)場進(jìn)行手動調(diào)節(jié)控制,勞動生產(chǎn)效率低,從而影響到大棚作物的產(chǎn)量和質(zhì)量[4]。
現(xiàn)代農(nóng)業(yè)是通過各種傳感器采集農(nóng)業(yè)種植重要參數(shù),并對這些參數(shù)進(jìn)行處理而做出相應(yīng)的環(huán)境調(diào)整,數(shù)據(jù)還可上傳至互聯(lián)網(wǎng),便于用戶實(shí)時(shí)查看和分析農(nóng)業(yè)種植的各類參數(shù),以助于植物生長習(xí)性的研究[5]。因此,基于物聯(lián)網(wǎng)的農(nóng)業(yè)大棚監(jiān)測系統(tǒng)可遠(yuǎn)程精確地采集參數(shù)信息,進(jìn)而有效地提高勞動生產(chǎn)效率和實(shí)現(xiàn)科學(xué)種植,引領(lǐng)現(xiàn)代農(nóng)業(yè)發(fā)展[6-7]。
本文提出了一種基于物聯(lián)網(wǎng)技術(shù)的農(nóng)業(yè)大棚環(huán)境監(jiān)控系統(tǒng),系統(tǒng)通過ZigBee節(jié)點(diǎn)獲取外界傳感器參數(shù)信息,用戶通過手機(jī)終端作為人機(jī)界面進(jìn)行監(jiān)控,執(zhí)行節(jié)點(diǎn)接收到人機(jī)界面遠(yuǎn)程命令進(jìn)而控制繼電器調(diào)節(jié)農(nóng)業(yè)生產(chǎn)環(huán)境參數(shù),從而提高農(nóng)業(yè)大棚種植的科學(xué)化和智能化。
本系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)可劃分為感知層、網(wǎng)絡(luò)層、應(yīng)用層等部分,具體如圖1所示。
感知層由溫度、CO2濃度、光強(qiáng)、氣壓和土壤濕度傳感器構(gòu)成,主要用于全方位地采集和監(jiān)測農(nóng)業(yè)大棚各種重要的種植環(huán)境參數(shù)[8-9]。
網(wǎng)絡(luò)層核心由ZigBee協(xié)調(diào)器和WIFI網(wǎng)關(guān)組成,負(fù)責(zé)將傳感器節(jié)點(diǎn)采集到的環(huán)境參數(shù)上傳至服務(wù)器,進(jìn)而通過手機(jī)APP界面對溫度、CO2濃度、光強(qiáng)、氣壓和土壤濕度參數(shù)進(jìn)行遠(yuǎn)程實(shí)時(shí)監(jiān)測。
應(yīng)用層位于系統(tǒng)頂層,用戶除了通過手機(jī)APP了解到大棚環(huán)境狀況,還可根據(jù)農(nóng)作物的生長環(huán)境變化對換氣扇、水泵、天窗等遠(yuǎn)程設(shè)備進(jìn)行控制,以實(shí)現(xiàn)農(nóng)業(yè)大棚環(huán)境參數(shù)的動態(tài)控制調(diào)節(jié)。
圖1 系統(tǒng)架構(gòu)圖
智能環(huán)境感知和設(shè)備控制功能均基于CC2530控制板實(shí)現(xiàn)。CC2530是一種基于IEEE 802.15.4、ZigBee和RF4CE應(yīng)用的系統(tǒng)解決方案,它集成有增強(qiáng)型的8051單片機(jī)、領(lǐng)先的無線射頻芯片,內(nèi)部具有256 KB閃存、8 KB RAM及其他豐富的資源,并可在不同的運(yùn)行模式下工作以適應(yīng)超低功耗要求。CC2530主要功能是通過A/D模塊控制傳感器進(jìn)行數(shù)據(jù)采集,以及利用無線射頻模塊來實(shí)現(xiàn)數(shù)據(jù)的收發(fā)[10]。CC2530電路圖如圖2所示。
圖2 CC2530電路圖
該電路采用LM2596電壓調(diào)節(jié)芯片將輸入電壓DC 24 V變換為DC 5 V給傳感器或執(zhí)行設(shè)備供電,5 V電壓再輸入到AMS1117-3.3穩(wěn)壓芯片轉(zhuǎn)換成3.3 V供電給CC2530,時(shí)鐘電路內(nèi)部采用32 MHz晶振。
節(jié)點(diǎn)終端主要由外部傳感器或執(zhí)行設(shè)備組成。協(xié)調(diào)器主要負(fù)責(zé)ZigBee自組網(wǎng)構(gòu)建、數(shù)據(jù)無線發(fā)送和接收,以及和WIFI網(wǎng)關(guān)進(jìn)行數(shù)據(jù)通信。
2.2.1 溫度感知節(jié)點(diǎn)
圖3 DHT11節(jié)點(diǎn)原理圖
該節(jié)點(diǎn)使用DHT11溫濕度傳感器用來監(jiān)測空氣溫濕度參數(shù)。如圖3所示,DHT11采用one-wire總線與CC2530通信,傳感器的串行數(shù)據(jù)口(DATA)連接CC2530的P0.7口。上電后,設(shè)置P0.7處于輸出狀態(tài)。當(dāng)外部信號出現(xiàn)低電平時(shí),DATA輸出低電平信號進(jìn)行應(yīng)答。接收到應(yīng)答信號后P0.7開始接收數(shù)據(jù),DATA輸出40位長度數(shù)據(jù)。輸出完成后,DATA重新變?yōu)楦唠娖?,繼續(xù)監(jiān)測外界溫濕度數(shù)據(jù)。
另外,節(jié)點(diǎn)中還搭載了直流電機(jī),直流電機(jī)用于驅(qū)動排氣扇。當(dāng)手機(jī)APP上顯示環(huán)境溫濕度不滿足要求時(shí),用戶可通過手機(jī)APP發(fā)送命令信號控制加熱器和加濕器進(jìn)行調(diào)節(jié)。
2.2.2 氣體濃度及氣壓感知節(jié)點(diǎn)
該節(jié)點(diǎn)搭載有MQ2氣體濃度傳感器,以及BMP180氣壓傳感器用來采集農(nóng)業(yè)大棚中的有害氣體濃度及氣壓值。
MQ2氣體傳感器有4個(gè)引腳,分別為VCC、GND、DO、AO。DO可與CC2530F256芯片直接連接來檢測高低電平,由此監(jiān)測是否有有害氣體。一旦檢測到有害氣體濃度高于閾值時(shí),模塊上指示燈進(jìn)行報(bào)警。AO可經(jīng)A/D模塊進(jìn)行轉(zhuǎn)換和標(biāo)定后輸出氣體濃度值,并可通過調(diào)節(jié)數(shù)字電位器調(diào)節(jié)采集數(shù)據(jù)時(shí)的靈敏度。氣體濃度超過允許值時(shí),系統(tǒng)采用通風(fēng)換氣方式調(diào)節(jié)到適合農(nóng)作物生長的最優(yōu)濃度。
BMP180氣壓傳感器具有I2C通信接口和E2PROM,電路圖如圖4所示。傳感器SCL引腳接P1.0引腳,SDA引腳接P1.1引腳。該傳感器可同時(shí)測量并輸出氣壓值(300~1100 hPa)、溫度及海拔高度(-500~9000 m),E2PROM可對讀出來的壓力、海拔精度進(jìn)行校準(zhǔn)。
圖4 BMP180節(jié)點(diǎn)原理圖
2.2.3 光照感知節(jié)點(diǎn)
光照感知節(jié)點(diǎn)基于CC2530和數(shù)字光照傳感器BH1750實(shí)現(xiàn)。BH1750是16位數(shù)字光照傳感器,光照度檢測范圍為1~65 535 lux。BH1750通信使用I2C總線,具體如圖5(a)所示,傳感器SCL、SDA引腳分別接入P1.0、P1.1引腳,引腳ADDR懸空。
該節(jié)點(diǎn)還接入了用ULN2003模塊控制的四相五線步進(jìn)電機(jī),用于控制天窗打開或關(guān)閉。如圖5(b)所示,驅(qū)動板上的IN1、IN2、IN3、IN4口分別接入節(jié)點(diǎn)上的P0.4、P0.5、P0.6、P0.7引腳,可控制步進(jìn)電機(jī)的正反轉(zhuǎn)以及轉(zhuǎn)速。
(a)BH1750傳感器原理圖 (b)ULN2003模塊原理圖 圖5 BH1750節(jié)點(diǎn)原理圖
2.2.4 土壤濕度感知節(jié)點(diǎn)
圖6 FC-28節(jié)點(diǎn)原理圖
該節(jié)點(diǎn)使用FC-28土壤濕度監(jiān)測模塊來監(jiān)測土壤的濕度。檢測部分是一個(gè)U形的電路板,生產(chǎn)廠家在其表面電鍍了一層鎳從而提高導(dǎo)電效率,可有效防止電路板生銹以延長使用壽命,電路圖如圖6所示。土壤濕度越大,輸出電壓越大。LM393比較器的AO引腳可接單片機(jī)A/D模塊,經(jīng)A/D轉(zhuǎn)換后輸出土壤濕度值。該節(jié)點(diǎn)還接入控制水泵的開關(guān),當(dāng)土壤濕度小于閥值時(shí),啟動水泵進(jìn)行灌溉。
協(xié)調(diào)器與網(wǎng)關(guān)通過串口與WIFI模塊通信。綜合考慮到系統(tǒng)成本和低功耗等因素,WIFI模塊選用上海樂鑫的ESP8266芯片。ESP8266內(nèi)部高度集成有天線開關(guān)、射頻巴倫、低噪聲接收放大器、濾波器等模塊,支持WPA/WPA2安全模式,模組尺寸小巧,性能穩(wěn)定。
CC2530射頻模塊作為ZigBee網(wǎng)絡(luò)協(xié)調(diào)器,該模塊接收到子節(jié)點(diǎn)發(fā)送來的數(shù)據(jù)后打包發(fā)送給ESP8266模塊。ESP8266模塊負(fù)責(zé)互聯(lián)網(wǎng)通訊將數(shù)據(jù)發(fā)送到云端,手機(jī)APP接入網(wǎng)絡(luò)后便可顯示出相應(yīng)的數(shù)據(jù)。
ESP8266原理圖如圖7所示,AMS1117-3.3穩(wěn)壓芯片提供5 V電壓為ESP8266供電。ESP8266時(shí)鐘信號采用26 MHz外部晶振。CC2530通過EN使能引腳控制ESP8266進(jìn)行工作,并使用串口與ESP8266進(jìn)行數(shù)據(jù)通信,從而將ZigBee采集到的數(shù)據(jù)轉(zhuǎn)換成WIFI網(wǎng)絡(luò)數(shù)據(jù)上傳至手機(jī)APP。
圖7 ESP8266原理圖
用戶程序主要包括ZigBee傳感器節(jié)點(diǎn)采集與控制、ESP8266 WIFI模塊通信,以及手機(jī)APP監(jiān)控界面設(shè)計(jì)。
圖8 傳感器節(jié)點(diǎn)采集與控制流程圖
用戶程序基于ZStack3.0.2協(xié)議??蚣芴砑庸δ芎瘮?shù)模塊。ZStack遵循IEEE 802.15.4標(biāo)準(zhǔn)進(jìn)行編程實(shí)現(xiàn),主要包括HAL硬件層、MAC媒體介質(zhì)訪問層、NWK網(wǎng)絡(luò)層、APP應(yīng)用層、OSAL操作系統(tǒng)層、Security安全層、Tools工程配置層、ZMain主函數(shù)層,以及ZDO等模塊。系統(tǒng)初始化后進(jìn)入休眠,如有事件發(fā)生,系統(tǒng)被喚醒并按照優(yōu)先級順序處理觸發(fā)事件,待所有事件執(zhí)行完成后,系統(tǒng)再次進(jìn)入休眠模式以有效降低系統(tǒng)功耗。用戶程序調(diào)用API函數(shù)添加溫度、氣體濃度、光強(qiáng)、土壤濕度等傳感器模塊參數(shù)讀取函數(shù),從而大大地縮短了項(xiàng)目開發(fā)周期。
如圖8所示,系統(tǒng)先初始化硬件和協(xié)議棧,然后搜索可用信道,查找附近是否有ZigBee網(wǎng)絡(luò),若發(fā)現(xiàn)網(wǎng)絡(luò)則根據(jù)PANID號自組建ZigBee網(wǎng)絡(luò),等待路由或終端節(jié)點(diǎn)加入網(wǎng)絡(luò)。組網(wǎng)后系統(tǒng)進(jìn)入休眠模式,等待中斷產(chǎn)生,若有中斷,則判斷是否響應(yīng)或執(zhí)行。
協(xié)調(diào)器主要負(fù)責(zé)ZigBee網(wǎng)絡(luò)自組網(wǎng),以及協(xié)調(diào)安全層和應(yīng)用層綁定等工作。自組網(wǎng)過程中,協(xié)調(diào)器通過網(wǎng)絡(luò)地址分配、節(jié)點(diǎn)加入等實(shí)現(xiàn)網(wǎng)絡(luò)的組建,對ZigBe傳感器節(jié)點(diǎn)采集到的環(huán)境參數(shù)數(shù)據(jù)進(jìn)行收發(fā)與處理,進(jìn)而對執(zhí)行設(shè)備進(jìn)行遠(yuǎn)程控制[11]。
系統(tǒng)使用IAR Embedded Workbench V8.0 for 8051集成開發(fā)環(huán)境軟件編程。IAR包含有C/C++編譯器、鏈接器、工程管理器、C-SPY調(diào)試器、實(shí)時(shí)操作系統(tǒng)、硬件仿真器等部分,支持ARM、AVR、MSP430等芯片內(nèi)核平臺。圖9為IAR開發(fā)環(huán)境主界面截圖。
圖9 IAR集成開發(fā)環(huán)境主界面
ESP8266通信流程如圖10所示。首先配置CC2530的串口,開啟串口接收中斷,然后對ESP8266進(jìn)行使能和復(fù)位,測試成功后進(jìn)入STA模式并進(jìn)行連接。連接目標(biāo)成功后進(jìn)一步設(shè)置ESP8266為單連接模式,系統(tǒng)基于TCP/IP協(xié)議連接服務(wù)器的指定端口,連接成功后,設(shè)置ESP8266進(jìn)入串口透傳模式,CC2530即可與服務(wù)器進(jìn)行數(shù)據(jù)收發(fā)。
圖10 ESP8266配置流程圖
圖11 手機(jī)APP監(jiān)控界面
手機(jī)APP監(jiān)控界面主要包括環(huán)境監(jiān)測、遠(yuǎn)程設(shè)備控制等部分,具體如圖11所示。用戶通過APP監(jiān)控界面可實(shí)時(shí)了解農(nóng)業(yè)大棚的環(huán)境狀況,以及進(jìn)行遠(yuǎn)程設(shè)備的控制動作。
本文設(shè)計(jì)出了一種基于物聯(lián)網(wǎng)的農(nóng)業(yè)大棚監(jiān)控管理系統(tǒng),系統(tǒng)使用ZigBee傳感器節(jié)點(diǎn)實(shí)現(xiàn)了大棚溫度、光照、土壤濕度等傳感器的自組網(wǎng)、數(shù)據(jù)采集和無線傳輸,取代了傳統(tǒng)農(nóng)業(yè)大棚采用電纜進(jìn)行數(shù)據(jù)傳輸,從而降低了系統(tǒng)的安裝、施工、維護(hù)成本,大大提高了勞動生產(chǎn)效率。此外,通過ZigBee協(xié)調(diào)器與網(wǎng)關(guān)實(shí)現(xiàn)了數(shù)據(jù)網(wǎng)絡(luò)傳輸,用戶通過手機(jī)APP可實(shí)現(xiàn)農(nóng)業(yè)大棚的實(shí)時(shí)遠(yuǎn)程監(jiān)控和設(shè)備控制。實(shí)際應(yīng)用表明,互聯(lián)網(wǎng)+智能農(nóng)業(yè)大棚監(jiān)控系統(tǒng)方便了用戶對農(nóng)業(yè)大棚異地遠(yuǎn)程監(jiān)控,有效降低了人力成本,具有很好的實(shí)用和推廣價(jià)值。