姚引娣, 王 磊, 海小娟, 劉 利
(1.西安郵電大學(xué) 通信與信息工程學(xué)院, 陜西 西安 710121; 2.西安文理學(xué)院 信息工程學(xué)院, 陜西 西安 710065)
智能溫室[1-2]利用傳感器網(wǎng)絡(luò),將現(xiàn)代化技術(shù)運(yùn)用到農(nóng)業(yè)生產(chǎn)中,通過調(diào)節(jié)棚內(nèi)溫度和濕度等,達(dá)到高品質(zhì)、高產(chǎn)量的目的。傳統(tǒng)的智能溫室大棚監(jiān)測是將采集到的數(shù)據(jù),通過無線或有線方式發(fā)送到上位機(jī),并在上位機(jī)處理后顯示溫室狀態(tài)信息,雖然便于監(jiān)督管理,但沒有考慮通過物聯(lián)網(wǎng)將多個(gè)不同環(huán)境的溫度和濕度值進(jìn)行統(tǒng)一的管理和監(jiān)督,增加了運(yùn)營成本,不便于隨時(shí)隨地監(jiān)測[3-4]。基于農(nóng)業(yè)物聯(lián)網(wǎng)的智能溫室系統(tǒng)[5],可遠(yuǎn)程監(jiān)測溫室環(huán)境,并根據(jù)作物的環(huán)境需求實(shí)施精準(zhǔn)的溫室控制,從而科學(xué)高效的管理溫室[6]。因此,基于農(nóng)業(yè)物聯(lián)網(wǎng)的智能溫室研究已成為農(nóng)業(yè)現(xiàn)代化研究的熱點(diǎn)。
無線傳感器網(wǎng)絡(luò)作為智能溫室的主要應(yīng)用技術(shù),不僅可以實(shí)現(xiàn)數(shù)據(jù)的采集、處理和傳輸?shù)裙δ?,而且還具有功耗低、組網(wǎng)能力強(qiáng)、傳輸距離遠(yuǎn)等特點(diǎn)。目前傳感器網(wǎng)絡(luò)的數(shù)據(jù)傳輸主要采用WiFi、藍(lán)牙和ZigBee等無線通信技術(shù),其中應(yīng)用最廣泛的是ZigBee技術(shù)[7-8],它具有復(fù)雜度低、功耗低、成本低和時(shí)延短等優(yōu)點(diǎn),但是,ZigBee技術(shù)、WiFi技術(shù)[9-10]和藍(lán)牙等均屬于2.4 GHz波段,而2.4G的波長較短、穿透能力差[11]。因此,選擇合適的無線傳輸技術(shù)搭建無線傳感器網(wǎng)絡(luò)尤為重要。
為了實(shí)現(xiàn)對溫室溫度和濕度的智能采集和監(jiān)測,本文將無線通信技術(shù)、計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)和單片機(jī)技術(shù)[12]相結(jié)合,組建遠(yuǎn)距離低功耗的無線傳感網(wǎng)絡(luò),節(jié)點(diǎn)采用低功耗、長距離通信能力強(qiáng)的SI4463[13]無線通信模塊進(jìn)行傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的組網(wǎng)和數(shù)據(jù)收發(fā),網(wǎng)關(guān)通過ESP32[14]接入物聯(lián)網(wǎng)云平臺[15],以期通過電腦遠(yuǎn)程監(jiān)測溫室內(nèi)不同區(qū)域的環(huán)境信息。
智能溫室監(jiān)控系統(tǒng)主要由無線傳感器網(wǎng)絡(luò)從機(jī)系統(tǒng)、無線傳感器網(wǎng)絡(luò)主機(jī)系統(tǒng)和物聯(lián)網(wǎng)監(jiān)控管理子系統(tǒng)等組成,總體設(shè)計(jì)結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體設(shè)計(jì)
無線傳感器網(wǎng)絡(luò)從機(jī)系統(tǒng)負(fù)責(zé)溫室大棚中溫度和濕度等環(huán)境數(shù)據(jù)的采集,以及與無線傳感器網(wǎng)絡(luò)主機(jī)通信。
無線傳感器網(wǎng)絡(luò)主機(jī)系統(tǒng)負(fù)責(zé)監(jiān)控和管理傳感器網(wǎng)絡(luò)子系統(tǒng),完成收集各從機(jī)采集的溫室內(nèi)環(huán)境信息,并傳輸給上位機(jī)和物聯(lián)網(wǎng)云平臺下達(dá)監(jiān)控指令,以及向上位機(jī)和服務(wù)器匯總數(shù)據(jù)等。
物聯(lián)網(wǎng)監(jiān)控管理子系統(tǒng)由上位機(jī)和物聯(lián)網(wǎng)云平臺組成,其中上位機(jī)通過串口與無線傳感器網(wǎng)絡(luò)主機(jī)系統(tǒng)進(jìn)行通信,控制無線傳感器網(wǎng)絡(luò)主機(jī)系統(tǒng)接收各從機(jī)子系統(tǒng)采集的溫室信息,并將接收的信息上報(bào)。無線傳感器網(wǎng)絡(luò)主機(jī)系統(tǒng)通過WiFi接入物聯(lián)網(wǎng)云平臺,實(shí)現(xiàn)顯示多個(gè)從機(jī)子系統(tǒng)采集的當(dāng)前溫室中的環(huán)境信息,并且支持通過Web和手機(jī)終端等設(shè)備實(shí)時(shí)查詢所監(jiān)控的溫室大棚信息。
在智能溫室監(jiān)控系統(tǒng)中,主機(jī)子系統(tǒng)采用MQTT協(xié)議與物聯(lián)網(wǎng)云平臺進(jìn)行通信,系統(tǒng)組網(wǎng)采用星型網(wǎng)絡(luò)架構(gòu),主機(jī)子系統(tǒng)作為網(wǎng)關(guān),從機(jī)子系統(tǒng)作為節(jié)點(diǎn)。與網(wǎng)狀網(wǎng)絡(luò)架構(gòu)相比,星型網(wǎng)絡(luò)架構(gòu)具有結(jié)構(gòu)簡單、延遲低、組網(wǎng)容易等特點(diǎn),可以降低通信協(xié)議的復(fù)雜度以及整個(gè)網(wǎng)絡(luò)的能耗。
智能溫室監(jiān)控系統(tǒng)包括無線傳感器網(wǎng)絡(luò)主機(jī)子系統(tǒng)和多個(gè)無線傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)。無線傳感器網(wǎng)絡(luò)主機(jī)子系統(tǒng)主要由低功耗主控處理器、無線收發(fā)模塊、WiFi模塊和與上位機(jī)通信的接口模塊構(gòu)成。
無線傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)主要由低功耗主控處理器、無線收發(fā)模塊、顯示模塊和環(huán)境數(shù)據(jù)采集模塊構(gòu)成。
傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)硬件部分主要包括溫濕度傳感器AM2301模塊、SI4463無線模塊、USB串口模塊和低功耗LCD1602顯示模塊,電源模塊選用3.7 V可充電的鋰電池進(jìn)行供電,微控制模塊選取MSP430F149作為主控芯片,其接口豐富、操作簡單、且具有低功耗模式。溫濕度傳感器選用AM2301, AM2301與主控芯片之間采用單總線的協(xié)議進(jìn)行通訊,對環(huán)境響應(yīng)迅速,占用資源少。無線模塊選取SI4463芯片,與主控芯片之間采用SPI協(xié)議進(jìn)行通信,工作頻率為433 MHz,繞障礙物能力和抗干擾能力都比ZigBee強(qiáng),適用于遠(yuǎn)距離通信。此外SI4463還帶有低功耗模式,在一定程度上可以降低整個(gè)系統(tǒng)的功耗。從機(jī)子系統(tǒng)硬件設(shè)計(jì)結(jié)構(gòu)如圖2所示。
圖2 從機(jī)子系統(tǒng)硬件設(shè)計(jì)
傳感器網(wǎng)絡(luò)主機(jī)子系統(tǒng)負(fù)責(zé)從機(jī)子系統(tǒng)數(shù)據(jù)的收集與上傳、配置指令的下發(fā)、節(jié)點(diǎn)的管理等功能,其硬件設(shè)計(jì)結(jié)構(gòu)如圖3所示。電源模塊采用5 V適配器供電,微處理器采用 MSP430F149作為主控芯片,無線模塊同樣采用SI4463芯片與各從機(jī)子系統(tǒng)進(jìn)行通信。主機(jī)子系統(tǒng)使用WiFi模塊將數(shù)據(jù)上傳至云服務(wù)器,WiFi選用ESP32-WROVER,該模塊集成了傳統(tǒng)藍(lán)牙、低功耗藍(lán)牙和 WiFi,支持較大范圍的通信連接,也支持通過路由器直接連接互聯(lián)網(wǎng),可以用于低功耗傳感器網(wǎng)絡(luò)。
圖3 主機(jī)子系統(tǒng)硬件設(shè)計(jì)
設(shè)計(jì)無線傳感器網(wǎng)絡(luò)主、從機(jī)子系統(tǒng)軟件和物聯(lián)網(wǎng)監(jiān)控管理子系統(tǒng)軟件。
無線傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)的工作流程如圖4所示。主處理器平時(shí)設(shè)置為睡眠模式以降低功耗,通過定時(shí)器中斷和外部中斷喚醒主處理器,定時(shí)器中斷用于控制采集數(shù)據(jù)的上報(bào),外部中斷用于接收主機(jī)下發(fā)的指令。環(huán)境的溫度和濕度值在較短時(shí)間內(nèi)檢測到的數(shù)據(jù)變化不明顯,為了減少傳輸數(shù)據(jù)量降低功耗,當(dāng)設(shè)備被喚醒時(shí)只有檢測到溫度和濕度的變化超過設(shè)定的誤差時(shí),才啟動SI4463將溫度和濕度的值發(fā)送給主機(jī),其余時(shí)間進(jìn)入休眠模式,通過程序上的設(shè)計(jì),在一定程度上可以降低整個(gè)系統(tǒng)的功耗。
圖4 從機(jī)子系統(tǒng)流程
無線傳感器網(wǎng)絡(luò)主機(jī)程序主要起承上啟下的作用,負(fù)責(zé)與上位機(jī)、云平臺及傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)之間的通信,其工作流程如圖5所示。在初始化完成之后進(jìn)入監(jiān)測模式,當(dāng)接收到數(shù)據(jù)時(shí),先對接收的消息進(jìn)行分析,判斷是上位機(jī)發(fā)來的指令還是需要上報(bào)的數(shù)據(jù),然后將數(shù)據(jù)上報(bào)至云平臺和上位機(jī),將指令下發(fā)到對應(yīng)的從機(jī)子系統(tǒng)。
圖5 主機(jī)子系統(tǒng)流程
物聯(lián)網(wǎng)監(jiān)控管理子系統(tǒng)包括上位機(jī)和物聯(lián)網(wǎng)服務(wù)器,本地上位機(jī)上采用C#語言進(jìn)行設(shè)計(jì),通過串口將接收到的溫室環(huán)境信息存入本地?cái)?shù)據(jù)庫,調(diào)用系統(tǒng)函數(shù)對數(shù)據(jù)庫的信息進(jìn)行處理,讓用戶可以查看溫室環(huán)境參數(shù)變化的曲線和監(jiān)測實(shí)時(shí)的溫室信息,同時(shí)還設(shè)計(jì)了歷史數(shù)據(jù)查詢功能,支持對溫室內(nèi)歷史信息的查詢。
物聯(lián)網(wǎng)云平臺的功能主要是實(shí)現(xiàn)對溫室大棚內(nèi)信息的遠(yuǎn)程監(jiān)測,主機(jī)通過ESP32將采集的溫室環(huán)境信息上報(bào)到物聯(lián)網(wǎng)云平臺進(jìn)行數(shù)據(jù)處理,處理完成后,用戶可以通過手機(jī)APP、微信、或者Web對溫室大棚的環(huán)境信息進(jìn)行遠(yuǎn)程在線監(jiān)測。
為了驗(yàn)證設(shè)計(jì)方案的可行性,在智慧農(nóng)業(yè)溫濕實(shí)驗(yàn)室對該溫室的溫度和濕度進(jìn)行監(jiān)測實(shí)驗(yàn)。將4個(gè)無線傳感器網(wǎng)絡(luò)從機(jī)均勻部署在溫室大棚內(nèi),1個(gè)無線傳感器網(wǎng)絡(luò)主機(jī)放置在溫室外,分別測試系統(tǒng)的傳輸性能、功耗、上位機(jī)和物聯(lián)網(wǎng)平臺對溫室環(huán)境參數(shù)的實(shí)時(shí)監(jiān)測功能。
在傳輸性能方面,通過移動溫室外部署的無線傳感器網(wǎng)絡(luò)主機(jī)改變測試距離,在不同傳輸距離條件下測試無線傳感器網(wǎng)絡(luò)主機(jī)子系統(tǒng)與從機(jī)子系統(tǒng)間無線傳輸?shù)膩G包率。其中每包數(shù)據(jù)的大小為9個(gè)字節(jié),采用CRC16方式進(jìn)行校驗(yàn),數(shù)據(jù)包格式如圖6所示。
圖6 數(shù)據(jù)包格式
測試距離選為0~1 km,射頻模塊的發(fā)射功率為13 dBm,天線增益為3 dB,傳輸速率為1.3 kb/s,每個(gè)測試點(diǎn)連續(xù)收發(fā)500個(gè)數(shù)據(jù)包,對每個(gè)點(diǎn)的數(shù)包據(jù)進(jìn)行對比分析,系統(tǒng)傳輸距離和丟包率的關(guān)系如圖7所示。
圖7 測量距離與丟包率對比結(jié)果
由圖7可以看出,當(dāng)傳輸距離大于800 m時(shí),系統(tǒng)的丟包率明顯升高,在700 m范圍內(nèi)的丟包率都在10%以下。因此,將采集節(jié)點(diǎn)部署在700 m以內(nèi),在不增加功耗的基礎(chǔ)上如果要增加子系統(tǒng)的通信距離,可以使用定向天線或高增益天線,優(yōu)化傳輸距離。該系統(tǒng)在無線傳輸時(shí)的抗干擾性強(qiáng),傳輸距離遠(yuǎn),符合智能溫室監(jiān)控系統(tǒng)的設(shè)計(jì)需求。
在實(shí)際應(yīng)用中,系統(tǒng)對從機(jī)子系統(tǒng)的功耗要求比較高,根據(jù)上述部署的實(shí)驗(yàn)環(huán)境,測試從機(jī)子系統(tǒng)在一個(gè)上報(bào)周期內(nèi)不同工作狀態(tài)下的最大工作電流,結(jié)果如表1所示。
表1 不同工作狀態(tài)下系統(tǒng)最大電流/mA
由表1可知,傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)在工作時(shí)的最大電流約為92 mA。根據(jù)2 500 mAh的電池容量、0.5 h的上報(bào)周期和600 ms的上報(bào)時(shí)間,可計(jì)算出傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)的工作時(shí)間約為287天,在系統(tǒng)設(shè)計(jì)的休眠參數(shù)下,可以工作半年以上,滿足傳感器網(wǎng)絡(luò)從機(jī)子系統(tǒng)的低功耗要求。
監(jiān)測平臺測試分為本地上位機(jī)測試和物聯(lián)網(wǎng)云平臺測試。將溫室外部署的無線傳感器網(wǎng)絡(luò)主機(jī)通過串口接入本地上位機(jī),通過上位機(jī)監(jiān)測無線傳感器網(wǎng)絡(luò)從機(jī)所采集的溫室大棚的數(shù)據(jù)信息,如圖8所示。選擇監(jiān)控客戶端下的智能傳感器子系統(tǒng)節(jié)點(diǎn)A和B,單獨(dú)監(jiān)控對應(yīng)節(jié)點(diǎn)的溫度和濕度信息,同時(shí)通過歷史信息查詢可以觀測一段時(shí)間的溫度和濕度信息變化,還可以導(dǎo)出相應(yīng)的歷史數(shù)據(jù)。
圖8 上位機(jī)監(jiān)測平臺
物聯(lián)網(wǎng)云平臺測試時(shí),節(jié)點(diǎn)的部署和上位機(jī)測試相同,分別通過手機(jī)APP、微信、和Web對無線傳感器網(wǎng)絡(luò)從機(jī)采集的溫度和濕度信息進(jìn)行實(shí)時(shí)監(jiān)控,根據(jù)環(huán)境參數(shù)變化下發(fā)控制指令,結(jié)果分別如圖9和圖10所示。此外,還測試了物聯(lián)網(wǎng)云平臺的數(shù)據(jù)查詢功能,用戶可將想要查詢時(shí)間段的數(shù)據(jù)信息通過郵箱下載。
圖9 Web服務(wù)器云端監(jiān)測
圖10 手機(jī)APP監(jiān)測查詢
基于農(nóng)業(yè)物聯(lián)網(wǎng)的智能溫室監(jiān)測系統(tǒng),將物聯(lián)網(wǎng)和智能無線傳感器網(wǎng)絡(luò)融為一體,通過無線傳感器網(wǎng)絡(luò)實(shí)時(shí)監(jiān)測溫室內(nèi)外溫度和濕度等溫室環(huán)境信息。測試結(jié)果表明,該系統(tǒng)不僅能夠?qū)厥覂?nèi)環(huán)境信息進(jìn)行遠(yuǎn)距離低功耗的實(shí)時(shí)采集和監(jiān)測,還可以通過Web或手機(jī)APP等實(shí)現(xiàn)對溫室內(nèi)的環(huán)境信息遠(yuǎn)程監(jiān)控。