姜士璇,李淮江,吳瑞瑞,李東
(1.淮北師范大學(xué)物理與電子信息學(xué)院,安徽淮北,235000;2.安徽大學(xué)物質(zhì)科學(xué)與信息技術(shù)研究院,安徽合肥,230000)
隨著我國(guó)經(jīng)濟(jì)和城市化進(jìn)程的高速發(fā)展,城市人口流動(dòng)速度加快,耕地面積減少,導(dǎo)致糧食短缺和土地資源緊張。與傳統(tǒng)農(nóng)業(yè)相比,垂直農(nóng)業(yè)能源消耗低,產(chǎn)量高[1];減小農(nóng)作物生產(chǎn)過(guò)程中的自然環(huán)境因素的影響,系統(tǒng)具有可控性、可預(yù)測(cè)性和可復(fù)制性。
系統(tǒng)以STM32[2-3]單片機(jī)為主控制器,利用物聯(lián)網(wǎng)的感知層、傳輸層、平臺(tái)層和應(yīng)用層結(jié)構(gòu)設(shè)計(jì)[4]。感知層采集環(huán)境信息;傳輸層分為ZigBee通訊和NB-IOT通訊,ZigBee通訊是終端將采集的數(shù)據(jù)通過(guò)協(xié)調(diào)器傳輸至主控制器;NB-IOT通訊是控制器將終端數(shù)據(jù)打包上傳到云平臺(tái);平臺(tái)層應(yīng)用物聯(lián)網(wǎng)開(kāi)放云平臺(tái),保存和顯示數(shù)據(jù)、智能調(diào)控終端設(shè)備;應(yīng)用層是用戶能夠通過(guò)手機(jī)應(yīng)用程序和云平臺(tái)網(wǎng)頁(yè)訪問(wèn)數(shù)據(jù),并能發(fā)送控制指令。
本系統(tǒng)采用模塊化設(shè)計(jì),由采集模塊、通信模塊、控制模塊、報(bào)警模塊和應(yīng)用客戶端組成。采集模塊采用多路傳感器采集溫室內(nèi)的環(huán)境信息;通信模塊將傳感器采集的數(shù)據(jù)傳輸至OneNET云平臺(tái)進(jìn)行存儲(chǔ)和管理,底層設(shè)備和云平臺(tái)的數(shù)據(jù)交互利用ZigBee和NB-IOT通訊技術(shù);控制模塊由LED燈、水泵、窗簾、加濕器和通風(fēng)扇等組成,當(dāng)傳感器采集數(shù)據(jù)超出或者低于閾值,控制模塊調(diào)節(jié)溫室內(nèi)的環(huán)境指數(shù),報(bào)警模塊報(bào)警。應(yīng)用客戶端是指Android和PC兩種人機(jī)監(jiān)控界面,用戶可遠(yuǎn)程實(shí)時(shí)監(jiān)視溫室內(nèi)的環(huán)境信息或發(fā)送控制指令遠(yuǎn)程調(diào)節(jié)溫室內(nèi)的環(huán)境參數(shù)。系統(tǒng)總體結(jié)構(gòu)如圖1所示。
圖1 系統(tǒng)總體結(jié)構(gòu)圖
主控制器最小系統(tǒng)由微控制器、復(fù)位電路、供電電路、2個(gè)外部晶振構(gòu)成,微控制器采用高性能低功耗的STM32F103嵌入式微控制器,芯片內(nèi)部集成了一顆基于FPU的ARM的32位Cortex-M4內(nèi)核,豐富的外設(shè)資源,運(yùn)行速度較快。
采集空氣溫度和濕度的復(fù)合型傳感器DHT11[5],功耗低體積小,響應(yīng)速度快且抗干擾能力強(qiáng)。DHT11的DATA引腳與ZigBee終端節(jié)點(diǎn)1的P0.7端口相連,DHT11空氣溫濕度采集電路如圖2所示。
圖2 DHT11空氣溫濕度采集電路
土壤濕度采集采用濕度計(jì)檢測(cè)模塊,包含LM393比較器和電阻電容。模塊具有雙輸出方式,系統(tǒng)輸出方式選擇模擬量輸出,精確。土壤濕度傳感器模塊的AO引腳與ZigBee終端節(jié)點(diǎn)1的P0.6端口相連。土壤濕度采集電路如圖3所示。
圖3 土壤濕度采集電路
光照強(qiáng)度采集采用光敏電阻傳感器,包含光敏電阻,LM393比較器,指示燈和電阻電容。輸出數(shù)字信號(hào),且驅(qū)動(dòng)能力強(qiáng)。光敏電阻傳感器模塊的AO引腳與ZigBee終端節(jié)點(diǎn)2的P0.6端口相連,光照強(qiáng)度采集電路如圖4表示。
圖4 光照強(qiáng)度采集電路
采用MG811[6]模塊采集CO2濃度,受外界環(huán)境影響較小,靈敏度高。DO引腳是數(shù)字量輸出,當(dāng)溫室內(nèi)的CO2濃度高于1000 ppm,輸出高電平,否則,輸出低電平。MG811的DO引腳與ZigBee終端節(jié)點(diǎn)2的P0.4端口相連,CO2濃度采集電路如圖5所示。
圖5 CO2濃度采集電路
通信模塊包括ZigBee通訊和NB-IOT通訊。ZigBee[7]通訊選用CC2530[8]為核心芯片,具有8051處理器內(nèi)核,自組建無(wú)線網(wǎng)絡(luò)和數(shù)據(jù)傳輸?shù)墓δ?。系統(tǒng)采用無(wú)線網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為星型網(wǎng)絡(luò),拓?fù)浣Y(jié)構(gòu)如圖6所示。多路傳感器與ZigBee構(gòu)成終端節(jié)點(diǎn),ZigBee協(xié)調(diào)器自組網(wǎng)絡(luò)并接收終端節(jié)點(diǎn)采集的數(shù)據(jù),然后通過(guò)串口通訊將數(shù)據(jù)傳輸至控制器。ZigBee數(shù)據(jù)流如圖7所示。
圖6 ZigBee星型拓?fù)鋱D
圖7 ZigBee數(shù)據(jù)流圖
NB-IOT[9-10]通信模塊的核心板是BC20,支持COAP、UDP透?jìng)髂J?,且兼容GPRS/4G模塊硬件封裝。NB-IOT模組能夠?qū)崿F(xiàn)微控制器和云平臺(tái)進(jìn)行數(shù)據(jù)交互的功能??刂破魍ㄟ^(guò)串口通訊將數(shù)據(jù)打包發(fā)送給NB-IOT模組,再通過(guò)IOT平臺(tái)和核心網(wǎng)與OneNET云平臺(tái)進(jìn)行數(shù)據(jù)交互。NB-IOT模塊數(shù)據(jù)流如圖8所示。
圖8 NB-IOT數(shù)據(jù)流圖
系統(tǒng)軟件設(shè)計(jì)通過(guò)采集數(shù)據(jù)、控制終端、ZigBee通訊以及NB-IOT通訊完成組建終端無(wú)線網(wǎng)絡(luò)和數(shù)據(jù)收發(fā)功能??刂破鹘邮諗?shù)據(jù)后先判斷數(shù)據(jù)類型,即來(lái)自協(xié)調(diào)器節(jié)點(diǎn)或云平臺(tái)后實(shí)時(shí)處理數(shù)據(jù),并判斷是否超過(guò)閾值,來(lái)判斷是否報(bào)警且在OLED屏顯示。最后將各節(jié)點(diǎn)數(shù)據(jù)打包通過(guò)NB-IOT技術(shù)上傳到上位機(jī)。系統(tǒng)總軟件流程如圖9所示。
圖9 系統(tǒng)總軟件流程圖
傳感器首先初始化,初始化之后采集數(shù)據(jù),采集的數(shù)據(jù)傳輸給ZigBee終端。傳感器數(shù)據(jù)采集軟件流程如圖10所示。
圖10 數(shù)據(jù)采集軟件流程圖
ZigBee構(gòu)建底端無(wú)線通信網(wǎng)絡(luò)包含終端節(jié)點(diǎn)[11]、協(xié)調(diào)器節(jié)點(diǎn)[12]。多路傳感器與終端節(jié)點(diǎn)相連,終端節(jié)點(diǎn)采集數(shù)據(jù)并發(fā)送至協(xié)調(diào)器,協(xié)調(diào)器接收終端節(jié)點(diǎn)的數(shù)據(jù)并將數(shù)據(jù)通過(guò)串口通訊傳輸至控制器。終端節(jié)點(diǎn)軟件流程如圖11所示,協(xié)調(diào)器軟件流程如圖12所示。
圖11 終端節(jié)點(diǎn)軟件流程圖
圖12 協(xié)調(diào)器軟件流程圖
NB-IOT模塊與OneNET云平臺(tái)建立設(shè)備數(shù)據(jù)交互,首先要獲取iP地址,然后創(chuàng)建LWM2M[13]通信,接著啟動(dòng)連接引導(dǎo)程序,啟動(dòng)成功之后能和OneNET云平臺(tái)數(shù)據(jù)通訊。NB-IOT軟件流程如圖13所示。
圖13 NB-IOT軟件流程圖
系統(tǒng)接入物聯(lián)網(wǎng)開(kāi)放平臺(tái)[14]是利用IOT平臺(tái)和核心網(wǎng)。云平臺(tái)解決了終端設(shè)備與上位機(jī)相互通信的問(wèn)題,實(shí)現(xiàn)服務(wù)器與終端設(shè)備的跨網(wǎng)數(shù)據(jù)交互,方便用戶快速的獲取終端設(shè)備的數(shù)據(jù)。用戶使用OneNET平臺(tái)進(jìn)行實(shí)時(shí)監(jiān)控環(huán)境數(shù)據(jù)和智能調(diào)控,首先要注冊(cè)用戶,利用無(wú)線網(wǎng)絡(luò)和服務(wù)器建立TCP連接,數(shù)據(jù)傳輸和上傳至OneNet平臺(tái)需要遵守通絡(luò)通信協(xié)議。云平臺(tái)設(shè)備ID為131658,注冊(cè)用戶賬號(hào)的登陸網(wǎng)址:http://open.iot.10086.cn/,創(chuàng)建設(shè)備的設(shè)備號(hào)為989QNqTLA9JuhE1S。用戶接入OneNET平臺(tái)的過(guò)程如圖14所示。
圖14 用戶接入OneNET平臺(tái)的過(guò)程圖
系統(tǒng)測(cè)試環(huán)境是實(shí)驗(yàn)室,用亞克力板搭建垂直農(nóng)業(yè)溫室模型(單層),模擬垂直農(nóng)業(yè)溫室的實(shí)際環(huán)境。系統(tǒng)硬件包括一個(gè)DHT11溫濕度傳感器、一個(gè)土壤濕度傳感器、一個(gè)CO2濃度傳感器、一個(gè)光照強(qiáng)度傳感器、1個(gè)LED燈、2個(gè)通風(fēng)扇、1個(gè)水泵、3個(gè)繼電器、1個(gè)加濕器和1個(gè)步進(jìn)電機(jī),實(shí)物如圖15所示。硬件搭建完成后,將終端設(shè)備接入OneNET云平臺(tái)。OneNET云平臺(tái)界面如圖16所示。
圖15 實(shí)物圖
圖16 OneNET平臺(tái)界面圖
為了驗(yàn)證系統(tǒng)實(shí)驗(yàn)數(shù)據(jù)傳輸?shù)臏?zhǔn)確性以及穩(wěn)定性,對(duì)基于ZigBee和NB-IOT的智能垂直農(nóng)業(yè)系統(tǒng)進(jìn)行測(cè)試。測(cè)試環(huán)境為傳感器,協(xié)調(diào)器,控制器,NB-IOT模組,云服務(wù)平臺(tái)??諝鉁貪穸葌鞲衅鱀HT11和土壤濕度傳感器與ZigBee模塊相連構(gòu)成終端節(jié)點(diǎn)1,CO2濃度傳感器和光敏電阻與ZigBee模塊相連構(gòu)成終端節(jié)點(diǎn)2。終端節(jié)點(diǎn)1采集溫室內(nèi)的溫濕度和土壤濕度并通過(guò)OLED液晶屏1實(shí)時(shí)顯示,如圖17所示。終端節(jié)點(diǎn)2采集溫室內(nèi)的光照強(qiáng)度和CO2濃度并通過(guò)OLED液晶屏2實(shí)時(shí)顯示,如圖18所示。
圖17 終端節(jié)點(diǎn)1測(cè)試
圖18 終端節(jié)點(diǎn)2測(cè)試
協(xié)調(diào)器通過(guò)網(wǎng)絡(luò)協(xié)議自組建無(wú)線傳輸網(wǎng)絡(luò),與終端節(jié)點(diǎn)1和終端節(jié)點(diǎn)2構(gòu)建星型網(wǎng)絡(luò)結(jié)構(gòu)。協(xié)調(diào)器接收終端節(jié)點(diǎn)1和終端節(jié)點(diǎn)2傳輸?shù)臄?shù)據(jù)并通過(guò)串口4將數(shù)據(jù)傳輸至控制器,控制器接收數(shù)據(jù)并通過(guò)NB-IOT模組將數(shù)據(jù)上傳到云服務(wù)平臺(tái)。協(xié)調(diào)器實(shí)時(shí)顯示數(shù)據(jù)在OLED液晶屏3,如圖19所示??刂破鲗?shí)時(shí)顯示數(shù)據(jù)在OLED液晶屏4,如圖20所示。
圖19 ZigBee協(xié)調(diào)器測(cè)試
圖20 云服務(wù)平臺(tái)測(cè)試
上圖測(cè)試數(shù)據(jù)表明系統(tǒng)的數(shù)據(jù)采集、傳輸以及上傳功能均正常并且表明本系統(tǒng)在數(shù)據(jù)傳輸過(guò)程中NB模組和ZigBee模塊傳輸速率較快且準(zhǔn)確,極少出現(xiàn)丟包現(xiàn)象,證明了系統(tǒng)的可行性和穩(wěn)定性。
系統(tǒng)的功能是調(diào)節(jié)溫室環(huán)境,為種植農(nóng)作物提供適宜的生長(zhǎng)環(huán)境。溫室環(huán)境主要指數(shù)為空氣溫濕度、土壤濕度、光照強(qiáng)度和CO2濃度。調(diào)節(jié)方法是利用傳感器采集的數(shù)據(jù)通過(guò)控制器的響應(yīng)調(diào)節(jié)環(huán)境指數(shù)??刂圃O(shè)備為L(zhǎng)ED燈、水泵、模擬窗戶、加濕器、通風(fēng)扇和報(bào)警模塊。測(cè)試功能如表1所示。通過(guò)下表的測(cè)試結(jié)果表明系統(tǒng)通過(guò)控制設(shè)備調(diào)控溫室環(huán)境的功能可行、準(zhǔn)確。
表1 測(cè)試功能表
本文設(shè)計(jì)基于ZigBee和NB-IOT的智能垂直農(nóng)業(yè)系統(tǒng),STM32F103單片機(jī)為核心處理器,利用ZigBee和NB-IOT技術(shù)構(gòu)建無(wú)線傳輸網(wǎng)絡(luò),并通過(guò)核心網(wǎng)和NB-IOT平臺(tái)將底端數(shù)據(jù)上傳至OneNET云平臺(tái)。ZigBee和NB-IOT通訊技術(shù)為系統(tǒng)優(yōu)化了數(shù)據(jù)傳輸速率以及降低功耗。利用OneNET云平臺(tái)個(gè)性化服務(wù)拓展了網(wǎng)頁(yè)界面以及手機(jī)APP,用戶可以遠(yuǎn)程監(jiān)控系統(tǒng)參數(shù)。同時(shí),系統(tǒng)設(shè)計(jì)時(shí)預(yù)留傳感器的插口,以便添加攝像頭以及更全面監(jiān)測(cè)環(huán)境數(shù)據(jù)的傳感器,達(dá)到系統(tǒng)自身的優(yōu)化和場(chǎng)景適應(yīng)能力。