習(xí)昊 鄧航倫 秦明明 蔡兵
摘要:利用STM32、傳感器、無(wú)線通信和局域網(wǎng),以及遠(yuǎn)程服務(wù)器的搭建,設(shè)計(jì)出一套林業(yè)信息監(jiān)測(cè)系統(tǒng)。該系統(tǒng)可完成林區(qū)綜合信息采集和展示功能。通過(guò)該系統(tǒng),解決了林區(qū)氣象站信息采集不足等問(wèn)題。對(duì)于林區(qū)科研人員和護(hù)林員,該系統(tǒng)提供了有利的數(shù)據(jù),對(duì)掌握林區(qū)信息有重大現(xiàn)實(shí)意義。
關(guān)鍵詞:STM32;傳感器;LORA模塊;網(wǎng)絡(luò)模塊
中圖分類號(hào):TP393 ? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2019)15-0062-04
1 背景
根據(jù)資料顯示,我國(guó)森林覆蓋率僅為16.56%,隨著全球天氣的突變,以及人們對(duì)林業(yè)資源的亂砍濫伐,林業(yè)環(huán)境破壞嚴(yán)重,導(dǎo)致產(chǎn)量驟然降低。林區(qū)環(huán)境信息的有效獲取對(duì)林業(yè)生長(zhǎng)尤為重要,所以對(duì)林區(qū)進(jìn)行信息監(jiān)測(cè)是大勢(shì)所趨,有效的信息能大幅度減少林業(yè)資源損失,提高林業(yè)產(chǎn)量,維護(hù)林業(yè)發(fā)展的健康與穩(wěn)定。
本系統(tǒng)主要針對(duì)林業(yè)環(huán)境信息進(jìn)行監(jiān)測(cè),利用多種傳感器、無(wú)線模塊、局域網(wǎng),自主設(shè)計(jì)研發(fā)的一套關(guān)于林業(yè)信息監(jiān)控系統(tǒng),對(duì)林區(qū)環(huán)境信息的數(shù)據(jù)采集與展示,提供數(shù)據(jù)給護(hù)林員或農(nóng)林研究員,通過(guò)數(shù)據(jù)分析獲取林業(yè)生長(zhǎng)信息,減小森林資源損失,為科研提供研究數(shù)據(jù)。
2 系統(tǒng)總體設(shè)計(jì)
根據(jù)林區(qū)環(huán)境,結(jié)合林業(yè)生長(zhǎng)影響要素,本系統(tǒng)設(shè)計(jì)總圖如圖1所示。整個(gè)系統(tǒng)由上位機(jī)、服務(wù)器、下位機(jī)三個(gè)部分構(gòu)成。上位機(jī)包括手機(jī)APP和管理系統(tǒng),手機(jī)APP和管理系統(tǒng)能夠隨時(shí)隨地顯示系統(tǒng)監(jiān)測(cè)數(shù)據(jù),以及向用戶提醒數(shù)據(jù)是否異常,手機(jī)APP還具有病蟲害識(shí)別功能,用戶能夠通過(guò)手機(jī)拍照獲取照片,使用該功能識(shí)別出樹木患病與蟲害情況;服務(wù)器主要用于存儲(chǔ)下位機(jī)獲取的數(shù)據(jù),提供數(shù)據(jù)給上位機(jī),保存注冊(cè)本系統(tǒng)的用戶信息,是下位機(jī)與上位機(jī)連接的紐帶;下位機(jī)是以STM32為中心的硬件控制系統(tǒng),分為中心節(jié)點(diǎn)和終端節(jié)點(diǎn),中心節(jié)點(diǎn)用于連接服務(wù)器,與服務(wù)器進(jìn)行數(shù)據(jù)傳輸,終端節(jié)點(diǎn)用于讀取傳感器數(shù)據(jù)并將數(shù)據(jù)按規(guī)定格式回傳中心節(jié)點(diǎn)上傳服務(wù)器。通過(guò)廣域網(wǎng)與局域網(wǎng)的支撐,有線數(shù)據(jù)傳輸與無(wú)線數(shù)據(jù)傳輸?shù)慕Y(jié)合,本系統(tǒng)適合用于各大小林區(qū)林業(yè)信息與氣象信息監(jiān)測(cè)。
3 系統(tǒng)硬件電路設(shè)計(jì)
3.1 中心處理器 STM32F103RCT6
STM32F103RCT6是一種嵌入式-微控制器的集成電路(IC)。芯片內(nèi)部擁有2個(gè)基本定時(shí)器、4個(gè)通用定時(shí)器、2個(gè)高級(jí)定時(shí)器、2個(gè)DMA控制器(共12個(gè)通道)、3個(gè)SPI、2個(gè)IIC、5個(gè)串口、1個(gè)USB、1個(gè)CAN、3個(gè)12位ADC、1個(gè)12位DAC、1個(gè)SDIO接口及51個(gè)通用IO口。該芯片具有高性能、低功耗、低電壓等特性,同時(shí)具有高集成度和易于開(kāi)發(fā)的優(yōu)勢(shì)。
3.2 SX1278 LORA擴(kuò)頻無(wú)線模塊
SX1278LORA擴(kuò)頻無(wú)線模塊是安信可科技設(shè)計(jì)開(kāi)發(fā)的一款超長(zhǎng)距離擴(kuò)頻通信模塊。它可以作為任何配備有SPI接口的控制器的通信工具,與STM32F103RCT6完美兼容。SX1278具有超過(guò)-148dBm的高靈敏度,+20dBm的功率輸出,傳輸距離遠(yuǎn),可靠性高。通信參考距離10KM,具有自動(dòng)射頻信號(hào)檢測(cè)、CAD模式和超高速AFC。在本系統(tǒng)中主要解決了終端節(jié)點(diǎn)設(shè)備與中心節(jié)點(diǎn)設(shè)備的遠(yuǎn)距離數(shù)據(jù)通信問(wèn)題。
3.3 W5500以太網(wǎng)網(wǎng)絡(luò)模塊
W5500模塊是一款集成了全硬件TCP/IP協(xié)議棧的以太網(wǎng)模塊。它可以作為任何配備有SPI接口的控制器的通信工具,與STM32F103RCT6完美兼容。該模塊無(wú)須編寫以太網(wǎng)底層代碼實(shí)現(xiàn)TCP/IP協(xié)議棧、支持TCP、UDP、IPV4ICMP、ARP、IGMP以及PPPOE協(xié)議,支持10/100MBPs傳輸速率、休眠模式和網(wǎng)絡(luò)喚醒,通信速率高達(dá)8MHz,三種工作模式:客戶端、服務(wù)端和UDP,工作電壓:3.3V或5V。在本系統(tǒng)中完成了中心節(jié)點(diǎn)與服務(wù)器的數(shù)據(jù)傳輸功能。
3.4 傳感器電路設(shè)計(jì)
本系統(tǒng)主要針對(duì)林區(qū)林業(yè)信息的監(jiān)測(cè)與林業(yè)病蟲害的預(yù)防,為保證監(jiān)測(cè)的精準(zhǔn)度和可靠性,必須選擇適合野外長(zhǎng)期穩(wěn)定工作的傳感器。經(jīng)查閱大量有關(guān)林業(yè)生長(zhǎng)信息的文獻(xiàn)后發(fā)現(xiàn)影響林業(yè)生長(zhǎng)的要素主要為大氣溫度、大氣濕度、土壤水分、土壤PH、光照強(qiáng)度等,病蟲害預(yù)防主要對(duì)林葉進(jìn)行圖像處理。綜合考慮后選擇的傳感器為大氣溫濕度傳感器、土壤濕度傳感器、土壤PH傳感器、光電式總輻射傳感器。
1) YGC-QWS 大氣溫濕一體傳感器
YGC-QWS 大氣溫濕一體傳感器為485型傳感器,輸出信號(hào)為RS485,溫度量程:-40℃~80℃,濕度量程:0~100%RH,工作電壓:5V。
2) ZZ-S-GTH-A 485型土壤濕度傳感器
ZZ-S-GTH-A 485型土壤濕度傳感器,輸出信號(hào)為RS485,濕度量程:-45℃~115℃,工作電壓:12~24V。
3) ST-TPH-10 485型土壤PH傳感器
ST-TPH-10 485型土壤PH傳感器,輸出信號(hào)為RS485,PH量程:4~10PH,工作電壓:12~24V。
4)YGC-JYZ 光電式總輻射傳感器
YGC-JYZ 光電式總輻射傳感器,輸出信號(hào)為模擬電壓:0~2.5V,工作電壓:5V,計(jì)算公式為[E=V/2.5×1500](E為測(cè)量輻射值(W/m2),V為輸出電壓(V))。
上述傳感器多為485型傳感器,為了便于合理的控制各個(gè)傳感器工作,設(shè)計(jì)出RS485電路和開(kāi)關(guān)電路;485電路:STM32的串口1通過(guò)RS485電路與傳感器的A+、B-連接,控制傳感器工作;5V、12V開(kāi)關(guān)電路:由于傳感器工作電壓不同,同時(shí)也不需要實(shí)時(shí)監(jiān)測(cè)與上傳數(shù)據(jù),為了節(jié)省功耗設(shè)計(jì)出開(kāi)關(guān)電路便于定時(shí)控制電壓輸出進(jìn)而控制傳感器工作。
4 系統(tǒng)軟件設(shè)計(jì)
4.1 上位機(jī)軟件介紹
4.1.1 系統(tǒng)APP軟件工作流程
本系統(tǒng)APP,主要負(fù)責(zé)和服務(wù)器端通信。下位機(jī)利用單片機(jī)采集溫度,濕度,土壤PH值等環(huán)境因子并通過(guò)TCP scoket通信到云服務(wù)器端。云服務(wù)器端將數(shù)據(jù)存儲(chǔ)到數(shù)據(jù)庫(kù)中,當(dāng)APP登錄成功之后,啟動(dòng)Service服務(wù),APP和云服務(wù)器端建立了scoket通信。云服務(wù)器端每隔五分鐘向APP發(fā)送實(shí)時(shí)數(shù)據(jù),Service服務(wù)中的TCP客戶端接收數(shù)據(jù)通過(guò)廣播發(fā)送出去,在需要接收的Activity中創(chuàng)建廣播接收器,接收數(shù)據(jù)包解析后以不同控件的方式顯示在界面上;若用戶需要請(qǐng)求云服務(wù)端時(shí),Activity通過(guò)Intents向Service傳遞請(qǐng)求命令,Service響應(yīng)請(qǐng)求命令后發(fā)送到云服務(wù)器端的。界面的人機(jī)交互通過(guò)監(jiān)聽(tīng)事件實(shí)現(xiàn),當(dāng)監(jiān)聽(tīng)到地圖顯示事件或圖像識(shí)別事件觸發(fā)時(shí)調(diào)用對(duì)應(yīng)的API接口,然后將返回?cái)?shù)據(jù)展示在界面上。APP系統(tǒng)工作流程圖如下圖2所示:
4 .1.2 系統(tǒng)APP軟件設(shè)計(jì)
因?yàn)樾枰h(yuǎn)程展示監(jiān)控?cái)?shù)據(jù),所以必須有從網(wǎng)絡(luò)獲取數(shù)據(jù),鑒于直接和單片機(jī)等硬件電路板通信的諸多不便,系統(tǒng)設(shè)計(jì)時(shí)需要一個(gè)中間服務(wù)器承載數(shù)據(jù),作為數(shù)據(jù)的中繼。具體流程為通過(guò)單片機(jī)采集溫度、濕度、土壤P H值等數(shù)據(jù),封裝為指定格式數(shù)據(jù),上傳到中間服務(wù)器,APP從服務(wù)器獲取所需數(shù)據(jù),按指定格式解析,獲取溫度、濕度、土壤PH等值展示在界面。
軟件由5大部分組成,組成如下(智能云網(wǎng)關(guān)監(jiān)測(cè)系統(tǒng)APP系統(tǒng)框圖如下圖3所示):
1)用戶登錄、注冊(cè)管理
通過(guò)對(duì)SQLite數(shù)據(jù)庫(kù)的簡(jiǎn)單操作,實(shí)現(xiàn)用戶賬號(hào)的登錄、注冊(cè)。
2) Activity交互
在Service服務(wù)中保持TCPsocket的連接,接收數(shù)據(jù)包和發(fā)送數(shù)據(jù)包,然后通過(guò)在Service服務(wù)創(chuàng)建廣播,在Activity中創(chuàng)建廣播接收器實(shí)現(xiàn)數(shù)據(jù)從Service傳遞到Activity中。
3)TCP客戶端
設(shè)置IP地址和端口號(hào),然后建立與TCP服務(wù)器的連接,保證和服務(wù)器端正常的數(shù)據(jù)接收和發(fā)送。
4)監(jiān)測(cè)點(diǎn)信息展示
解析后的實(shí)時(shí)數(shù)據(jù)以進(jìn)度條的形式顯示,方便直觀;歷史數(shù)據(jù)以曲線圖的形式顯示;監(jiān)測(cè)點(diǎn)坐標(biāo)顯示以百度地圖展示。實(shí)時(shí)數(shù)據(jù)顯示如下圖5所示:
5)病蟲害識(shí)別
首先利用百度EasyDL定制化訓(xùn)練平臺(tái),創(chuàng)建訓(xùn)練集庫(kù),獲取API和SDK。然后手機(jī)拍照,調(diào)用API將圖片發(fā)送到百度云上進(jìn)行圖像識(shí)別,將圖片的識(shí)別結(jié)果返回到APP上顯示。
4.2 下位機(jī)軟件介紹
在本系統(tǒng)中,下位機(jī)分為兩個(gè)節(jié)點(diǎn):終端節(jié)點(diǎn)和中心節(jié)點(diǎn)。終端節(jié)點(diǎn)主要負(fù)責(zé)與各個(gè)傳感器通信,讀取與處理各個(gè)傳感器數(shù)據(jù),將數(shù)據(jù)通過(guò)LORA模塊傳回中心節(jié)點(diǎn);中心節(jié)點(diǎn)主要負(fù)責(zé)校驗(yàn)回傳數(shù)據(jù),將數(shù)據(jù)發(fā)送至云服務(wù)器存儲(chǔ),便于上位機(jī)調(diào)取數(shù)據(jù)。
終端節(jié)點(diǎn)軟件具體工作流程:系統(tǒng)上電,初始化完成,系統(tǒng)開(kāi)始工作;控制器STM32定時(shí)打開(kāi)開(kāi)關(guān)電路,傳感器上電開(kāi)始工作,通過(guò)RS485電路與傳感器通信,讀取傳感器返回?cái)?shù)據(jù),提取數(shù)據(jù)保存;LORA模塊定時(shí)將數(shù)據(jù)回傳給中心節(jié)點(diǎn);回傳數(shù)據(jù)完成后接收中心節(jié)點(diǎn)返回指令,判斷是否需要再次讀取與回傳數(shù)據(jù)。
中心節(jié)點(diǎn)軟件具體工作站流程:系統(tǒng)上電,初始化完成,系統(tǒng)開(kāi)始工作;控制器STM32接收終端節(jié)點(diǎn)回傳數(shù)據(jù),校驗(yàn)回傳數(shù)據(jù)是否正確;數(shù)據(jù)出錯(cuò)則發(fā)送命令給終端節(jié)點(diǎn)再次讀取與回傳數(shù)據(jù);數(shù)據(jù)正確則將數(shù)據(jù)通過(guò)W5500網(wǎng)絡(luò)模塊發(fā)送至云服務(wù)器存儲(chǔ),提供給上位機(jī)讀取調(diào)用。
下位機(jī)工作流程圖如下圖6所示:
5 結(jié)束語(yǔ)
本系統(tǒng)采用傳感器、ARM控制技術(shù)、無(wú)線傳輸技術(shù)以及遠(yuǎn)程服務(wù)器和系統(tǒng)管理軟件搭建,自主研發(fā)了一套林業(yè)信息可視化監(jiān)測(cè)系統(tǒng)。系統(tǒng)監(jiān)測(cè)信息包括大氣溫濕度、土壤濕度、土壤PH和光照強(qiáng)度,一定程度上涵蓋了林業(yè)生長(zhǎng)所需的影響要素。
通過(guò)本系統(tǒng)的監(jiān)測(cè)信息,可以了解到林區(qū)樹木所需的生長(zhǎng)因子變換情況,及時(shí)對(duì)林區(qū)環(huán)境進(jìn)行控制,農(nóng)林研究員可以根據(jù)本系統(tǒng)所提供的數(shù)據(jù)實(shí)時(shí)掌握林區(qū)樹木生長(zhǎng)信息、氣象信息等,為科研工作提供了有利幫助;護(hù)林員可以根據(jù)系統(tǒng)數(shù)據(jù)及時(shí)了解到樹木生長(zhǎng)狀況,預(yù)防病蟲害和天氣變化等自然災(zāi)害,減小林業(yè)損失,維護(hù)林業(yè)發(fā)展的健康與穩(wěn)定。
本系統(tǒng)有很強(qiáng)的實(shí)用性,致力廣泛應(yīng)用于林區(qū)林業(yè)信息與氣象監(jiān)測(cè)。
參考文獻(xiàn):
[1] 劉云莉. 面向智慧林業(yè)環(huán)境因子監(jiān)測(cè)系統(tǒng)的研究與設(shè)計(jì)[J]. 物聯(lián)網(wǎng)技術(shù), 2016, 6(4): 66-68.
[2] 于泓博, 賈煬, 王治良. 基于北斗和ZigBee的森林環(huán)境監(jiān)測(cè)系統(tǒng)研究[J]. 科技視界, 2018(31): 125-126.
[3] 李昊. 面向森林環(huán)境的動(dòng)態(tài)監(jiān)測(cè)及數(shù)據(jù)可視化分析研究[D]. 北京: 北京工業(yè)大學(xué), 2017.
[4] 顧垚江, 錢佳偉, 倪陳龍, 等. 基于移動(dòng)通信的森林安全監(jiān)測(cè)系統(tǒng)[J]. 測(cè)控技術(shù), 2017, 36(10): 20-23.
[5] 趙家剛, 李俊萩. C語(yǔ)言程序設(shè)計(jì)[M]. 成都: 西南交通大學(xué)出版社, 2010: 1-296.
[6] 萬(wàn)隆, 巴奉麗. 單片機(jī)原理及應(yīng)用技術(shù)[M]. 北京: 清華大學(xué)出版社, 2010: 1-380.
[7] 孫肖子, 張企民. 模擬電子電路及技術(shù)基礎(chǔ)[M]. 西安: 西安電子科技大學(xué)出版社, 2008: 1-390.
[8] 魯寧, 寇衛(wèi)利, 幸宏, 等. 數(shù)據(jù)庫(kù)原理與應(yīng)用[M]. 成都: 西南交通大學(xué)出版社, 2010: 1-291.
[9] 甘玲, 張璞. 解析JAVA程序設(shè)計(jì)[M]. 北京: 清華大學(xué)出版社, 2006: 1-361.
[10] Android編程權(quán)威指南[M]. 王明發(fā), 譯. 北京: 人民郵電出版社, 2016: 147-152.
[11] 嚴(yán)蔚敏. 數(shù)據(jù)結(jié)構(gòu)(C語(yǔ)言版)[M]. 北京: 清華大學(xué)出版社, 2012: 47-65.
【通聯(lián)編輯:謝媛媛】