鄭貴林 汪體成
摘要:為了實現(xiàn)對溫室農業(yè)環(huán)境參數(shù)信息的遠程獲取,同時針對ZigBee、Wi-Fi等無線技術存在通信距離短、抗干擾能力弱、網絡拓撲復雜等缺點,提出一種基于無線低功耗局域網(LoRa)的無線溫室環(huán)境智能監(jiān)控系統(tǒng)。系統(tǒng)由傳感器子節(jié)點和匯聚節(jié)點組成。傳感器節(jié)點由2節(jié)18650鋰電池供電,選用互聯(lián)型芯片微處理機控制單元(MCU) STM32F107作為主控芯片,選用SX1278作為LoRa射頻模塊,通過星型網絡連接匯聚節(jié)點。匯聚節(jié)點下行通過LoRa射頻模塊連接傳感器節(jié)點,上行通過4G(指第4代移動通信技術)網絡連接服務器,同時設計有SD卡(secure digital memory card,簡稱安全數(shù)碼卡)存儲備份數(shù)據(jù)。試驗驗證表明,該系統(tǒng)具有安裝便捷、通信距離遠、抗干擾能力強、維護簡單等特點,具有很好的應用前景。
關鍵詞:農業(yè)監(jiān)測;溫室;LoRa技術;傳感器;智能監(jiān)控系統(tǒng)
中圖分類號: S126;TP274+.2? 文獻標志碼: A? 文章編號:1002-1302(2019)10-0216-03
溫室又稱暖房,通過維持室內的光照、溫度、濕度、二氧化碳含量等,可以為培養(yǎng)的植物創(chuàng)造一個良好的生長環(huán)境,以達到反季節(jié)種植、增加產量等效果。近年來,我國設施園藝得到了快速發(fā)展,截至2012年,我國玻璃溫室面積接近 9 000 hm2,占世界總面積的22.5%[1]。隨著科學技術的發(fā)展,傳感器技術、自動控制技術、網絡通信技術被逐步應用于農業(yè)畜牧業(yè)中,促進了溫室智能化管理技術的發(fā)展[2-3]。實現(xiàn)對溫室內環(huán)境參數(shù)的實時精準測控,可以為作物提供最佳的生長環(huán)境,還能提高生產效率,降低管理成本。
韓慧設計了基于RS485總線的溫室環(huán)境監(jiān)測系統(tǒng)[4],李世紅等設計了基于控制器局域網絡(CAN)總線和GPRS(通用分組無線服務技術)的溫室大棚監(jiān)控系統(tǒng)[5];付煥森等設計了基于PLC(可編程邏輯控制器)和組態(tài)技術的現(xiàn)代農業(yè)溫室控制系統(tǒng)[6]。上述系統(tǒng)均需要使用通信線連接傳感器,存在成本高、安裝維護復雜等缺點。陳高鋒等設計了基于STM32和ZigBee的小型溫室環(huán)境控制系統(tǒng)[7],ZigBee網絡拓撲復雜,由于ZigBee技術的通信頻率高,信號衰減快,以及同一頻段Wi-Fi、藍牙信號的干擾,導致ZigBee傳輸距離短,抗干擾能力弱[8]。馬增煒等設計了基于Wi-Fi的智能溫室監(jiān)控系統(tǒng)[9],Wi-Fi通信技術適合用于傳輸圖片、視頻等大流量數(shù)據(jù),存在傳輸距離有限、功耗高等缺點。針對RS485、CAN、PLC等總線技術以及ZigBee、Wi-Fi等無線技術在溫室環(huán)境監(jiān)控系統(tǒng)應用中存在的各種缺點,本研究設計了基于無線低功耗局域網(LoRa)無線技術的溫室環(huán)境智能監(jiān)控系統(tǒng),該系統(tǒng)由傳感器節(jié)點和匯聚節(jié)點組成,傳感器節(jié)點采集溫室內光照、溫度、濕度、二氧化碳含量等信息,通過LoRa網絡上傳數(shù)據(jù)到匯聚節(jié)點,匯聚節(jié)點通過4G網絡上傳數(shù)據(jù)到服務器。系統(tǒng)兼顧了傳輸距離和節(jié)點功耗,安裝便捷,維護方便,具有很好的應用前景。
1 LoRa介紹
近年來,隨著物聯(lián)網技術的興起,為了滿足越來越多遠距離物聯(lián)網設備的接入需求,出現(xiàn)了一種低功耗廣域物聯(lián)網(low power wide area network,簡稱LPWAN)接入技術。該技術采用星型網絡覆蓋方式,具有傳輸距離遠、運行功耗低、運維成本低等特點,適合只有少量數(shù)據(jù)需要傳輸?shù)膽脠鼍?。LoRa是LPWAN通信技術中的1種,它采用線性調頻擴頻技術,既降低了通信功耗,又增加了通信距離,改變了以往關于傳輸距離與功耗的折衷考慮方式。特有的擴頻技術也使得其通信容量很大,即使不同擴頻序列終端使用相同的頻率也不會相互干擾,可并行接收處理多個節(jié)點的數(shù)據(jù)。它采用前向接錯技術,在待傳輸數(shù)據(jù)序列中增加了冗余信息,在接收端計時糾正數(shù)據(jù)傳輸過程中注入錯誤碼元,采用信道沖突檢測機制,解決了節(jié)點數(shù)據(jù)并發(fā)丟包問題,極大地提高了網絡的魯棒性[10]。
2 系統(tǒng)架構
為了對溫室內環(huán)境數(shù)據(jù)進行遠程監(jiān)控和管理,搭建了如圖1所示的溫室環(huán)境智能監(jiān)控系統(tǒng)。系統(tǒng)包括傳感器子節(jié)點、匯聚節(jié)點、云端服務器、可視化軟件4個部分。傳感器子節(jié)點可通過RS485方式采集各個傳感器的信息,利用子節(jié)點與匯聚節(jié)點的LoRa芯片,實現(xiàn)節(jié)點與匯聚節(jié)點之間的組網。LoRa通信網絡采用星形的網絡拓撲結構,匯聚節(jié)點作為網絡協(xié)調器,承擔建立網絡的職責,各個傳感器子節(jié)點可以自主加入網絡,并將傳感器檢測到的溫度、濕度、CO2濃度、光照等信息通過LoRa網絡傳送至匯聚節(jié)點。
本系統(tǒng)使用的LoRa芯片為Semtech公司的SX1278模塊,匯聚節(jié)點設備通過SPI(串行外設接口)接入SX1278模塊,并設置模塊的相關參數(shù),傳感器子節(jié)點也用SPI接口接入SX1278模塊并設置成相同參數(shù),傳感器子節(jié)點和匯聚節(jié)點便可自動組成通信網絡。
匯聚節(jié)點通過對收到的數(shù)據(jù)進行解析、校驗,根據(jù)信息中的地址信息判斷是哪一個傳感器子節(jié)點的消息,并將收到的數(shù)據(jù)進行保存,同時通過匯聚節(jié)點的4G模塊將數(shù)據(jù)發(fā)送至云端服務器。云端服務器可對數(shù)據(jù)進行分析、保存、歸類等,用戶可通過計算機或手機打開可視化軟件就可查看檢測到的信息。
3 系統(tǒng)的硬件設計
本研究設計的溫室環(huán)境智能監(jiān)測系統(tǒng)的硬件設計主要包括匯聚節(jié)點設計、傳感器節(jié)點設計2個部分。其中匯聚節(jié)點用太陽能充電的蓄電池供電,傳感器子節(jié)點由2節(jié)可充電的18650鋰電池供電。
3.1 匯聚節(jié)點的設計
匯聚節(jié)點的硬件框架如圖2所示。匯聚節(jié)點是監(jiān)測系統(tǒng)中通信的關鍵,需要完成數(shù)據(jù)的接收、解析、校驗、存儲、發(fā)送5個環(huán)節(jié)??紤]到系統(tǒng)對通信的實時性要求較高,故采用以Cortex-M3為內核的STM32F107VC為控制器作為匯聚節(jié)點的主控芯片。STM32外接25 MHz晶振,經內部振蕩電路,時鐘頻率最高可達72 MHz,集成64 kB SRAM(靜態(tài)隨機存取存儲器)、256 kB ROM(只讀存儲器),具有3路串行SPI接口、3路USART(通用同步/異步串行接收/發(fā)送器)接口,支持USB接口功能。SX1278 LoRa模塊和SD卡(secure digital memory card,簡稱安全數(shù)碼)通過SPI方式與控制芯片連接,4G模塊通過USB接口與控制芯片連接。電源管控模塊將所連接的太陽能電池發(fā)出的電力穩(wěn)壓、存儲入配套的鋰電池中,系統(tǒng)的全部工作電源包括數(shù)據(jù)采集、傳感器、控制命令等單元均由該蓄電池提供。
3.2 LoRa通信接口設計
LoRa芯片選用SX1278模塊,SX1278是一款高性能、低功耗、遠距離的微功率無線模塊,是標準的4線SPI接口。系統(tǒng)主控芯片STM32F107自帶SPI接口,可與之直接連接,通過SPI方式對SX1278進行參數(shù)配置、數(shù)據(jù)發(fā)送和接收即可實現(xiàn)LoRa的通信功能。SX1278模塊與微處理機控制單元(MCU)需要共地連接,否則模塊將無法正常工作。模塊的RESET管腳用來復位模塊,低電平有效,高電平運行,只有在程序初始化時需要對模塊進行復位操作,之后需要保持復位管腳高電平,因此將復位管腳設計成上拉方式,可以保證模塊正常運行。SD卡與MCU(微控制單元)的連接方式與LoRa模塊的連接方式相同,LoRa的SPI接口設計如圖3所示。
3.3 4G接口設計
匯聚節(jié)點選用USR-G402TF作為與服務器的通信模塊。USR-G402TF支持移動/聯(lián)通2G、3G、4G和電信4G網絡高速接入,具有50 Mbps上行、150 Mbps下行的最大通信速率。通信端口為USB 2.0高速接口。STM32F107主控芯片是STM32互聯(lián)型產品OTG_FS控制器,可作為USB主機和從機雙重模式,支持USB高速模式。將USR-G402TF模塊的USB接口與MCU的USB接口連接,即可實現(xiàn)MCU與4G模塊之間的通信。
3.4 傳感器子節(jié)點的設計
傳感器子節(jié)點的硬件框架如圖4所示。傳感器子節(jié)點是系統(tǒng)檢測的基礎,需要對溫室內溫度、濕度、氣壓、CO2濃度、光照度等信息進行收集。傳感器與傳感器子模塊通過RS485方式進行通信,可隨時增加傳感器節(jié)點數(shù)。RS-485總線采用差分信號傳輸,抑制共模干擾的能力較強,控制芯片的串行通信接口直接與隔離性RS485收發(fā)器ADM2483相連,完成RS485電平與TTL(晶體管-晶體管邏輯集成電路)電平之間的轉換。ADM2483內部集成磁隔離技術,無需添加額外的隔離電路,且不需要外接限流電路,相比于傳統(tǒng)的RS485收發(fā)器+光耦隔離器的設計方式,極大地簡化了電路。傳感器子模塊使用電池供電,要求功耗低,所以選用低功耗處理器STM8S103為控制器作為主控芯片。STM8S103帶1路SPI接口,與匯聚節(jié)點一樣可以與SX1278 LoRa模塊直接連接。為了防止電池出現(xiàn)電量耗盡的情況,系統(tǒng)還添加了電池監(jiān)控電路,定期測量電池的電量,低電量時便提醒更換電池。
4 嵌入式軟件設計
嵌入式軟件設計的重點在于匯聚節(jié)點主控程序設計、LoRa無線通信程序設計、傳感器子節(jié)點控制程序設計等。嵌入式軟件利用KEIL 5.0作為開發(fā)環(huán)境,對于匯聚節(jié)點開發(fā)完成了串口驅動程序、4G模塊驅動程序、SD卡驅動程序、LoRa驅動程序,并移植了UCOSⅡ系統(tǒng),可同步運行多個處理任務。
4.1 匯聚節(jié)點的程序設計
匯聚節(jié)點執(zhí)行的任務主要包括數(shù)據(jù)采集任務和與云端服務器的通信任務。上電后,STM32對硬件需求進行初始化配置,包括串口USART初始化、SPI接口初始化、USB接口初始化等。然后利用UCOSⅡ系統(tǒng)創(chuàng)建了通信任務和數(shù)據(jù)采集任務。在通信任務中,匯聚節(jié)點與云端服務器之間的數(shù)據(jù)交互由4G通信完成,匯聚節(jié)點與傳感器子節(jié)點之間的數(shù)據(jù)交互由LoRa通信完成,調試時用USART完成。數(shù)據(jù)采集任務將系統(tǒng)設置為周期性采集,當?shù)竭_采集時間時,系統(tǒng)向傳感器子節(jié)點發(fā)送采集命令,并打開定時器,在一定時間段內若收到傳感器子節(jié)點上傳的數(shù)據(jù),則將數(shù)據(jù)分類保存到SD存儲卡中。數(shù)據(jù)采集任務流程如圖5所示。
4.2 LoRa通信部分的軟件設計
SX1278工作前先要復位,然后才能進入初始化。操作的主要步驟就是復位、初始化、發(fā)射、接收等。
(1)復位。這步是將RESET腳拉低大于100 μs,然后拉高大于5 ms,即可對其進行初始化。(2)初始化。主要通過SPI接口進行設置。首先將模塊設置為睡眠模式,接著設置為LoRa擴頻調制模式,再設置為空閑模式,然后依次設置各種參數(shù):端口映射、頻率、功率、擴頻因子、糾錯編碼率、CRC(循環(huán)冗余校驗碼)校驗、擴頻帶寬、同步頭、有效負載長度、接收超時時間、低數(shù)據(jù)率優(yōu)化等,如果需要接收功能,初始化后將模塊設置為連續(xù)接收模式。之后就可以進行發(fā)射與接收處理了。(3)發(fā)射。SX1278的模式切換必須先經過空閑模式,而后才能切換到相應的模式。所以在數(shù)據(jù)準備好之后,做發(fā)射操作之前,應先將模塊設置為空閑模式,然后再配置相應的操作,如跳頻設置、端口映射、有效負載長度、FIFO(first input first output,簡稱先進先出)基址等,然后以SPI突發(fā)訪問的方式往緩沖區(qū)中送數(shù)據(jù),送完后即可設置為發(fā)射模式,讓其自動發(fā)射。(4)接收。SX1278的接收可以通過判斷映射腳的狀態(tài)(默認為DIO0,有高電平出現(xiàn))或者通過查詢中斷標志寄存器0x12的第6位的狀態(tài)來決定是否接收到了數(shù)據(jù),本系統(tǒng)采用的是查詢中斷標志寄存器的方式。
4.3 傳感器子節(jié)點的程序設計
傳感器子節(jié)點的主要任務是接收匯聚節(jié)點的采集指令并對傳感器下發(fā)采集命令。傳感器節(jié)點利用485總線對傳感器數(shù)據(jù)進行采集。未收到采集命令時,子節(jié)點控制器與SX1278均處于待機狀態(tài)。當SX1278 LoRa模塊收到匯聚節(jié)點發(fā)送的采集命令時,LoRa模塊通過SPI的方式喚醒控制器,控制器解析指令后,打開傳感器電源并通過RS485總線給傳感器發(fā)送所感知數(shù)據(jù)的讀取指令,當控制器收到傳感器反饋的環(huán)境數(shù)據(jù)后,控制器關閉傳感器電源并將數(shù)據(jù)上傳至匯聚節(jié)點,然后控制器讀取電池電量信息,若電量已經過低,則向匯聚節(jié)點上報電量低警告,然后子節(jié)點系統(tǒng)再次進入待機狀態(tài),等待下一個數(shù)據(jù)讀取周期。
5 可視化軟件設計
筆者利用HTML 5開發(fā)了溫室環(huán)境智能監(jiān)測軟件,僅需要瀏覽器便可以打開,可跨平臺運行,可應用于多種終端設備,安裝和維護成本較低。使用者通過該軟件可實時在線查看溫室內的環(huán)境信息,觀察歷史變化曲線,軟件可以幫助用戶更好地使用數(shù)據(jù)和分析數(shù)據(jù),提高了系統(tǒng)的智能化水平。軟件界面如圖6所示。
6 應用與總結
將系統(tǒng)運行在某農場內,對其溫室環(huán)境進行監(jiān)測,整個農場僅需1臺匯聚節(jié)點設備即可實現(xiàn)整個農場溫室環(huán)境數(shù)據(jù)的實時上傳,可擴展性的傳感器子節(jié)點也為其帶來了便利,可隨時增加對傳感器的需求。通過將數(shù)據(jù)上傳至云端服務器,可以隨時隨地查看溫室內的環(huán)境信息,基于HTML 5的APP(應用程序)也使得軟件更新方便、快捷 跨平臺的應用對于開發(fā)人員減少了開發(fā)周期,便于及時修補漏洞,使得用戶的體驗度更好??傮w可見,本研究搭建的基于LoRa的溫室環(huán)境智能監(jiān)測系統(tǒng)有一定的應用價值,值得推廣。
參考文獻:
[1]李萍萍,王紀章. 溫室環(huán)境信息智能化管理研究進展[J]. 農業(yè)機械學報,2014,45(4):236-243.
[2]何 勇,聶鵬程,劉 飛. 農業(yè)物聯(lián)網與傳感儀器研究進展[J]. 農業(yè)機械學報,2013,44(10):216-226.
[3]李道亮. 物聯(lián)網與智慧農業(yè)[J]. 農業(yè)工程,2012,2(1):1-7.
[4]韓 慧. 基于RS-485總線的溫室環(huán)境監(jiān)測系統(tǒng)[J]. 儀表技術與傳感器,2012(3):60-61.
[5]李世紅,陳 斌,胡慧鋪. 基于CAN總線和GPRS的溫室大棚監(jiān)控系統(tǒng)的設計[J]. 浙江農業(yè)學報,2014,26(4):1090-1094.
[6]付煥森,趙振江. 基于PLC和組態(tài)技術現(xiàn)代農業(yè)溫室控制系統(tǒng)設計[J]. 農機化研究,2013(12):185-188.
[7]陳高鋒,熊 剛,龍建明,等. 基于STM32和ZigBee的小型溫室環(huán)境控制系統(tǒng)設計[J]. 江蘇農業(yè)科學,2017,45(8):191-195.
[8]趙太飛,陳倫斌,袁 麓,等. 基于LoRa的智能抄表系統(tǒng)設計與實現(xiàn)[J]. 計算機測量與控制,2016,24(9):298-301.
[9]馬增煒,馬錦儒,李亞敏. 基于WIFI的智能溫室監(jiān)控系統(tǒng)設計[J]. 農機化研究,2011,33(2):154-157,162.
[10]霍振龍. LoRa技術在礦井無線通信中的應用分析[J]. 工礦自動化,2017,43(10):34-37.