霍春光,劉 影,代 巍
(遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125000)
隨著時(shí)代的邁進(jìn),計(jì)算機(jī)、網(wǎng)絡(luò)通信、大數(shù)據(jù)和自動(dòng)控制技術(shù)的全面發(fā)展,打破了傳統(tǒng)的工農(nóng)業(yè)工作方式,科學(xué)技術(shù)已經(jīng)深入了民族工農(nóng)業(yè)[1]。就農(nóng)業(yè)大棚而言,在我國(guó)大棚溫室控制系統(tǒng)存在的主要問(wèn)題:
(1)總體來(lái)講,科技水平和總體發(fā)展?fàn)顩r不平衡,與發(fā)達(dá)國(guó)家相差較大。而且我國(guó)在智能農(nóng)業(yè)方面的研究相對(duì)發(fā)達(dá)國(guó)家較晚、基礎(chǔ)薄弱,從生產(chǎn)設(shè)施裝備不完整,技術(shù)較低,生產(chǎn)也不規(guī)范,難以形成大規(guī)模生產(chǎn)制造,而農(nóng)業(yè)發(fā)達(dá)國(guó)家多為自動(dòng)化群控制,從而便產(chǎn)生了差距。
(2)在我國(guó)現(xiàn)有的大棚溫室內(nèi)環(huán)境控制系統(tǒng)每個(gè)系統(tǒng)都是點(diǎn)對(duì)點(diǎn)相互獨(dú)立的,幾乎沒(méi)有群控制系統(tǒng),這樣不僅會(huì)浪費(fèi)大量的資金與財(cái)務(wù),而且降低了用戶(hù)的管理效率。
(3)在大棚溫室測(cè)控系統(tǒng)中,很多通信通信系統(tǒng)還是有線方式。在我國(guó)大棚控制通信系統(tǒng)主要有RS 485總線、RS 232總線以及CAN總線等[2]。有線通信會(huì)讓室內(nèi)的排線錯(cuò)綜復(fù)雜,各線之間產(chǎn)生的電磁干擾較多、發(fā)熱較大,整體功耗提升,并且容易損壞,后期的維護(hù)成本高,不能真正意義上達(dá)到農(nóng)業(yè)工業(yè)化、自動(dòng)化的水平。
(4)即使有無(wú)線傳輸系統(tǒng),系統(tǒng)多采用WiFi、藍(lán)牙、ZigBee等,這些系統(tǒng)容易受干擾,適用范圍很差[3]。WiFi功耗高,傳輸距離較短,抗干擾較弱,藍(lán)牙相對(duì)功耗低但是傳輸距離更短,ZigBee功耗雖然低,數(shù)據(jù)量極小,且極易受干擾,局限性太大,無(wú)法適應(yīng)太多的復(fù)雜環(huán)境檢測(cè)控制(強(qiáng)干擾地區(qū))[4]。
為此,本文設(shè)計(jì)了一種基于LoRa的智能大棚控制系統(tǒng)。該系統(tǒng)可以監(jiān)測(cè)并控制室內(nèi)環(huán)境的溫濕度信息,利用LoRa節(jié)點(diǎn)傳輸至網(wǎng)關(guān)再通過(guò)GPRS將數(shù)據(jù)上傳至云平臺(tái),管理人員通過(guò)云端網(wǎng)頁(yè)或網(wǎng)關(guān)實(shí)時(shí)監(jiān)測(cè)并且遠(yuǎn)程控制各項(xiàng)數(shù)據(jù)指標(biāo),如果數(shù)據(jù)異常系統(tǒng)則會(huì)向管理人員發(fā)送報(bào)警短信,并且采取相應(yīng)的措施調(diào)整環(huán)境。針對(duì)停電的情況,系統(tǒng)中加入了斷電記憶功能。在設(shè)備突然斷電情況下,數(shù)據(jù)可以得到保留,重新上電能夠自動(dòng)恢復(fù),以有效保障環(huán)境狀態(tài)安全。實(shí)驗(yàn)表明:所提系統(tǒng)解決了人工監(jiān)測(cè)導(dǎo)致出現(xiàn)的偏差,采用遠(yuǎn)程自動(dòng)化控制,即使用戶(hù)身在遠(yuǎn)方也可實(shí)時(shí)調(diào)整環(huán)境條件狀態(tài),可大幅提高農(nóng)作物的生產(chǎn)質(zhì)量與人們的工作效率。
LoRa可大大改善了接收的靈敏度,降低了功耗,而且LoRa還具有擴(kuò)頻技術(shù)[5],如圖1所示,LoRa的延遲極低,在高達(dá)100 dB的鏈路上的通信距離可達(dá)10 km。LoRa接收電流特別小,僅僅10 mA,最低功耗的傳輸方式即睡眠電流為200 nA,這大大增加了設(shè)備的續(xù)航能力,并且大幅度延長(zhǎng)了電池的使用壽命。本文基于LoRa技術(shù)制作的網(wǎng)關(guān)支持多信道多數(shù)據(jù)并行處理,穩(wěn)定性強(qiáng)、延遲低、容量大[6]。理論上網(wǎng)關(guān)24 h可以處理500萬(wàn)次與各子節(jié)點(diǎn)間的通信(例如,每次發(fā)送10 B數(shù)據(jù),網(wǎng)絡(luò)占用率僅為0.1)。如果把網(wǎng)關(guān)安裝在有移動(dòng)通信基站的位置處,在100 mW電功率下其發(fā)射功率為20 dBm,那么在城市里、在建筑密集的環(huán)境下,其覆蓋范圍可達(dá)2 km左右,而在建筑密度較低的野外郊區(qū),其覆蓋范圍甚至可達(dá)到10 km以上。
圖1 LoRa擴(kuò)頻技術(shù)
通過(guò)基于LoRa、NB-IoT制作的數(shù)據(jù)采集端、控制端、可操控網(wǎng)關(guān)以及基于OneNET的可視化監(jiān)管中心[7],可遠(yuǎn)程及時(shí)了解各個(gè)節(jié)點(diǎn)溫室大棚內(nèi)的環(huán)境狀態(tài)信息,并且進(jìn)行實(shí)時(shí)自動(dòng)調(diào)整[8],在極短的時(shí)間內(nèi)控制溫度、濕度,使農(nóng)作物生活于最優(yōu)的環(huán)境,保障農(nóng)作物的健康狀態(tài)和生長(zhǎng)速度,并且提高作業(yè)效率和管理水平,推動(dòng)了農(nóng)業(yè)信息化的發(fā)展。
本文設(shè)計(jì)的基于LoRa的智能大棚控制系統(tǒng)分為4個(gè)部分,分別為數(shù)據(jù)采集端、可操控網(wǎng)關(guān)、控制端、云端,如圖2所示。LoRa模塊負(fù)責(zé)傳輸采集的環(huán)境信息、警報(bào)和控制信號(hào)??刹倏鼐W(wǎng)關(guān)將來(lái)自各個(gè)LoRa的數(shù)據(jù)進(jìn)行初步處理之后再通過(guò)NB-IoT模塊上傳至OneNET平臺(tái),云端會(huì)將環(huán)境信息顯示在網(wǎng)頁(yè)上。當(dāng)環(huán)境控制系統(tǒng)的數(shù)據(jù)異常時(shí),網(wǎng)關(guān)發(fā)送出相應(yīng)的警報(bào)和控制信號(hào),控制端會(huì)采取相應(yīng)的措施對(duì)環(huán)境進(jìn)行校正,并且還會(huì)向監(jiān)管人員或用戶(hù)發(fā)送異常短信提醒,無(wú)論在家中還是在大棚都可以實(shí)現(xiàn)對(duì)大棚溫室內(nèi)環(huán)境的遠(yuǎn)程實(shí)時(shí)可視化監(jiān)控。
圖2 環(huán)境控制系統(tǒng)系統(tǒng)結(jié)構(gòu)
系統(tǒng)硬件主要分為數(shù)據(jù)采集端、可操控網(wǎng)關(guān)和控制端三個(gè)部分,如圖3所示。其中數(shù)據(jù)采集端和控制端共用一塊電源,放在需要監(jiān)控的大棚溫室內(nèi),如圖4所示。可操控網(wǎng)關(guān)則使用另一塊電源,與用戶(hù)和管理者放在一起。本系統(tǒng)采用LoRa星狀數(shù)據(jù)結(jié)構(gòu),以網(wǎng)關(guān)作為中央節(jié)點(diǎn),利用不同的信道對(duì)各個(gè)節(jié)點(diǎn)相連接,每一個(gè)節(jié)點(diǎn)都可以與網(wǎng)管之間進(jìn)行信息交換。LoRa具有喚醒模式,當(dāng)需要控制遠(yuǎn)端子節(jié)點(diǎn)時(shí),會(huì)發(fā)送喚醒碼,遠(yuǎn)程端會(huì)定時(shí)接收喚醒信號(hào)。當(dāng)收到喚醒信號(hào)時(shí),便開(kāi)啟串口傳輸模式,進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)利用NBIoT模塊,通過(guò)TCP/IP協(xié)議上傳至云平臺(tái)。這種方式提高了傳輸效率和工作效率,并且最大限度地降低了功耗。
圖3 數(shù)據(jù)采集端與控制端
圖4 可操控網(wǎng)關(guān)
如圖5所示,數(shù)據(jù)采集端主要包括處理核心模塊、LoRa無(wú)線模塊、溫度傳感器和濕度傳感器。
圖5 數(shù)據(jù)采集系統(tǒng)硬件框圖
核心處理模塊采用了宏晶科技生產(chǎn)的8位8051核心微處理器STC89C516單片機(jī)。該模塊主要負(fù)責(zé)處理傳感器采集到的數(shù)據(jù),并通過(guò)LoRa模塊以無(wú)線的方式發(fā)送給可操作網(wǎng)關(guān)。
LoRa模塊采用了成都億百特公司生產(chǎn)的新一代工作頻率在433 MHz的無(wú)線收發(fā)模塊。作為星狀結(jié)構(gòu)的一個(gè)子節(jié)點(diǎn),該模塊主要是將處理好的數(shù)據(jù)以無(wú)線方式發(fā)送出去。
溫、濕度傳感器采用了DHT11、DS18B20。該模塊主要負(fù)責(zé)采集環(huán)境溫濕度,其中DHT11在溫度測(cè)試方面不夠精確,因此用DS18B20進(jìn)行溫度測(cè)量,讓數(shù)據(jù)更加精確。
可操控網(wǎng)關(guān)如圖6所示,主要包括核心處理模塊、LoRa無(wú)線模塊、24C02 E2PROM模塊、NB-IoT模塊、LCD液晶顯示屏。
圖6 可操控網(wǎng)關(guān)硬件框圖
(1)核心處理器采用宏晶科技生產(chǎn)的STC12C5A60S2單片機(jī)。STC12C5A60S2是一款高速、低功耗、超強(qiáng)抗干擾的新一代8051單片機(jī),其具有雙串口通信。它對(duì)LoRa模塊接收到的數(shù)據(jù)進(jìn)行處理,并顯示在液晶顯示屏上。首先其會(huì)檢測(cè)是否連接,未連接會(huì)在液晶屏顯示“disconnect”;然后檢測(cè)傳感器是否正常,如果傳感器不正常會(huì)顯示“error”。接收到正常的數(shù)據(jù)后,會(huì)顯示在液晶屏上,并且發(fā)送給NBIoT模塊,通過(guò)NB-IoT模塊將數(shù)據(jù)上傳至云平臺(tái)。并且用戶(hù)可以根據(jù)自己的需求利用按鍵對(duì)環(huán)境的條件進(jìn)行設(shè)置,設(shè)置信息會(huì)通過(guò)單片機(jī)處理保存在E2PROM中。當(dāng)數(shù)據(jù)與設(shè)置不符,通過(guò)STC12C5A60S2單片機(jī)對(duì)數(shù)據(jù)處理讓網(wǎng)關(guān)模塊會(huì)亮起報(bào)警燈并且生成控制信號(hào),以LoRa模塊發(fā)出至控制端。
(2)E2PROM采用24C02芯片。24C02芯片為串行通信方式,是基于I2C總線通信協(xié)議的儲(chǔ)存器件,具有接口方便、體積小、穩(wěn)定性強(qiáng),數(shù)據(jù)斷電不丟失的特點(diǎn),保存時(shí)效可長(zhǎng)達(dá)100年。若網(wǎng)關(guān)模塊中途掉電,數(shù)據(jù)仍然會(huì)儲(chǔ)存在芯片里,待到來(lái)電設(shè)備會(huì)自動(dòng)恢復(fù)上次斷電前設(shè)置的數(shù)據(jù),無(wú)需擔(dān)心數(shù)據(jù)丟失。
(3)LoRa模塊采用成都億百特公司生產(chǎn)的新一代工作頻率在433 MHz的無(wú)線收發(fā)模塊,該模塊主要負(fù)責(zé)將警報(bào)信號(hào)以無(wú)線方式發(fā)送出去,以及接收數(shù)據(jù)采集端的數(shù)據(jù)。
(4)顯示屏采用了1602液晶顯示屏,可以調(diào)節(jié)亮度,對(duì)比度,可以將數(shù)據(jù)直觀顯示。
(5)NB-IoT模塊采用了中國(guó)移動(dòng)OneNET平臺(tái)專(zhuān)用的M5310A模塊,將單片機(jī)處理后的環(huán)境數(shù)據(jù)流上傳至OneNET平臺(tái)。
控制端軟件設(shè)計(jì)如圖7所示,核心處理模塊采用了宏晶科技生產(chǎn)的8位8051核心微處理器STC89C516單片機(jī),該模塊主要負(fù)責(zé)將LoRa接收到的警報(bào)信號(hào)進(jìn)行處理,將警報(bào)信號(hào)發(fā)送給GPRS/GSM無(wú)線模塊,并且發(fā)送相應(yīng)的控制信號(hào)給光耦繼電器改變環(huán)境。
圖7 控制端系統(tǒng)硬件框圖
LoRa模塊采用了成都億百特公司生產(chǎn)的新一代工作頻率在433 MHz的無(wú)線收發(fā)模塊,該模塊主要是接收將警報(bào)信號(hào)傳給單片機(jī)。
GPRS/GSM無(wú)線模塊采用了芯訊通(SIMcom)公司旗下的SIM900A模塊,采用ARM926EJ-S架構(gòu),它主要負(fù)責(zé)將單片機(jī)傳輸?shù)木瘓?bào)信號(hào)通過(guò)基站以短信發(fā)送給用戶(hù)。
繼電器采用了光耦四合一繼電器,具有集成度高、響應(yīng)迅速的特點(diǎn),主要控制改變環(huán)境因素電器的開(kāi)啟。
該智能大棚控制系統(tǒng)的軟件設(shè)計(jì)主要分為數(shù)據(jù)采集端軟件設(shè)計(jì)、可操控網(wǎng)關(guān)模塊軟件設(shè)計(jì)、控制端軟件設(shè)計(jì)和可視化監(jiān)管中心軟件設(shè)計(jì)。
數(shù)據(jù)采集端軟件設(shè)計(jì)流程圖如圖8所示。
圖8 數(shù)據(jù)采集端軟件設(shè)計(jì)流程
在打開(kāi)數(shù)據(jù)采集端電源后,該設(shè)備初始化溫度傳感器DS18B20和DHT11以及LoRa無(wú)線模塊,處理器開(kāi)始檢測(cè)傳感器是否正常工作,如果傳感器不能正常工作,通過(guò)LoRa發(fā)送錯(cuò)誤信號(hào),然后進(jìn)行循環(huán)檢測(cè);傳感器正常工作情況下,傳感器數(shù)據(jù)經(jīng)過(guò)處理器處理后,將溫濕度數(shù)據(jù)寫(xiě)入LoRa,LoRa再將溫濕度數(shù)據(jù)發(fā)送出去,最終進(jìn)入下一個(gè)數(shù)據(jù)采集和發(fā)送循環(huán)。
可操控網(wǎng)關(guān)軟件設(shè)計(jì)流程如圖9所示。
圖9 可操控網(wǎng)關(guān)軟件設(shè)計(jì)流程
在打開(kāi)可操控網(wǎng)關(guān)電源后,該設(shè)備對(duì)STC12C5A60S2芯片、24C02芯片、1602液晶屏、按鍵、M5310A模塊、LoRa模塊初始化。首先LoRa將數(shù)據(jù)傳入至單片機(jī),單片機(jī)LoRa檢測(cè)連接狀態(tài)及傳感器是否能正常運(yùn)行,檢測(cè)結(jié)果會(huì)顯示在液晶屏上。正常運(yùn)行情況下,單片機(jī)會(huì)先讀取儲(chǔ)存器信息,然后LCD屏?xí)@示LoRa接收到的數(shù)據(jù),并且通過(guò)M5310A模塊將接收到的數(shù)據(jù)傳入至云平臺(tái)。人工可根據(jù)自己的需求通過(guò)按鍵設(shè)置環(huán)境條件,單片機(jī)會(huì)自動(dòng)儲(chǔ)存在24C02芯片中,從而實(shí)現(xiàn)斷電記憶;處理器會(huì)根據(jù)設(shè)置環(huán)境條件與當(dāng)前環(huán)境值進(jìn)行對(duì)比。當(dāng)環(huán)境不滿(mǎn)足條件要求時(shí),處理器會(huì)通過(guò)LoRa模塊發(fā)送出對(duì)應(yīng)的警報(bào)信號(hào),并且有指示燈提示,然后進(jìn)入循環(huán)檢測(cè)更新數(shù)據(jù),當(dāng)溫濕環(huán)境條件正常時(shí),設(shè)備會(huì)發(fā)送符合條件信號(hào),然后再進(jìn)入下一個(gè)循環(huán)檢測(cè)更新數(shù)據(jù)。
控制端軟件設(shè)計(jì)如圖10所示,在打開(kāi)控制端上電源后,系統(tǒng)對(duì)STC89C516芯片、LoRa、繼電器、SIM900A模塊初始化。首先LoRa將接收到的信息通過(guò)單片機(jī)處理,判斷是否為報(bào)警信號(hào),如果是正常信號(hào),則進(jìn)入循環(huán)繼續(xù)掃描;當(dāng)接收到報(bào)警信號(hào),單片機(jī)會(huì)根據(jù)報(bào)警信號(hào)判斷出當(dāng)前環(huán)境狀態(tài),通過(guò)SIM900A給用戶(hù)發(fā)送當(dāng)前錯(cuò)誤環(huán)境報(bào)警短信,并且通過(guò)繼電器控制相應(yīng)的用電器來(lái)調(diào)整環(huán)境狀態(tài),然后進(jìn)入循環(huán)檢測(cè)。
圖10 控制端軟件設(shè)計(jì)流程
本設(shè)計(jì)的云端可視化監(jiān)控中心基于OneNET平臺(tái)而設(shè)計(jì)。OneNET平臺(tái)是由中國(guó)移動(dòng)打造的PaaS物聯(lián)網(wǎng)開(kāi)放平臺(tái)。該平臺(tái)可以提供簡(jiǎn)便的海量連接、云端存儲(chǔ)、消息分發(fā)和大數(shù)據(jù)分析等服務(wù),下位機(jī)端通過(guò)GPRS/GSM傳輸模塊與API接口進(jìn)行連接,大幅度降低了開(kāi)發(fā)者的研發(fā)、運(yùn)營(yíng)和維護(hù)成本,提高了工作效率。用戶(hù)可以根據(jù)OneNET平臺(tái)提供的產(chǎn)品服務(wù)框架結(jié)構(gòu),創(chuàng)建一個(gè)大棚環(huán)境應(yīng)用,通過(guò)審核之后,便可以對(duì)系統(tǒng)中的各項(xiàng)數(shù)據(jù)進(jìn)行云端處理,用戶(hù)最終可以看到實(shí)時(shí)數(shù)據(jù),并且對(duì)環(huán)境變化進(jìn)行預(yù)測(cè)。OneNET平臺(tái)的開(kāi)發(fā)結(jié)構(gòu)管理圖結(jié)構(gòu)如圖11所示。OneNET平臺(tái)的用戶(hù)、產(chǎn)品、設(shè)備、APIKey、觸發(fā)器和數(shù)據(jù)流采用如圖10所示的結(jié)構(gòu)形式[9-10]。
圖11 OneNET平臺(tái)資源管理層次結(jié)構(gòu)
當(dāng)可操控網(wǎng)關(guān)未連接數(shù)據(jù)采集端,可操控網(wǎng)關(guān)LCD屏?xí)@示“disconnect”,連接好但未插入傳感器時(shí)候,數(shù)據(jù)采集端會(huì)發(fā)送錯(cuò)誤信號(hào),可操控網(wǎng)關(guān)LCD屏上會(huì)顯示“error”,插好傳感器后數(shù)據(jù)采集端將獲取到的溫濕度數(shù)據(jù)發(fā)送到可操控網(wǎng)關(guān),LCD屏幕會(huì)顯示溫濕度數(shù)據(jù)。然后通過(guò)按鍵對(duì)操控網(wǎng)關(guān)進(jìn)行環(huán)境條件設(shè)置,當(dāng)環(huán)境不滿(mǎn)足設(shè)定條件,可操控網(wǎng)關(guān)警報(bào)燈亮起,同時(shí)LoRa將報(bào)警條件發(fā)送到了控制端,控制端接到信號(hào)后,對(duì)應(yīng)相應(yīng)環(huán)境改變條件的繼電器正常工作,手機(jī)端收到大棚環(huán)境信息報(bào)警短信;可操控網(wǎng)關(guān)將溫濕度數(shù)據(jù)一起上傳至OneNET平臺(tái),最終在云端可視化監(jiān)管中心上顯示出來(lái);當(dāng)可操控網(wǎng)關(guān)突然斷電,再重新上電啟動(dòng),環(huán)境條件設(shè)置并未丟失,斷電記憶功能可以正常實(shí)現(xiàn)。
圖12所示為基于OneNET平臺(tái)上開(kāi)發(fā)的網(wǎng)頁(yè)應(yīng)用,其顯示大棚環(huán)境信息以及數(shù)據(jù)統(tǒng)計(jì)圖,可方便直觀監(jiān)測(cè)環(huán)境且預(yù)測(cè)環(huán)境變化規(guī)律。圖13為大棚環(huán)境條件預(yù)設(shè)值條件不符向管理人員發(fā)送的報(bào)警短信圖。
圖12 網(wǎng)頁(yè)應(yīng)用顯示圖
圖13 短信報(bào)警圖
在科學(xué)技術(shù)發(fā)展迅猛的今天,科學(xué)改變生活已經(jīng)深入人心,實(shí)現(xiàn)低功耗、綠色環(huán)保已是智能農(nóng)業(yè)的大勢(shì)所趨,因此,本文設(shè)計(jì)一種基于LoRa技術(shù)和OneNET平臺(tái)的環(huán)境控制系統(tǒng)。經(jīng)過(guò)多次測(cè)試,通過(guò)各個(gè)子節(jié)點(diǎn)對(duì)主節(jié)點(diǎn)的精準(zhǔn)反饋,該系統(tǒng)可以實(shí)現(xiàn)對(duì)大棚環(huán)境條件實(shí)時(shí)監(jiān)測(cè)、數(shù)據(jù)預(yù)測(cè)、遠(yuǎn)程控制、斷電記憶、短信報(bào)警等先進(jìn)功能,并且基于LoRa的傳輸系統(tǒng)采用的是喚醒模式,該模式下大幅度降低了功耗,延長(zhǎng)了電池的使用壽命,增加了系統(tǒng)的穩(wěn)定性。