祁賢業(yè)
(蘭州資源環(huán)境職業(yè)技術(shù)大學(xué) 甘肅蘭州 730021)
溫室中生長(zhǎng)的農(nóng)作物對(duì)環(huán)境的要求非常高,而利用溫室種植和管理農(nóng)作物,是可以控制環(huán)境的,也就是采取手段采集環(huán)境參數(shù),據(jù)此不斷調(diào)節(jié)溫度,適宜農(nóng)作物生長(zhǎng),這是現(xiàn)代農(nóng)業(yè)發(fā)展的重要形態(tài)。物聯(lián)網(wǎng)出現(xiàn)后,農(nóng)業(yè)學(xué)術(shù)界開(kāi)始將目光集中在其與溫室的結(jié)合上,并展開(kāi)了諸多研究。結(jié)果顯示,基于物聯(lián)網(wǎng)可實(shí)現(xiàn)溫室系統(tǒng)的智能化,從溫度、濕度、通風(fēng)與灌溉等方面出發(fā),都可構(gòu)建相應(yīng)的智能系統(tǒng),而利用數(shù)據(jù)通信技術(shù)來(lái)對(duì)溫室進(jìn)行監(jiān)督也是其中一項(xiàng)重要內(nèi)容。
當(dāng)前,已有ZigBee、Bluetooth等技術(shù)在溫室監(jiān)控中得到應(yīng)用,效果相比于傳統(tǒng)農(nóng)業(yè)非常突出。不過(guò)這些技術(shù)也有諸多不足之處,如不支持遠(yuǎn)距離傳輸、傳輸過(guò)程易受影響、消耗較大功率等。近年來(lái),又研究出了LoRa 技術(shù),并在農(nóng)業(yè)中得到實(shí)踐應(yīng)用,雖然彌補(bǔ)了上述技術(shù)的缺點(diǎn),但其并非正規(guī)的物聯(lián)網(wǎng)技術(shù),所以未來(lái)會(huì)如何發(fā)展,難以保證,極易出現(xiàn)無(wú)法滿足用戶要求的問(wèn)題。而NB-IoT(Narrow Band Internet of Things)通信是當(dāng)下的一種新科技成果[1],它是以窄帶為基礎(chǔ)的蜂窩物聯(lián)網(wǎng)技術(shù),是經(jīng)過(guò)授權(quán)的物聯(lián)網(wǎng)技術(shù),因此優(yōu)勢(shì)明顯,不僅支持遠(yuǎn)距離、大范圍傳輸,而且具有成本較低、功耗較小且安全性較高等特點(diǎn)。與LoRa相比,其不僅是正規(guī)的,而且傳輸時(shí)更為安全可靠,服務(wù)質(zhì)量有保證。而與ZigBee等通信技術(shù)相比,其支持遠(yuǎn)距離傳輸,且能高效抗干擾。NB-IoT是在蜂窩網(wǎng)絡(luò)中形成的,采集數(shù)據(jù)后能夠自主將其上傳云端,也省去了網(wǎng)關(guān)環(huán)節(jié),不需要經(jīng)過(guò)現(xiàn)場(chǎng)部署。所以,結(jié)合NB-IoT設(shè)計(jì)的智能溫室監(jiān)控系統(tǒng)不僅融合了窄帶物聯(lián)網(wǎng)NB-IoT技術(shù),同時(shí)也應(yīng)用了GPRS(General Packet Radio Service)技術(shù),這樣就能遠(yuǎn)程操控信息傳輸過(guò)程,不再像以往,只能短距離傳輸。傳輸過(guò)程也更加高效、方便、穩(wěn)定、及時(shí),并且可實(shí)現(xiàn)多連接傳輸,信號(hào)也較強(qiáng)。設(shè)計(jì)此系統(tǒng)時(shí),為了有效處理傳輸時(shí)出現(xiàn)的信號(hào)降噪現(xiàn)象,運(yùn)用了差分法。
1.1.1 設(shè)備的可行性
信息化發(fā)展離不開(kāi)相應(yīng)的硬件設(shè)備的支持,在科技的更新應(yīng)用下,硬件設(shè)備越來(lái)越先進(jìn),性能優(yōu)越、功能齊全、使用便利。各個(gè)領(lǐng)域結(jié)合具體需求普遍采用了相應(yīng)的芯片、傳感器產(chǎn)品及硬件等,保證了各項(xiàng)工作的安全穩(wěn)定開(kāi)展。調(diào)研結(jié)果顯示,主控芯片、傳感器設(shè)備等的工作性能、精度、效率等,都能夠滿足系統(tǒng)開(kāi)發(fā)的需要。
1.1.2 技術(shù)的可行性
目前,已經(jīng)進(jìn)入“萬(wàn)物互聯(lián)”時(shí)代,物聯(lián)網(wǎng)技術(shù)的應(yīng)用正在逐步覆蓋各行各業(yè),并且其自身也始終處于持續(xù)完善之中,不僅獲得了理論界的研究支持,也得到了產(chǎn)品廠商的青睞,所以系統(tǒng)設(shè)計(jì)具備了充分的技術(shù)保障。
監(jiān)控系統(tǒng)包括硬件系統(tǒng)和軟件系統(tǒng),每個(gè)系統(tǒng)又分為底層模塊、監(jiān)控節(jié)點(diǎn)與監(jiān)控中心這3 個(gè)部分。底層模塊由數(shù)據(jù)采集模塊、控制模塊構(gòu)成。前者主要用來(lái)向監(jiān)控節(jié)點(diǎn)傳輸采集到的環(huán)境參數(shù),后者主要用來(lái)接收來(lái)自用戶中心的決策信息,同時(shí)對(duì)執(zhí)行機(jī)構(gòu)具有控制作用。監(jiān)控節(jié)點(diǎn)既能接收數(shù)據(jù),也能發(fā)送數(shù)據(jù),在其接收后,對(duì)其中蘊(yùn)含的信息進(jìn)行采集,又通過(guò)NBIoT 通信模塊,向NB-IoT 基站發(fā)送,最終傳到監(jiān)控中心。監(jiān)控節(jié)點(diǎn)接收信息的路徑與此相同,只不過(guò)恰好相反,發(fā)送起點(diǎn)為監(jiān)控中心,然后經(jīng)過(guò)監(jiān)控節(jié)點(diǎn),最終到達(dá)控制模塊。結(jié)合現(xiàn)場(chǎng)具體情況,一般利用RS485總線實(shí)現(xiàn)數(shù)據(jù)采集模塊和監(jiān)控節(jié)點(diǎn)之間的通信[2],這樣可確保傳輸過(guò)程的安全、穩(wěn)定、可靠。這是無(wú)線傳輸所不具備的優(yōu)點(diǎn)。
由監(jiān)控節(jié)點(diǎn)發(fā)送到監(jiān)控中心的數(shù)據(jù),會(huì)被后者保存、處理,然后做出控制決策,接著反饋給基站,最后再到達(dá)控制模塊。監(jiān)控中心通過(guò)用戶界面就能實(shí)時(shí)了解有關(guān)環(huán)境的數(shù)據(jù)信息,進(jìn)而遠(yuǎn)程控制溫室設(shè)備,及時(shí)對(duì)環(huán)境進(jìn)行調(diào)節(jié)。
底層模塊的兩個(gè)部分——數(shù)據(jù)采集模塊和控制模塊,各自的構(gòu)成部件有不同。前者包括傳感器、主控電路、RS485 通信模塊以及電源模塊??紤]到檢測(cè)的準(zhǔn)確性和可靠性,所選用的傳感器都是數(shù)字型的,溫度方面選的是DS18B20,其接口屬于單總線類型,也就是在主控芯片的I/O 端接入數(shù)據(jù)端口(DQ 端)就可以了;光照方面選的是BH1750,其接口屬于I2C 總線類型,也就是根據(jù)要求在主控芯片的I/O 端接入時(shí)鐘端(SCL)和數(shù)據(jù)端(SDA)就可以了[3]。
主控電路內(nèi)存在單片機(jī)最小系統(tǒng),為了能夠?qū)崟r(shí)采集數(shù)據(jù),以stm32F10 型號(hào)單片機(jī)作為主控芯片,設(shè)置2.0~3.6 V 的工作電壓以及能達(dá)到72 MHz 的內(nèi)部時(shí)鐘。考慮到系統(tǒng)涉及的檢測(cè)點(diǎn)不止一個(gè),而檢測(cè)的所有數(shù)據(jù)均需傳輸?shù)奖O(jiān)控節(jié)點(diǎn),再結(jié)合現(xiàn)場(chǎng)具體情況,決定選擇RS485總線作為數(shù)據(jù)采集模塊和監(jiān)控節(jié)點(diǎn)之間的通信工具。RS485 能夠用來(lái)采集數(shù)據(jù),且能夠來(lái)回移植。再者,SP3485 芯片能夠?qū)?lái)自單片機(jī)引腳的TTL信號(hào)轉(zhuǎn)換成RS485通信[4]并直接傳輸給監(jiān)控節(jié)點(diǎn)。在具體應(yīng)用時(shí),可以雙絞線為介質(zhì),RS485通信能夠良好地抵御外部因素的干擾,可謂優(yōu)點(diǎn)眾多。
控制模塊分為三部分,具體如下。
一是主控電路,其內(nèi)部也存在單片機(jī)最小系統(tǒng),考慮到設(shè)計(jì)的統(tǒng)一性,其也以stm32F10型號(hào)的單片機(jī)作為主控芯片。通常環(huán)境參數(shù)的采集和控制都有效率要求,也就是必須及時(shí),因此在通信方面多選用GPRS通信,利用GPRS 網(wǎng)絡(luò)向控制模塊傳輸指令,操控設(shè)備,以達(dá)到遠(yuǎn)程控制的目的。二是GPRS 通信模塊,其選擇的芯片為SIM800C 芯片。主控芯片串聯(lián)UART1-TXD與UART1-TXD,借助發(fā)送AT指令,實(shí)現(xiàn)SIM800C通信模塊和服務(wù)器之間的通信,然后再接收控制指令,這樣就實(shí)現(xiàn)了遠(yuǎn)程操控。SIM 卡電路主要與SIMDET、SIM-DATA、SIM-CLK、SIM-RST 以及SIM-VDD相連接[5]。三是繼電器模塊,其利用主控芯片的I/O口對(duì)三極管進(jìn)行控制,然后使繼電器運(yùn)作,實(shí)現(xiàn)對(duì)有關(guān)執(zhí)行機(jī)構(gòu)的控制。如果想要減少外部因素對(duì)繼電器電路的干擾,可將光電耦合器(4N25)與繼電器和單片機(jī)相連接。
監(jiān)控節(jié)點(diǎn)包括兩個(gè)部分:一是主控電路,其和底層模塊一樣;二是通信模塊,其由復(fù)位電路、SIM 卡模塊以及射頻電路構(gòu)成。這里選擇BC-95 芯片(產(chǎn)自上海移遠(yuǎn)公司)作為射頻電路。設(shè)置3.1~4.4 V的工作電壓即可,將其設(shè)定為3.3 V,然后連接主控芯片的串口USART1。BC-95 芯片的引腳多達(dá)94 個(gè),LCC 引腳有54 個(gè),LGA 引腳有40 個(gè)。引腳主要用來(lái)給電源供電,具備USIM卡、RF、串口接收發(fā)送等接口。為了擁有較好的射頻信號(hào),選用π 型匹配電路作為射頻電路。為了使USIM 卡接口免受射頻干擾,其USIM-DATA、USIM-GND、USIM-RST、USIM-VDD 以 及USIM-CLK引腳[6],通過(guò)并聯(lián)電容相連接。通信模塊一般以CONNECT模式、IDEL模式、PSM模式來(lái)工作,這3種模式支持來(lái)回切換,具體結(jié)合實(shí)際需要來(lái)操作。設(shè)計(jì)時(shí),如果選用PSM工作模式,功率消耗可以適當(dāng)降低一些,因?yàn)槠潆娏髦挥? μA,這樣更有利于NB-IoT技術(shù)發(fā)揮作用。
底層模塊需要電源模塊提供3.3 V的電壓,而監(jiān)控節(jié)點(diǎn)則需要電源模塊提供12 V的電壓。一般傳感器、主控電路以及BC-95 芯片接收到的電壓都是3.3 V。其最初由電源模塊的USB接口提供,但并不穩(wěn)定,因此加入了LM1117-3.3芯片,以確保最終輸出的電壓為穩(wěn)定的3.3 V。這樣做是因?yàn)樾铍姵責(zé)o法長(zhǎng)時(shí)間待機(jī),且更換起來(lái)較為麻煩。而繼電器模塊接收到的12 V 電源,主要來(lái)自220 V的交流電,在變壓器及整流橋的處理下形成直流電,后被LM7812芯片過(guò)濾后變成了穩(wěn)定的12 V電壓。
軟件設(shè)計(jì)也由三部分組成,分別是底層模塊程序、監(jiān)控節(jié)點(diǎn)通信與監(jiān)控中心。
設(shè)計(jì)底層模塊的作用是及時(shí)通過(guò)傳感器采集信息并發(fā)送出去。舉例來(lái)說(shuō),如果溫控系統(tǒng)采用的是數(shù)字型設(shè)備,如溫度系統(tǒng)使用的是單總線類型的DS18B20傳感器,那么在傳輸信號(hào)時(shí),就一定要遵循相應(yīng)的時(shí)序邏輯。光照系統(tǒng)采用的是BH1750傳感器,就要在其與控制器之間加入I2C通信協(xié)議。通過(guò)Modbus協(xié)議內(nèi)包含的RTU傳輸模式,可實(shí)現(xiàn)數(shù)據(jù)采集模塊和監(jiān)控節(jié)點(diǎn)之間的數(shù)據(jù)傳輸,傳輸內(nèi)容分別為地址碼、功能碼、數(shù)據(jù)位以及校驗(yàn)碼[7]。運(yùn)用該傳輸模式時(shí),應(yīng)提前將各個(gè)數(shù)據(jù)幀彼此間的通信間隔時(shí)間設(shè)置為不低于3.5 個(gè)字節(jié)。具體操作時(shí),外界因素難免會(huì)對(duì)其造成影響,進(jìn)而妨礙數(shù)據(jù)的精準(zhǔn)、及時(shí)輸出,所以設(shè)計(jì)過(guò)程中應(yīng)注重增加數(shù)據(jù)校驗(yàn)環(huán)節(jié)。結(jié)合文章的設(shè)計(jì)實(shí)情,此次設(shè)計(jì)的校驗(yàn)工具選擇了CRC校驗(yàn),它在當(dāng)前的相關(guān)校驗(yàn)中是使用較為頻繁的工具之一,實(shí)踐證明,校驗(yàn)效果非常突出,因此可應(yīng)用到此次校驗(yàn)中,實(shí)現(xiàn)數(shù)據(jù)的穩(wěn)定、精準(zhǔn)接收。另外,考慮到此設(shè)計(jì)的通信方式是半雙工的,所以主機(jī)不僅要識(shí)別傳感器數(shù)據(jù),也要識(shí)別設(shè)備地址。
這一設(shè)計(jì)環(huán)節(jié)的數(shù)據(jù)分析和處理主要采用差分濾波算法。通常情況下,如溫度參數(shù)、光照參數(shù)等環(huán)境參數(shù)是比較穩(wěn)定的,因此常規(guī)工作中,數(shù)據(jù)分析和處理多通過(guò)平移濾波算法來(lái)完成。不過(guò)該算法更適合用來(lái)處理周期性信號(hào),誤差也通常會(huì)被平均到測(cè)量值中。所以為了保證處理效果良好,此次設(shè)計(jì)中數(shù)據(jù)處理和誤差識(shí)別選擇通過(guò)差分濾波算法來(lái)完成,同時(shí)將識(shí)別得到的虛假值換成更符合要求的值。該算法簡(jiǎn)單易操作,處理誤差的效果也更為突出。
第一步是基于以往測(cè)量所得到的數(shù)值將接下來(lái)的時(shí)刻的采集值Xg(t)大致推算出來(lái),再對(duì)比于實(shí)際測(cè)量值X(t),當(dāng)結(jié)果不小于閾值?(?≥0),也就是|Xg(t) -X(t)| ≥?時(shí),就說(shuō)明所得到的結(jié)果是虛假測(cè)量值,將其替換為Xg(t),當(dāng)結(jié)果小于閾值?時(shí),就說(shuō)明所得到的結(jié)果是真實(shí)測(cè)量值。
監(jiān)控節(jié)點(diǎn)通信要引入NB-IoT 技術(shù)。NB-IoT 模塊基于網(wǎng)絡(luò)中的射頻信號(hào)連接于基站,通過(guò)NB-IoT 基站,運(yùn)營(yíng)商網(wǎng)絡(luò)可實(shí)現(xiàn)和NB-IoT 設(shè)備的通信,數(shù)據(jù)主要利用NB-IoT 核心網(wǎng)來(lái)發(fā)送和接收,即先接收數(shù)據(jù),然后再向云服務(wù)器發(fā)送,起到的是類似于中介的作用。此次設(shè)計(jì)選擇通過(guò)COAP協(xié)議將網(wǎng)絡(luò)平臺(tái)連接于NBIoT 通信模塊,而NB-IoT 核心網(wǎng)選擇的是華為IoT 平臺(tái),接收數(shù)據(jù)后再向云服務(wù)器發(fā)送。利用NB-IoT網(wǎng)絡(luò)進(jìn)行通信,應(yīng)先將NB-IoT 卡恢復(fù)出廠設(shè)置,而后主控芯片將AT指令發(fā)送到通信模塊[8],實(shí)現(xiàn)網(wǎng)絡(luò)連接,接著注冊(cè)網(wǎng)絡(luò),然后才能進(jìn)入服務(wù)器通信環(huán)節(jié)。
應(yīng)注意的是,NB-IoT通信模塊進(jìn)入服務(wù)器通信環(huán)節(jié)后,剛開(kāi)始其還是CONNECT 運(yùn)行模式,僅支持接收和發(fā)送數(shù)據(jù),當(dāng)沒(méi)有數(shù)據(jù)需要傳輸時(shí),其就會(huì)轉(zhuǎn)變成PSM 工作模式,暫時(shí)斷開(kāi)和服務(wù)器的連接。如果要讓其再次恢復(fù)CONNECT 運(yùn)行模式,就利用主控芯片將AT 指令發(fā)送到通信模塊便可,這樣能夠減少功率損耗,延長(zhǎng)模塊的運(yùn)行壽命。
設(shè)計(jì)監(jiān)控中心主要通過(guò)B/S(瀏覽器/服務(wù)器)來(lái)完成。監(jiān)控中心在設(shè)計(jì)時(shí)主要是設(shè)置應(yīng)用服務(wù)器,基于IoT 平臺(tái)直接訂閱相應(yīng)的功能,對(duì)來(lái)自監(jiān)控節(jié)點(diǎn)的JSON 格式數(shù)據(jù)進(jìn)行識(shí)別,同時(shí)顯示在用戶端上,以此呈現(xiàn)檢測(cè)得到的數(shù)據(jù)。用戶端通過(guò)Socket通信連接服務(wù)器,這樣就能夠相互傳輸數(shù)據(jù)[9]。一般是監(jiān)控節(jié)點(diǎn)將報(bào)警信息發(fā)給用戶端,然后客戶端處理信息、做出決策,再將其向控制模塊發(fā)送,以此達(dá)到調(diào)節(jié)環(huán)境的作用。一般客戶端直接可以在手機(jī)上顯示,用戶可以不受時(shí)間和地點(diǎn)限制,隨時(shí)隨地通過(guò)設(shè)備號(hào)來(lái)確定設(shè)備并進(jìn)行遠(yuǎn)程監(jiān)控和操作。就拿溫室中的一個(gè)升降架來(lái)說(shuō),如果根據(jù)數(shù)據(jù)可知太陽(yáng)光照度過(guò)強(qiáng)或過(guò)弱,不適合農(nóng)作物健康生長(zhǎng),那么用戶就可通過(guò)手機(jī)手動(dòng)操作電機(jī),將卷簾卷起或放下,以此調(diào)節(jié)光照強(qiáng)度,使其達(dá)到適宜農(nóng)作物生長(zhǎng)的程度。
設(shè)計(jì)完基于NB-IoT的智能溫室監(jiān)控系統(tǒng)之后,為了保證其具有可操作性、有效性,需要實(shí)際測(cè)試該系統(tǒng)。結(jié)合NB-IoT 技術(shù),能夠?qū)崟r(shí)跟蹤、及時(shí)調(diào)節(jié)溫室中的環(huán)境參數(shù),同時(shí)在獲取參數(shù)后,向基站發(fā)送,經(jīng)過(guò)基站再到達(dá)監(jiān)控平臺(tái),這樣用戶就能夠隨時(shí)隨地了解溫室的情況,如空氣和土壤的濕度、室內(nèi)的溫度等,根據(jù)需要調(diào)節(jié)系統(tǒng)運(yùn)行模式,調(diào)整溫度。經(jīng)測(cè)試發(fā)現(xiàn)系統(tǒng)傳輸效率高、效果好,無(wú)丟包問(wèn)題,整體比較穩(wěn)定、可靠、安全。
為了保證高效、穩(wěn)定地傳輸數(shù)據(jù),文章結(jié)合NBIoT無(wú)線通信技術(shù),設(shè)計(jì)了一套針對(duì)農(nóng)作物種植和生長(zhǎng)的智能溫室監(jiān)控系統(tǒng)。最終的測(cè)試顯示,該系統(tǒng)切實(shí)有效,與預(yù)期的要求相符合,從理論上來(lái)說(shuō)應(yīng)用于智慧農(nóng)業(yè)領(lǐng)域是可行的。無(wú)論是只有一個(gè)溫室的農(nóng)業(yè)地,還是搭建了若干溫室的農(nóng)業(yè)園區(qū),都適用該系統(tǒng),都能夠基于物聯(lián)網(wǎng)技術(shù)對(duì)溫室進(jìn)行智能檢測(cè)和監(jiān)控,可大大提升溫室監(jiān)控的效率與效果。如果測(cè)量環(huán)境有多個(gè),就配備相應(yīng)數(shù)量的無(wú)線傳感節(jié)點(diǎn),對(duì)應(yīng)監(jiān)測(cè)環(huán)境參數(shù),獲得相應(yīng)數(shù)據(jù),如溫度數(shù)據(jù)、氣壓數(shù)據(jù)、pH值數(shù)據(jù)、成分?jǐn)?shù)據(jù)、二氧化碳濃度、空氣(土壤)濕度數(shù)據(jù)等。而后監(jiān)控節(jié)點(diǎn)將這些數(shù)據(jù)發(fā)送給控制模塊,經(jīng)過(guò)其存儲(chǔ)、分析和顯示,對(duì)數(shù)據(jù)進(jìn)行整合、處理,最終形成有關(guān)圖表和曲線,用戶根據(jù)這些圖表和曲線,就能詳細(xì)了解溫室的整體情況。另外,結(jié)合植物的生長(zhǎng)特點(diǎn),該系統(tǒng)還能發(fā)出相應(yīng)的聲光報(bào)警信息,提醒用戶通過(guò)遠(yuǎn)程操控及時(shí)調(diào)節(jié)溫室環(huán)境,避免造成損失。因此,筆者認(rèn)為,基于NB-IoT 的智能溫室監(jiān)控系統(tǒng)是可以在農(nóng)業(yè)發(fā)展領(lǐng)域得到實(shí)際應(yīng)用的,有利于促進(jìn)現(xiàn)代農(nóng)業(yè)溫室統(tǒng)一規(guī)劃和遠(yuǎn)程便捷管理。經(jīng)過(guò)深入研究和實(shí)踐,基于該技術(shù)也可針對(duì)灌溉、施肥等方面設(shè)計(jì)相應(yīng)的智能監(jiān)控系統(tǒng),這是智慧農(nóng)業(yè)未來(lái)發(fā)展趨勢(shì)之一。