,, ,
(1.湖北大學(xué) 計算機(jī)與信息工程學(xué)院,武漢 430062; 2.湖北大學(xué) 楚才學(xué)院,武漢 430062;3.烽火通信科技股份有限公司業(yè)務(wù)與終端產(chǎn)出線,武漢 430073)
在傳統(tǒng)農(nóng)業(yè)大棚中,農(nóng)作物生長環(huán)境的參數(shù),以人工采集為主,因而很難保證其數(shù)據(jù)的實時性與有效性。隨著物聯(lián)網(wǎng)的快速發(fā)展,智能農(nóng)業(yè)系統(tǒng)應(yīng)運而生。當(dāng)前,基于ZigBee技術(shù)設(shè)計的智能農(nóng)業(yè)系統(tǒng)已然出現(xiàn)[1],然而因其傳輸距離短、易受外界頻段干擾以及網(wǎng)絡(luò)路由復(fù)雜等缺點,未能形成大規(guī)模推廣。幸運的是,LoRa技術(shù)的出現(xiàn)[2],解決了智能農(nóng)業(yè)系統(tǒng)所要求的長距離通信[3]、抗干擾能力強(qiáng)、低功耗等問題。LoRa技術(shù),其本質(zhì)為擴(kuò)頻調(diào)制技術(shù),同時結(jié)合數(shù)字信號處理以及前向糾錯偏碼技術(shù),更好地實現(xiàn)需求。
本文旨在設(shè)計一套基于LoRa技術(shù)的智能農(nóng)業(yè)系統(tǒng),能夠?qū)崿F(xiàn)實時準(zhǔn)確地采集農(nóng)作物生長環(huán)境中各種參數(shù),并能實時精準(zhǔn)地控制大棚中的設(shè)備,讓大棚中的生長環(huán)境保持在一個平衡的狀態(tài),從而滿足農(nóng)作物生長的需求。從現(xiàn)實意義上看,本系統(tǒng)可以提高農(nóng)業(yè)生產(chǎn)效率與農(nóng)業(yè)產(chǎn)量,同時改善農(nóng)業(yè)安全以及糧食安全。在智能農(nóng)業(yè)系統(tǒng)中,具有良好的推廣前景。

圖1 系統(tǒng)總體設(shè)計
系統(tǒng)總體設(shè)計如圖1所示,智能農(nóng)業(yè)系統(tǒng)從整體上由四部分構(gòu)成,分別是:用戶訪問平臺、農(nóng)業(yè)云平臺服務(wù)器、LoRa基站和終端節(jié)點。其中用戶訪問平臺指的是PC端和手機(jī)客戶端,通過它們來監(jiān)控大棚內(nèi)的環(huán)境情況。農(nóng)業(yè)云平臺服務(wù)器負(fù)責(zé)對整個系統(tǒng)的數(shù)據(jù)進(jìn)行處理,并且在其數(shù)據(jù)庫內(nèi)進(jìn)行數(shù)據(jù)保存,LoRa基站負(fù)責(zé)對終端節(jié)點和農(nóng)業(yè)云平臺服務(wù)器之間數(shù)據(jù)的交互,終端節(jié)點包括采集節(jié)點和控制節(jié)點。圖1中,溫濕度采集節(jié)點、光照采集節(jié)點、CO2采集節(jié)點等稱為采集節(jié)點,同時控制節(jié)點包括風(fēng)扇控制節(jié)點、卷簾控制節(jié)點、加熱控制節(jié)點等,另外一個LoRa基站負(fù)責(zé)多個農(nóng)業(yè)大棚的終端節(jié)點,一個農(nóng)業(yè)云平臺服務(wù)器負(fù)責(zé)多個LoRa基站。在本系統(tǒng)的總體設(shè)計中支持上與下雙向數(shù)據(jù)傳輸。從下至上時,首先通過采集節(jié)點采集到大棚內(nèi)溫濕度、光照強(qiáng)度、CO2濃度等信息的數(shù)據(jù),經(jīng)LoRa網(wǎng)絡(luò)自組網(wǎng)方式傳輸?shù)絃oRa基站,然后經(jīng)過3 G/4 G/有線寬帶網(wǎng)絡(luò)上傳到農(nóng)業(yè)云平臺服務(wù)器,實現(xiàn)與用戶訪問平臺的對接。從上至下時,用戶訪問平臺首先通過互聯(lián)網(wǎng)發(fā)送指令給農(nóng)業(yè)云平臺服務(wù)器,然后經(jīng)由3 G/4 G/有線寬帶網(wǎng)絡(luò)發(fā)送給LoRa基站,最后再經(jīng)過LoRa無線網(wǎng)絡(luò)發(fā)給控制節(jié)點,通過控制風(fēng)扇、卷簾、加熱器的開關(guān)來調(diào)節(jié)大棚內(nèi)的環(huán)境,從而實現(xiàn)了對控制設(shè)備的控制。
由此可見,該系統(tǒng)能夠?qū)崿F(xiàn)數(shù)據(jù)上傳與數(shù)據(jù)下發(fā),又具備組網(wǎng)便捷、傳輸距離遠(yuǎn)、抗干擾性能強(qiáng)等優(yōu)勢。同時該設(shè)計能夠減少農(nóng)業(yè)大棚所需成本,也可以提高農(nóng)業(yè)生產(chǎn)效率與產(chǎn)量。
LoRa技術(shù)采用LoRaWAN網(wǎng)絡(luò)協(xié)議,而LoRaWAN的網(wǎng)絡(luò)架構(gòu)[4]應(yīng)用在本智能農(nóng)業(yè)系統(tǒng)中包含終端節(jié)點、LoRa基站、農(nóng)業(yè)云平臺服務(wù)器三個部分。在這個網(wǎng)絡(luò)架構(gòu)中,LoRa基站是一個透明的中繼,連接前面的終端節(jié)點和后面的農(nóng)業(yè)云平臺服務(wù)器。其中終端節(jié)點采用單跳與一個或多個LoRa基站進(jìn)行雙向通信,是一個典型的星型拓?fù)浣Y(jié)構(gòu)。相比以前的ZigBee多跳網(wǎng)絡(luò)[5]而言,其具備很多優(yōu)勢,其一網(wǎng)絡(luò)復(fù)雜性較低,其二使用電池壽命較長,其三數(shù)據(jù)傳輸穩(wěn)定性較高。同時由于LoRa采用了擴(kuò)頻調(diào)制技術(shù),可以選擇不同的信道頻率和數(shù)據(jù)傳輸速率,這樣可以有效地解決LoRa基站數(shù)據(jù)并發(fā)的問題。
另外,LoRa基站能夠與農(nóng)業(yè)云平臺服務(wù)器通過3G/4G/有線寬帶網(wǎng)絡(luò)建立通信鏈路[6],在此過程中采用標(biāo)準(zhǔn)TCP/IP連接。
根據(jù)本系統(tǒng)總體設(shè)計可知,硬件部分包括終端節(jié)點和LoRa基站。對于終端節(jié)點,雖然其所實現(xiàn)功能并不復(fù)雜,但考慮其低功耗需求,故終端節(jié)點選取TI公司出產(chǎn)的MSP430F149單片機(jī)為主控芯片[7]。MSP430F149是一款超低功耗、具備一定處理能力的16位單片機(jī),它具有16位精簡指令集MCU,5種省電模式,輕易滿足終端節(jié)點硬件設(shè)計的需求。然而相對LoRa基站而言,除了低功耗特性外還需要滿足一定復(fù)雜計算能力的芯片,因此LoRa基站選取ST公司生產(chǎn)的STM32F103為主控芯片[8],STM32F103是一款A(yù)RMCortex-M3內(nèi)核的32位微處理器,它具有最高72 MHz的工作頻率,內(nèi)置高速存儲器,有睡眠、停機(jī)、待機(jī)三種低功耗模式,達(dá)到了LoRa基站硬件設(shè)計的需求。另外LoRa芯片選取Semtech公司推出的SX1278擴(kuò)頻技術(shù)芯片,其主要特性包括:傳輸距離遠(yuǎn)、抗干擾能力強(qiáng)、低功耗等。以下分別介紹終端節(jié)點與LoRa基站的硬件設(shè)計。
3.1.1 終端節(jié)點設(shè)計
本系統(tǒng)的終端節(jié)點設(shè)計分為采集節(jié)點和控制節(jié)點兩部分組成。如圖2所示,其中采集節(jié)點由傳感設(shè)備、電源模塊、主控芯片、SX1278射頻模塊四部分組成,主要負(fù)責(zé)把采集到大棚環(huán)境的數(shù)據(jù)信息上傳給LoRa基站。而控制節(jié)點由控制設(shè)備[9]、電源模塊、主控芯片、SX1278射頻模塊四部分組成,主要任務(wù)是響應(yīng)LoRa基站下發(fā)的控制指令來控制大棚內(nèi)的設(shè)備。

圖2 終端節(jié)點示意圖
3.1.2 LoRa基站設(shè)計
本系統(tǒng)LoRa基站設(shè)計如圖3所示。LoRa基站由網(wǎng)絡(luò)接口模塊、電源模塊、主控芯片、SX1278射頻模塊四部分組成。LoRa基站的任務(wù),一方面是通過LoRa無線網(wǎng)絡(luò)接收采集數(shù)據(jù),然后由3G/4G/有線寬帶網(wǎng)絡(luò)傳輸至農(nóng)業(yè)云平臺服務(wù)器,另一方面,LoRa基站響應(yīng)農(nóng)業(yè)云平臺服務(wù)器下發(fā)的控制指令,通過LoRa無線網(wǎng)絡(luò)發(fā)送到控制節(jié)點執(zhí)行。

圖3 LoRa基站示意圖
為保證各層間正常通信,本系統(tǒng)在軟件部分對終端節(jié)點、LoRa基站和通信協(xié)議三個部分進(jìn)行了有效設(shè)計。對終端節(jié)點的設(shè)計實現(xiàn)與LoRa基站數(shù)據(jù)的交互,對LoRa基站的設(shè)計實現(xiàn)與農(nóng)業(yè)云平臺服務(wù)器的傳輸,對通信協(xié)議的設(shè)計保證傳輸數(shù)據(jù)的準(zhǔn)確性與可靠性。以下分別介紹。
3.2.1 終端節(jié)點軟件設(shè)計
終端節(jié)點上電后,首先進(jìn)行系統(tǒng)初始化,然后開啟串口接收函數(shù)使能,并且喚醒LoRa模塊,使之進(jìn)入正常工作狀態(tài)。當(dāng)接收標(biāo)志位尚未完成時,則繼續(xù)接收數(shù)據(jù);當(dāng)接收標(biāo)志位完成后,則進(jìn)行數(shù)據(jù)幀類型的判斷。若數(shù)據(jù)來自采集節(jié)點,將數(shù)據(jù)打包添加幀頭、幀尾、數(shù)據(jù)長度以及兩位CRC校驗位,然后通過LoRa無線網(wǎng)絡(luò)發(fā)送給LoRa基站;若數(shù)據(jù)來自LoRa基站,則通過LoRa無線網(wǎng)絡(luò)把數(shù)據(jù)幀發(fā)送給控制節(jié)點,此時先對數(shù)據(jù)幀進(jìn)行解幀,將幀頭、幀尾、數(shù)據(jù)長度、兩位CRC校驗位拆除,然后通過串口把數(shù)據(jù)發(fā)送給控制模塊,最終根據(jù)數(shù)據(jù)位內(nèi)容進(jìn)行相對應(yīng)的操作。通過對終端節(jié)點軟件設(shè)計的完成,從而實現(xiàn)了采集數(shù)據(jù)的上傳與控制命令的下達(dá)。

圖4 終端節(jié)點流程圖
3.2.2 LoRa基站軟件設(shè)計
LoRa基站上電后,首先進(jìn)行系統(tǒng)初始化,然后開啟串口接收函數(shù)使能。當(dāng)接收標(biāo)志位尚未完成時,則繼續(xù)接收數(shù)據(jù);當(dāng)接收標(biāo)志位完成后,進(jìn)行數(shù)據(jù)幀類型的判斷。若數(shù)據(jù)來自農(nóng)業(yè)云平臺服務(wù)器,將數(shù)據(jù)打包添加幀頭、幀尾、數(shù)據(jù)長度以及兩位CRC校驗位,然后通過LoRa無線網(wǎng)絡(luò)發(fā)送給終端節(jié)點;若數(shù)據(jù)來自終端節(jié)點,則LoRa基站把接收到的數(shù)據(jù)幀先進(jìn)行拆包,將幀頭、幀尾、數(shù)據(jù)長度、兩位CRC校驗位拆除,然后通過3G/4G/有線寬帶網(wǎng)絡(luò)接口模塊發(fā)送至農(nóng)業(yè)云平臺服務(wù)器,農(nóng)業(yè)云平臺服務(wù)器接收到數(shù)據(jù)后,實時地推送給用戶訪問平臺。通過對LoRa基站軟件設(shè)計的完成,從而實現(xiàn)了與農(nóng)業(yè)云平臺服務(wù)器數(shù)據(jù)的上傳與終端節(jié)點的下達(dá)。

圖5 LoRa基站流程圖
3.2.3 通信協(xié)議的設(shè)計
為了實現(xiàn)本系統(tǒng)中數(shù)據(jù)交互的準(zhǔn)確性與可靠性,根據(jù)系統(tǒng)需求和種類設(shè)計出六種類型的數(shù)據(jù)幀,分別為上行數(shù)據(jù)幀、上行信息幀、上行應(yīng)答幀、下行控制指令幀、下行配置指令幀、下行應(yīng)答幀。其中,上行數(shù)據(jù)幀表示下層采集節(jié)點向上層農(nóng)業(yè)云平臺服務(wù)器發(fā)送大棚內(nèi)環(huán)境數(shù)據(jù)信息,上行信息幀表示下層采集節(jié)點所現(xiàn)有的工作狀態(tài),從而上層農(nóng)業(yè)云平臺服務(wù)器可以得知下層采集節(jié)點是否在工作中。上行應(yīng)答幀表示下層控制節(jié)點執(zhí)行情況的反饋幀,從而上層農(nóng)業(yè)云平臺服務(wù)器可以知道下層控制節(jié)點是否在執(zhí)行。下行控制指令幀表示上層農(nóng)業(yè)云平臺服務(wù)器給下層控制節(jié)點向下發(fā)送的控制指令,下行配置指令幀表示上層農(nóng)業(yè)云平臺服務(wù)器配置下層采集節(jié)點數(shù)據(jù)采集的頻率和控制節(jié)點開關(guān)控制的狀態(tài),下行應(yīng)答幀表示上層農(nóng)業(yè)云平臺服務(wù)器收到下層采集節(jié)點發(fā)送數(shù)據(jù)的反饋幀,從而下層采集節(jié)點可以得知是否把數(shù)據(jù)傳給了上層農(nóng)業(yè)云平臺服務(wù)器。通過對這6種類型數(shù)據(jù)幀的制定,從而達(dá)到了整個系統(tǒng)中數(shù)據(jù)傳輸?shù)目煽啃浴?zhǔn)確性。

表1 通用格式數(shù)據(jù)幀
另外,通信協(xié)議根據(jù)性能需求設(shè)計出一條通用格式數(shù)據(jù)幀。幀內(nèi)每一個字段的數(shù)據(jù)由十六進(jìn)制方式存儲。它包含幀頭、數(shù)據(jù)長度、數(shù)據(jù)區(qū)、校驗位和幀尾5個部分。其中數(shù)據(jù)區(qū)由類型、站點ID、大棚ID、設(shè)備類型、MAC地址、有效數(shù)據(jù)這6個部分構(gòu)成。如表1所示,幀頭表示數(shù)據(jù)幀的開始字節(jié),由0xEE表示,占用一個字節(jié)。數(shù)據(jù)長度表示數(shù)據(jù)區(qū)的長度,由十六進(jìn)制表示,占用一個字節(jié)。類型表示數(shù)據(jù)幀的類型,由十六進(jìn)制表示,占用一個字節(jié)。站點ID表示一個站點的編號,由十六進(jìn)制表示,占用兩個字節(jié)。大棚ID表示一個大棚的編號,由十六進(jìn)制表示,占用兩個字節(jié)。設(shè)備類型表示大棚內(nèi)的設(shè)備類型編號,由十六進(jìn)制表示,占用兩個字節(jié)。MAC地址表示對應(yīng)LoRa節(jié)點的MAC地址,由十六進(jìn)制表示,占用八個字節(jié)。有效數(shù)據(jù)表示真正的數(shù)據(jù),由十六進(jìn)制表示,長度不定。校驗位表示從數(shù)據(jù)長度域開始到數(shù)據(jù)區(qū)結(jié)束,由十六進(jìn)制表示,占用兩個字節(jié)。幀尾表示數(shù)據(jù)幀的結(jié)束,由0xFF表示,占用一個字節(jié)。通過對通用格式數(shù)據(jù)幀的制定,從而更加具體地實現(xiàn)了6種不同類型的數(shù)據(jù)幀。
為驗證本智能農(nóng)業(yè)系統(tǒng)實現(xiàn)效果,可以從功能測試和性能測試兩方面展開。在功能測試方面,根據(jù)以上理論分析,可以基本實現(xiàn)系統(tǒng)模型。該系統(tǒng)包含光照傳感器、溫度傳感器、土壤濕度傳感器、二氧化碳傳感器等采集節(jié)點,與風(fēng)扇、燈、水泵等控制節(jié)點,然后在節(jié)點附近架設(shè)一個LoRa基站,最后搭建一個農(nóng)業(yè)云平臺服務(wù)器和用戶訪問平臺。它的具體實現(xiàn)是采集節(jié)點采集到大棚內(nèi)的環(huán)境數(shù)據(jù)信息,然后通過LoRa無線網(wǎng)絡(luò)發(fā)送給LoRa基站,之后LoRa基站通過4G網(wǎng)絡(luò)發(fā)送至農(nóng)業(yè)云平臺服務(wù)器,最后把得到的數(shù)據(jù)顯示在網(wǎng)頁或者手機(jī)app界面上,同時用戶通過瀏覽網(wǎng)頁或者手機(jī)app查看大棚內(nèi)的環(huán)境數(shù)據(jù)信息,并在其系統(tǒng)設(shè)置中設(shè)置各個傳感器的閾值,如果當(dāng)采集到的數(shù)據(jù)超過了該閾值,系統(tǒng)會發(fā)送相應(yīng)的報警信息通過短信的形式發(fā)送給用戶,用戶可以通過點擊頁面中的開關(guān)按鈕把數(shù)據(jù)發(fā)送至農(nóng)業(yè)云平臺服務(wù)器,再由4G網(wǎng)絡(luò)發(fā)送給LoRa基站,最后通過LoRa無線網(wǎng)絡(luò)發(fā)送至控制節(jié)點,從而達(dá)到了對控制設(shè)備的控制。
智能農(nóng)業(yè)系統(tǒng)網(wǎng)頁界面實現(xiàn)如圖6所示。實現(xiàn)內(nèi)容包括,用戶通過鼠標(biāo)點擊光照傳感器的圖標(biāo)時,頁面中顯示當(dāng)前傳感器數(shù)據(jù),如果光照傳感器的值過低時,則開啟燈光按鈕,隨之燈開;如果光照傳感器的值過高,則開啟遮陽簾按鈕,隨之遮陽簾打開。經(jīng)過對比實驗測試,發(fā)現(xiàn)基于LoRa的智能農(nóng)業(yè)系統(tǒng)相比ZigBee方案,抗干擾性更強(qiáng),組網(wǎng)更加便捷,傳輸數(shù)據(jù)更加穩(wěn)定,實用性更好,調(diào)試更加簡單,控制響應(yīng)的延時更短。

圖6 智能農(nóng)業(yè)系統(tǒng)網(wǎng)頁界面圖
在性能測試方面,為了驗證Lora網(wǎng)絡(luò)實用效果,以ZigBee網(wǎng)絡(luò)作為對比,在不同傳輸距離條件下測試兩種網(wǎng)絡(luò)的丟包率和誤碼率。測試距離分別為100 m、200 m、350 m、500 m、750 m、900 m、1050 m、1200 m、1350 m、1500 m、1800 m,連續(xù)收發(fā)10000個數(shù)據(jù)包,分別統(tǒng)計Lora網(wǎng)絡(luò)和Zigbee網(wǎng)絡(luò)相應(yīng)丟包率與誤碼率。實驗結(jié)果如表2、表3所示。
由表2、表3可知,隨著LoRa和ZigBee通信傳輸距離的增加,數(shù)據(jù)的丟包率和誤碼率逐漸增加。不同的是,使用LoRa網(wǎng)絡(luò)通信時,距離在1800 m時丟包率為10.01%,誤碼率為5.25%,依舊能夠進(jìn)行基本通信;而使用ZigBee網(wǎng)絡(luò)通信過程中,距離在500 m時丟包率為100%,誤碼率為100%,已經(jīng)不能進(jìn)行通信。
經(jīng)過功能實驗測試,LoRa技術(shù)組網(wǎng)便捷,可以實現(xiàn)預(yù)先需求;經(jīng)過性能測試驗證,LoRa技術(shù)與ZigBee相比,傳輸距離更遠(yuǎn),抗干擾性能更強(qiáng)。由此可知,LoRa技術(shù)在智能農(nóng)業(yè)大棚中更具實用性。

表2 LoRa測試結(jié)果

表3 ZigBee測試結(jié)果
本文旨在將LoRa技術(shù)應(yīng)用在智能農(nóng)業(yè)系統(tǒng)中。通過應(yīng)用LoRa無線網(wǎng)絡(luò)技術(shù)和3G/4G/有線寬帶網(wǎng)絡(luò)傳輸方式,實現(xiàn)農(nóng)業(yè)云平臺服務(wù)器與終端節(jié)點間通信,保證終端節(jié)點和LoRa基站能夠?qū)崟r有效的工作。文中對系統(tǒng)總體架構(gòu)設(shè)計、軟硬件設(shè)計以及通信協(xié)議等方面作出詳細(xì)的分析與研究。從功能測試與性能測試的結(jié)果表明,基于LoRa的智能農(nóng)業(yè)系統(tǒng)運行更加穩(wěn)定,組網(wǎng)更便捷,傳輸距離更遠(yuǎn),抗干擾性能更強(qiáng),而且成本與功耗低,應(yīng)用在智能農(nóng)業(yè)中有益于提高農(nóng)業(yè)效率與農(nóng)業(yè)產(chǎn)量,具有良好的應(yīng)用與推廣空間。