国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于NB-IoT的農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng)設(shè)計

2022-08-02 11:00孫志剛高萌萌王國濤
計算機(jī)測量與控制 2022年7期
關(guān)鍵詞:微控制器串口閾值

孫志剛,高萌萌,張 敏,曹 娜,王國濤,2

(1.黑龍江大學(xué) 電子工程學(xué)院,哈爾濱 150080;2.哈爾濱工業(yè)大學(xué) 電器與電子可靠性研究所,哈爾濱 150001;3.河南師范大學(xué) 電子與電氣工程學(xué)院,新鄉(xiāng) 453007)

0 引言

農(nóng)業(yè)是我國的主要產(chǎn)業(yè)之一,也是我國用水量最大的產(chǎn)業(yè)。由于傳統(tǒng)農(nóng)業(yè)灌溉水量測量的不準(zhǔn)確和不完善,導(dǎo)致缺水與浪費(fèi)水的現(xiàn)象在農(nóng)業(yè)用水,特別是田間灌溉中十分嚴(yán)重,全國農(nóng)業(yè)灌溉用水的平均利用率僅在40%左右[1]。針對以上問題,提高農(nóng)業(yè)用水利用率,最為快捷有效的方法就是結(jié)合水利信息化技術(shù),精確監(jiān)測用水量。即充分利用成熟的計算機(jī)信息技術(shù),來改善水利資源的應(yīng)用水平和共享程度,以此來提高水利水電建設(shè)的效益[2]。需要說明的是,在早期的農(nóng)田作業(yè)任務(wù)中,常采用人工現(xiàn)場作業(yè)的方式進(jìn)行作物灌溉,關(guān)于這方面的農(nóng)業(yè)機(jī)械化研究較為落后。進(jìn)入21世紀(jì),尤其是第三次計算機(jī)信息時代以來,許多發(fā)達(dá)國家基于新技術(shù)展開對農(nóng)業(yè)機(jī)械化的研究。在農(nóng)業(yè)自動化系統(tǒng)的研制中,大多數(shù)系統(tǒng)都是將農(nóng)田信息采集和節(jié)水灌溉控制分為獨(dú)立的兩個部分進(jìn)行設(shè)計,這在很大程度上造成了硬件資源的浪費(fèi)。

對于農(nóng)業(yè)機(jī)械化的研究,發(fā)達(dá)國家開展較早,并且已經(jīng)擁有相對十分完備的技術(shù)與理論體系。其中,在農(nóng)田信息的采集與處理上,大部分研制的系統(tǒng)是利用筆記本這類具體高集成度的手持電子設(shè)備完成的[3]。這種設(shè)計方案減少了在硬件拓展上的花費(fèi),并且實(shí)際處理速度快。缺點(diǎn)是它們在田間作業(yè)時使用不便,可持續(xù)使用時間短,可使用的外部接口數(shù)量有限,造價昂貴,很難應(yīng)用到實(shí)際農(nóng)業(yè)生產(chǎn)中。另一部分研制的系統(tǒng)是在單片機(jī)的基礎(chǔ)上設(shè)計的信息采集系統(tǒng)[4],這種設(shè)計方案相較于前者,具有配置靈活、拓展性強(qiáng)的特點(diǎn),但會帶來處理速度慢、存儲空間小的缺點(diǎn)。隨著無線通信技術(shù)的日益成熟與廣泛應(yīng)用,國內(nèi)外學(xué)者開始研究基于無線通信技術(shù),將電子設(shè)備或單片機(jī)采集到的農(nóng)田信息,快速發(fā)送到遠(yuǎn)程服務(wù)器。同時,將采集農(nóng)田信息的傳感器組成無線通信網(wǎng)絡(luò),使采集的農(nóng)田信息更加準(zhǔn)確、及時,這在很大程度上解決了原有系統(tǒng)存儲空間不足的問題。

中國農(nóng)田信息采集與智能水利檢測技術(shù)的研究仍然處在起步階段,信息化與智能化水平不高,難以滿足精準(zhǔn)農(nóng)業(yè)的需求。國內(nèi)學(xué)者在參考國外先進(jìn)成果的基礎(chǔ)上,積極探索開發(fā)符合我國農(nóng)業(yè)特點(diǎn)的產(chǎn)品。如文獻(xiàn)[5]以Arduino開發(fā)板和NB-IoT無線傳輸技術(shù)為核心技術(shù),設(shè)計了一種基于高度集成化、廣覆蓋、低功耗的棉田環(huán)境監(jiān)測監(jiān)測系統(tǒng),用戶使用網(wǎng)頁客戶端和手機(jī)APP可以實(shí)時觀看監(jiān)測數(shù)據(jù)。文獻(xiàn)[6]建立了一個基于物聯(lián)網(wǎng)技術(shù)的參數(shù)監(jiān)測數(shù)學(xué)模型,在此基礎(chǔ)上,構(gòu)建了一套溫室農(nóng)業(yè)種植環(huán)境監(jiān)控系統(tǒng)。文獻(xiàn)[7]設(shè)計了一套基于ZigBee節(jié)點(diǎn)通信的農(nóng)田土壤濕度監(jiān)測系統(tǒng)。具體的,通過在不同種植區(qū)域放置監(jiān)測節(jié)點(diǎn)來采集當(dāng)前的土壤濕度信息。所有監(jiān)測節(jié)點(diǎn)采集的土壤濕度信息均上傳至服務(wù)器,通過Web端顯示農(nóng)田的土壤濕度信息。文獻(xiàn)[8]建立了一個灌溉系統(tǒng)精準(zhǔn)控制模型,并在此基礎(chǔ)上,設(shè)計了一套集數(shù)據(jù)采集、數(shù)據(jù)通信、數(shù)據(jù)分析、數(shù)據(jù)存儲以及灌溉決策為一體的灌溉精準(zhǔn)控制系統(tǒng),具有較高的實(shí)用參考價值。

綜上所述,當(dāng)前針對農(nóng)業(yè)信息采集裝置或監(jiān)測系統(tǒng)的研究取得了一定的成果,但對于農(nóng)業(yè)水渠等場景水位自動監(jiān)測的研究較少,自動化程度和信息化水平還需要進(jìn)一步提升。本研究設(shè)計了一套基于NB-IoT的水渠水利智能監(jiān)測節(jié)點(diǎn)和管理系統(tǒng),系統(tǒng)包含監(jiān)測節(jié)點(diǎn)、NB-IoT通信模塊和遠(yuǎn)程服務(wù)器軟件三部分。監(jiān)測節(jié)點(diǎn)為整個系統(tǒng)的硬件設(shè)計部分,在農(nóng)業(yè)現(xiàn)場它被放置在所需監(jiān)測的農(nóng)業(yè)灌溉水渠邊上,用于采集水渠附近農(nóng)田的空氣溫度、空氣濕度、空氣壓強(qiáng)、土壤濕度,水渠的水位信息,以及當(dāng)前自身所在的經(jīng)緯度、海拔高度信息。上述參數(shù)信息經(jīng)NB-IoT通信模塊傳輸至遠(yuǎn)程服務(wù)器。遠(yuǎn)程服務(wù)器接收實(shí)時傳輸?shù)膮?shù)信息,一方面解析數(shù)據(jù)對應(yīng)顯示到監(jiān)測數(shù)據(jù)顯示模塊中,或通過調(diào)用地圖的方式對監(jiān)測節(jié)點(diǎn)進(jìn)行地圖定位;另一方面,接收的參數(shù)信息被保存至本地路徑下的TXT文件中,便于后續(xù)用戶的附加操作,如數(shù)據(jù)分析與歷史查詢等,并可進(jìn)一步繪制水渠監(jiān)測的趨勢圖等。

1 系統(tǒng)總體方案設(shè)計

本研究設(shè)計的農(nóng)業(yè)灌溉水渠監(jiān)測系統(tǒng)包括:監(jiān)測節(jié)點(diǎn)、NB-IoT通信模塊與遠(yuǎn)程服務(wù)器,涵蓋物聯(lián)網(wǎng)技術(shù)的感知層、傳輸層與應(yīng)用層[9]。監(jiān)測節(jié)點(diǎn)通過配備NB-IoT通信模塊可以與遠(yuǎn)程服務(wù)器建立雙向數(shù)據(jù)通信連接,系統(tǒng)組成架構(gòu)如圖1所示。

圖1 系統(tǒng)組成架構(gòu)圖

圖中所示,單個監(jiān)測節(jié)點(diǎn)通過NB-IoT通信模塊可以與遠(yuǎn)程服務(wù)器建立雙向數(shù)據(jù)通信連接,同樣的,布置在農(nóng)業(yè)水渠或水庫周圍的多個監(jiān)測節(jié)點(diǎn)通過各自配備NB-IoT通信模塊,可以與同一個遠(yuǎn)程服務(wù)器建立多個雙向數(shù)據(jù)通信連接,從而實(shí)現(xiàn)對區(qū)域范圍內(nèi)農(nóng)田信息和灌溉水量的監(jiān)測。其中,單個監(jiān)測節(jié)點(diǎn)在固定的時間點(diǎn)實(shí)時采集一次其所在位置的水位信息、空氣檢測信息、土壤檢測信息,以及自身的位置信息,通過NB-IoT通信模塊將采集的參數(shù)信息發(fā)送至遠(yuǎn)程服務(wù)器。這里的水位信息指的是監(jiān)測節(jié)點(diǎn)所在農(nóng)業(yè)水渠的水面高度,空氣檢測信息包括監(jiān)測節(jié)點(diǎn)所在農(nóng)田范圍內(nèi)的空氣濕度、空氣溫度和空氣壓強(qiáng),土壤檢測信息指的是監(jiān)測節(jié)點(diǎn)所在農(nóng)田范圍內(nèi)的土壤濕度,位置信息指的是單個監(jiān)測節(jié)點(diǎn)的經(jīng)緯度和海拔高度。同時,監(jiān)測節(jié)點(diǎn)具有自我檢測功能,在電源欠壓或NB-IoT通信模塊網(wǎng)絡(luò)異常等情況下,會發(fā)送相關(guān)的報警信息至遠(yuǎn)程服務(wù)器。需要說明的是,在圖1所示的系統(tǒng)架構(gòu)圖中,超聲波水位計由高精度超聲波測距傳感器與配套硬件設(shè)施組成,空氣檢測模塊由溫濕度傳感器、氣壓傳感器與配套硬件設(shè)施組成,土壤檢測模塊由土壤濕度傳感器與配套硬件設(shè)施組成,電源經(jīng)特殊保護(hù)后埋藏于土地中,太陽能板與避雷裝置裸露在外,其余硬件部分均放置于控制箱內(nèi)。

NB-IoT通信模塊作為監(jiān)測節(jié)點(diǎn)與遠(yuǎn)程服務(wù)器之間的通信媒介,一方面負(fù)責(zé)將監(jiān)測節(jié)點(diǎn)實(shí)時采集的參數(shù)信息及時準(zhǔn)確的發(fā)送至遠(yuǎn)程服務(wù)器。遠(yuǎn)程服務(wù)器接收監(jiān)測節(jié)點(diǎn)實(shí)時發(fā)送的信息,并解析其中的空氣溫度、空氣濕度、空氣壓強(qiáng)、土壤濕度、水面高度、經(jīng)緯度顯示到遠(yuǎn)程服務(wù)器軟件的監(jiān)測數(shù)據(jù)顯示模塊上,通過調(diào)用百度地圖可以顯示各個監(jiān)測節(jié)點(diǎn)的位置。在遠(yuǎn)程服務(wù)器軟件的界面上選擇不同的監(jiān)測節(jié)點(diǎn)編號,可以實(shí)時查看該監(jiān)測節(jié)點(diǎn)反饋的參數(shù)信息。各個監(jiān)測節(jié)點(diǎn)發(fā)送的參數(shù)信息能夠存儲至遠(yuǎn)程服務(wù)器本地路徑下的TXT文件中,用于后續(xù)數(shù)據(jù)分析和歷史查詢等處理。另一方面,可以在遠(yuǎn)程服務(wù)器上設(shè)置各參數(shù)信息的預(yù)警閾值,設(shè)定的閾值信息通過NB-IoT通信模塊反向傳輸至指定的監(jiān)測節(jié)點(diǎn),監(jiān)測節(jié)點(diǎn)保存閾值信息并在每次實(shí)時參數(shù)采集時進(jìn)行一次閾值判斷,當(dāng)判斷實(shí)時采集的某個參數(shù)信息達(dá)到設(shè)定的預(yù)警閾值后,監(jiān)測節(jié)點(diǎn)及時發(fā)送報警信息至遠(yuǎn)程服務(wù)器。

2 系統(tǒng)硬件設(shè)計

農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng)的硬件設(shè)計主要集中在監(jiān)測節(jié)點(diǎn)和NB-IoT通信模塊上,它們的設(shè)計效果影響整個系統(tǒng)運(yùn)行的高效性和可靠性。監(jiān)測節(jié)點(diǎn)的硬件設(shè)計包括3個部分,分別是:微控制器及其外圍電路、傳感器模塊與外接模塊。其中,一個監(jiān)測節(jié)點(diǎn)的硬件結(jié)構(gòu)如圖2所示。

圖2 監(jiān)測節(jié)點(diǎn)硬件結(jié)構(gòu)圖

微控制器及其外圍電路指以微控制器為核心的,附屬能夠保證其正常工作的構(gòu)成最小控制系統(tǒng)的外圍電路,包括A/D轉(zhuǎn)換電路、時鐘電路、復(fù)位電路和晶振電路等。圖中所示,本研究涉及的傳感器模塊包括氣壓傳感器、溫濕度傳感器、土壤濕度傳感、高精度超聲波測距模塊和北斗定位模塊。傳感器模塊與NB-IoT通信模塊采用串口通信方式與微控制器之間進(jìn)行數(shù)據(jù)傳輸。外接模塊包括電源模塊、太陽能板和避雷裝置。電源模塊給監(jiān)測節(jié)點(diǎn)和NB-IoT通信模塊提供5 V直流電源,監(jiān)測節(jié)點(diǎn)通過A/D轉(zhuǎn)換電路反向完成對電源模塊的電壓監(jiān)測。太陽能板與電源模塊直接連接,在硬件層面實(shí)現(xiàn)太陽能到電能的轉(zhuǎn)化,并及時對電源模塊進(jìn)行充電,保證監(jiān)測終端設(shè)備的續(xù)航能力。避雷裝置與微控制器、電源模塊直接連接,在硬件層面實(shí)現(xiàn)雷暴天氣對監(jiān)測節(jié)點(diǎn)的保護(hù)。監(jiān)測節(jié)點(diǎn)上電后,微控制器完成自身、傳感器模塊及NB-IoT通信模塊的初始化配置,隨后進(jìn)入休眠模式,NB-IoT通信模塊隨后進(jìn)入PSM(Power Saving Mode)模式,以此來降低硬件端的功耗。同樣出于節(jié)能的考慮,監(jiān)測節(jié)點(diǎn)被設(shè)置為在固定時間點(diǎn)啟動一次參數(shù)信息采集,并對應(yīng)完成一次參數(shù)信息的發(fā)送。需要說明的是,該固定時間點(diǎn)由微控制器解析北斗定位模塊返回的短報文中的UTC時間確定。

具體的,當(dāng)微控制器解析并判斷UTC時間到達(dá)設(shè)定的時間點(diǎn)時,微控制器退出休眠模式,開始控制傳感器模塊實(shí)時采集一次當(dāng)前所在位置的水位信息、空氣檢測信息、土壤檢測信息和位置信息。完成一次參數(shù)采集后,微控制器將采集的參數(shù)信息通過串口發(fā)送至NB-IoT通信模塊,并再次進(jìn)入休眠模式等待下一次UTC時間觸發(fā)。NB-IoT通信模塊在接收到發(fā)送的采集信息后,退出當(dāng)前的PSM模式,并通過AT指令將參數(shù)信息經(jīng)最近的通信基站發(fā)送至遠(yuǎn)程服務(wù)器。同樣的,在完成參數(shù)信息發(fā)送后,NB-IoT通信模塊再次進(jìn)入PSM模式。需要說明的是,處于PSM模式的NB-IoT通信模塊在接收到遠(yuǎn)程服務(wù)器發(fā)送的預(yù)警閾值設(shè)定信息后,會立刻退出當(dāng)前模式,待其通過串口將預(yù)警閾值設(shè)定信息發(fā)送至微控制器后,再次進(jìn)入PSM模式,此時微控制器開啟工作并進(jìn)行預(yù)警閾值的存儲。另外,微控制器在啟動工作時,除了實(shí)時采集一次上述的各類傳感器信息,還會通過自身的A/D電路獲取電源模塊的電壓信息,如果供電電壓偏低,會在發(fā)送給遠(yuǎn)程服務(wù)器的參數(shù)信息中添加報警信息。當(dāng)微控制器實(shí)時采集并判斷某個參數(shù)信息達(dá)到設(shè)定的預(yù)警閾值,或NB-IoT模塊當(dāng)前網(wǎng)絡(luò)異常狀態(tài)時,同樣會在發(fā)送給遠(yuǎn)程服務(wù)器的采集信息中添加報警信息。

2.1 微控制器電路設(shè)計

本研究中的微控制器選用STM32F103RCT6型號的芯片,其與供電模塊、晶振回路、復(fù)位電路等其他外圍電路形成最小控制系統(tǒng),電路原理如圖3所示。

圖3 微控制器的電路原理圖

在實(shí)際工作過程中,微控制器能夠達(dá)到的最高工作頻率為72 MHz,處理性能較好。它具有256 k字節(jié)的系統(tǒng)可編程Flash存儲器,以及48 k字節(jié)的RAM空間,能存儲大量的參數(shù)信息[10]。同時,它支持CAN、IIC、UART等多種通信方式,配備9個通信接口[11]。

本研究中,微控制器需要實(shí)現(xiàn)的功能包括:解析判斷北斗定位模塊返回的短報文中的UTC時間,觸發(fā)監(jiān)測節(jié)點(diǎn)啟動工作,控制傳感器模塊實(shí)時采集一次參數(shù)信息,通過串口將參數(shù)信息發(fā)送至NB-IoT通信模塊,接收并存儲NB-IoT通信模塊通過串口返回的預(yù)警閾值設(shè)定信息,判斷參數(shù)信息是否達(dá)到預(yù)警閾值,以及電壓和網(wǎng)絡(luò)是否異常,及時發(fā)送報警信息等。本研究要求微控制器在100 ms內(nèi)完成全部參數(shù)信息的采集,可以看出,選用該型號的微控制器完全滿足上述功能實(shí)現(xiàn)的性能要求。

2.2 北斗定位模塊電路設(shè)計

本研究的北斗定位模塊選用正點(diǎn)原子的S1216F8-BD型號的GPS/北斗雙模定位模塊,電路原理如圖4所示。該模塊具有167個通道,追蹤靈敏度高達(dá)-165 dBm,測量輸出頻率最高可達(dá)20 Hz[12]。微處理器可以通過串口對該模塊進(jìn)行各種參數(shù)設(shè)置,并可以將參數(shù)設(shè)置信息存儲在模塊內(nèi)部Flash中,避免了重復(fù)設(shè)置的問題。同時,該模塊保留IPX接口,接上GPS/北斗雙模有源天線后即可進(jìn)行定位,定位數(shù)據(jù)刷新速率快,冷啟動后約30秒可獲得當(dāng)前經(jīng)緯度信息[13]。在本研究中,微控制器及其外圍電路組成的最小控制系統(tǒng)的電平為5 V,而該模塊兼容3.3 V/5 V電平,可以與最小控制系統(tǒng)進(jìn)行快速連接。微控制器根據(jù)NMEA-0183協(xié)議,通過串口向該模塊發(fā)送命令,可以在500 ms內(nèi)快速獲得返回的短報文,從中可以解析得到需要的經(jīng)緯度、海拔高度和UTC時間。

圖4 北斗定位模塊的電路原理圖

2.3 NB-IoT通信模塊電路設(shè)計

NB-IoT通信模塊選用谷雨物聯(lián)網(wǎng)的基于移遠(yuǎn)NB模組BC95的NB最小系統(tǒng),電路原理如圖5所示。該模塊板載IPEX射頻天線座,5 V轉(zhuǎn)3.3 V的LDO穩(wěn)壓電源,MicroSIM卡座,ESD防護(hù)電路,可以與本研究的最小控制系統(tǒng)直接連接。該模塊采用了省電技術(shù),在PSM模式下,模塊的整體供電電流低至40 μA,其中BC95功耗5 μA,LDO穩(wěn)壓芯片靜態(tài)35 μA[14-15]。在本研究中,NB-IoT通信模塊借助串口實(shí)現(xiàn)數(shù)據(jù)的收發(fā),即通過串口接收來自微控制器發(fā)送的采集信息,通過可選擇的電信NB網(wǎng)絡(luò)將采集信息發(fā)到至遠(yuǎn)程服務(wù)器,并且接收來自遠(yuǎn)程服務(wù)器的預(yù)警閾值設(shè)定信息,再次通過串口轉(zhuǎn)發(fā)給微控制器保存。需要說明的是,為了保證數(shù)據(jù)傳輸?shù)男屎涂煽啃裕狙芯恳驨B-IoT通信模塊在200 ms內(nèi)完成參數(shù)信息的雙向傳輸,總丟包率控制在0.2%以內(nèi)。

圖5 NB-IoT通信模塊的電路原理圖

2.4 傳感器模塊選型設(shè)計

本研究中選擇用于實(shí)現(xiàn)具體功能的傳感器模塊均遵循低功耗與運(yùn)行穩(wěn)定的要求,其具體描述如下:

本研究選用US-100型號的高精度超聲波測距傳感器來采集農(nóng)業(yè)水渠的水位信息。該模塊可實(shí)現(xiàn)0~450 cm的無接觸測距功能,兼容2.4~5.5 V的電壓輸入,可以與最小控制系統(tǒng)直接連接。同時,該模塊在常溫條件下的測距精度為0.3 cm±1%。本研究對水位的測量范圍為0~300 cm,測量精度在0.5 cm以內(nèi)。由此看出,選用該模塊可以滿足上述參數(shù)要求。

本研究選用DHT-11型號的溫濕度傳感器來采集監(jiān)測節(jié)點(diǎn)所在農(nóng)田范圍內(nèi)的空氣溫度和空氣濕度。該模塊的溫度測量范圍為0~50℃,濕度測量范圍為20% RH~90% RH,模塊的電壓接入范圍為3.3~5.5 V,與最小控制系統(tǒng)的電壓輸出相匹配。該模塊在常溫條件下的溫度測量精度為±2 ℃,濕度測量精度為±5% RH。本研究對空氣溫度的測量范圍為0~40℃,對空氣濕度的測量范圍為20% RH~70% RH。由此看出,選用該模塊可以滿足上述參數(shù)要求。

本研究選用YL-69型號的土壤濕度傳感器來采集監(jiān)測節(jié)點(diǎn)所在農(nóng)田范圍內(nèi)的土壤濕度。該模塊可以接入3.3~5 V的電壓,與最小控制系統(tǒng)的電壓輸出相匹配。該模塊提供兩種濕度信息獲取方式,本研究采用其A0口輸出的模擬值,帶入具體的數(shù)學(xué)轉(zhuǎn)換公式,可以得出所需要的土壤濕度數(shù)值。本研究對土壤濕度的測量范圍為10% RH~80% RH,選用該模塊可以滿足上述參數(shù)要求。

3 系統(tǒng)軟件設(shè)計

農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng)的軟件設(shè)計主要包括監(jiān)測節(jié)點(diǎn)的軟件設(shè)計、NB-IoT通信模塊的軟件設(shè)計、遠(yuǎn)程服務(wù)器的軟件設(shè)計、協(xié)議構(gòu)建與解析、高精度水位測量算法五部分。

3.1 監(jiān)測節(jié)點(diǎn)軟件設(shè)計

監(jiān)測節(jié)點(diǎn)軟件設(shè)計主要包括主程序、節(jié)點(diǎn)服務(wù)程序、串口接收服務(wù)程序3個部分。其中,節(jié)點(diǎn)服務(wù)程序和串口接收服務(wù)程序?yàn)楝F(xiàn)有的配置程序,所以監(jiān)測節(jié)點(diǎn)軟件設(shè)計主要集中在主程序上,其實(shí)現(xiàn)流程如圖6所示。

圖6 監(jiān)測節(jié)點(diǎn)軟件實(shí)現(xiàn)流程圖

主程序啟動后,微控制器首先對附屬的外圍電路、NB-IoT通信模塊及傳感器模塊進(jìn)行初始化,初始化完成后微控制器進(jìn)入低功耗的休眠模式,NB-IoT通信模塊進(jìn)入PSM模式。在這期間,北斗定位模塊實(shí)時反饋短報文給微控制器,微控制器解析其中的UTC時間,判斷是否到達(dá)設(shè)定的時間節(jié)點(diǎn)。當(dāng)判斷到達(dá)設(shè)定的時間節(jié)點(diǎn)后,微控制器控制傳感器模塊采集一次當(dāng)前所在位置的水位信息、空氣檢測信息、土壤檢測信息和位置信息,并按照構(gòu)建的通信協(xié)議通過NB-IoT通信模塊將采集的參數(shù)信息發(fā)送至遠(yuǎn)程服務(wù)器。與此同時,微控制器對自身的電壓狀況及NB-IoT通信網(wǎng)絡(luò)狀況進(jìn)行一次檢測,在判斷電源欠壓或網(wǎng)絡(luò)異常時,在發(fā)送的參數(shù)信息中添加對應(yīng)的報警信息。微控制器通過NB-IoT通信模塊接收和保存遠(yuǎn)程服務(wù)器設(shè)定的預(yù)警閾值,并在每次參數(shù)信息采集時進(jìn)行判斷,當(dāng)判斷采集的參數(shù)信息高于設(shè)定的預(yù)警閾值時,同樣會在發(fā)送的參數(shù)信息值添加報警信息。

3.2 NB-IoT通信模塊軟件設(shè)計

在本設(shè)計中,NB-IoT通信模塊采用TCP/IP協(xié)議將監(jiān)測節(jié)點(diǎn)采集的參數(shù)信息發(fā)送至遠(yuǎn)程服務(wù)器,其中,NB-IoT注冊網(wǎng)絡(luò)連接、發(fā)起通信請求、參數(shù)信息發(fā)送、指令下發(fā)和設(shè)備注銷都是通過串口發(fā)送AT 指令進(jìn)行控制[16]。同時,為了提升監(jiān)測節(jié)點(diǎn)整體的運(yùn)行速度,減輕微控制器的負(fù)擔(dān),兩者之間的串口中斷采用直接存儲器訪問方式,具體的實(shí)現(xiàn)流程如圖7所示。

圖7 NB-IoT通信模塊軟件實(shí)現(xiàn)流程圖

NB-IoT通信模塊啟動后,NB最小系統(tǒng)進(jìn)行初始化,隨后進(jìn)入PSM模式。在此過程中,NB-IoT通信模塊判斷是否接收到監(jiān)測節(jié)點(diǎn)觸發(fā)的串口中斷,在串口中斷觸發(fā)后,表明監(jiān)測節(jié)點(diǎn)采集了一次當(dāng)前所在位置的水位信息、空氣檢測信息、土壤檢測信息和位置信息,這些參數(shù)信息可以通過串口發(fā)送至NB-IoT模塊。此時,需要向遠(yuǎn)程服務(wù)器發(fā)送Socket通信連接請求,在與遠(yuǎn)程服務(wù)器建立數(shù)據(jù)通信連接后,NB-IoT通信模塊將參數(shù)信息轉(zhuǎn)發(fā)至遠(yuǎn)程服務(wù)器,隨后關(guān)閉串口中斷,結(jié)束當(dāng)前參數(shù)信息的轉(zhuǎn)發(fā),再次進(jìn)入PSM模式。

3.3 遠(yuǎn)程服務(wù)器軟件設(shè)計

遠(yuǎn)程服務(wù)器軟件,也即運(yùn)行在遠(yuǎn)程服務(wù)器端的系統(tǒng)軟件,在文中統(tǒng)稱為遠(yuǎn)程服務(wù)器。遠(yuǎn)程服務(wù)器軟件采用客戶端/服務(wù)器(Client/Server,CS)模式進(jìn)行設(shè)計,在Visual Studio環(huán)境下采用C#語言進(jìn)行開發(fā)[17]。遠(yuǎn)程服務(wù)器軟件包括通信日志模塊、網(wǎng)絡(luò)參數(shù)配置模塊、監(jiān)測數(shù)據(jù)顯示模塊、閾值設(shè)定模塊、地圖定位模塊與按鈕模塊,其工作流程如圖8所示。

圖8 遠(yuǎn)程服務(wù)器軟件實(shí)現(xiàn)流程圖

遠(yuǎn)程服務(wù)器運(yùn)行后,開啟服務(wù)器監(jiān)聽,等待NB-IoT通信模塊發(fā)送通信連接請求。當(dāng)監(jiān)聽到NB-IoT通信模塊的通信連接請求后,建立數(shù)據(jù)通信連接,接收其發(fā)送的參數(shù)信息。一方面,遠(yuǎn)程服務(wù)器解析參數(shù)信息,將其解析并顯示在監(jiān)測數(shù)據(jù)顯示模塊,通過調(diào)用地圖定位模塊可以查看監(jiān)測節(jié)點(diǎn)的地圖位置。另一方面,遠(yuǎn)程服務(wù)器將參數(shù)信息保存至本地路徑下的TXT文件中。在參數(shù)信息解析的過程中,如果得到報警信息,遠(yuǎn)程服務(wù)器會及時彈出對話框進(jìn)行預(yù)警信息提示。在此過程中,用戶可以在閾值設(shè)定模塊輸入部分參數(shù)的預(yù)警閾值,在NB-IoT通信模塊與遠(yuǎn)程服務(wù)器建立通信連接后,遠(yuǎn)程服務(wù)器會反向向NB-IoT通信模塊反饋設(shè)定的預(yù)警閾值,最終傳輸至監(jiān)測節(jié)點(diǎn)進(jìn)行保存。

3.4 協(xié)議構(gòu)建與解析

協(xié)議構(gòu)建與解析部分包括NB-IoT數(shù)據(jù)通信協(xié)議的構(gòu)建與北斗短報文解析兩部分,前者用于將監(jiān)測節(jié)點(diǎn)定時采集的一次當(dāng)前所在位置的水位信息、空氣檢測信息、土壤檢測信息和位置信息,以及可能存在的報警信息,按照構(gòu)建的通信協(xié)議格式整合成一條參數(shù)信息,經(jīng)NB-IoT通信模塊發(fā)送至遠(yuǎn)程服務(wù)器。后者用于監(jiān)測節(jié)點(diǎn)解析北斗定位模塊返回的短報文,根據(jù)短報文信息解析格式得出需要的經(jīng)緯度、海拔高度和UTC時間等信息。

3.4.1 NB-IoT數(shù)據(jù)通信協(xié)議構(gòu)建

NB-IoT通信模塊與遠(yuǎn)程服務(wù)器建立數(shù)據(jù)通信連接后,雙方進(jìn)行雙向數(shù)據(jù)通信需要遵循設(shè)定的數(shù)據(jù)通信協(xié)議,該協(xié)議包括整合信息協(xié)議與閾值設(shè)定協(xié)議。前者是由監(jiān)測節(jié)點(diǎn)遵循,根據(jù)該協(xié)議整合采集的參數(shù)信息,經(jīng)NB-IoT通信模塊發(fā)送至遠(yuǎn)程服務(wù)器,遠(yuǎn)程服務(wù)器根據(jù)對應(yīng)的協(xié)議解析參數(shù)信息進(jìn)行顯示與存儲。后者是由遠(yuǎn)程服務(wù)器遵循,根據(jù)該協(xié)議將用戶設(shè)定的預(yù)警閾值經(jīng)NB-IoT通信模塊反饋至監(jiān)測節(jié)點(diǎn),監(jiān)測節(jié)點(diǎn)根據(jù)對應(yīng)的協(xié)議解析預(yù)警閾值進(jìn)行存儲和判斷。需要說明的是,兩種協(xié)議均采用“起始幀+幀間隔+數(shù)據(jù)幀”的設(shè)定形式,如表1所示。

表1 協(xié)議設(shè)定形式

整合信息協(xié)議的數(shù)據(jù)幀由各參數(shù)值與參數(shù)間隔組成,在本研究中,參數(shù)間隔與幀間隔選擇同樣的符號。數(shù)據(jù)幀的組成形式如表2所示,包括:土壤濕度、水面高度、空氣溫度、空氣濕度、空氣壓強(qiáng)、定位經(jīng)度、定位緯度、報警編號。一條整合信息數(shù)據(jù)如下:

*JSUT,54,66.60,23,44,1007,126.61393,45.70546,1

上述數(shù)據(jù)幀表示:土壤濕度為54% RH,水面高度為66.60 cm,空氣溫度為23℃,空氣濕度為44% RH,空氣壓強(qiáng)為1 007 hPa,定位經(jīng)度為126.613 93,定位緯度為45.705 46,報警編號為1。其中,不同報警編號對應(yīng)的具體報警信息如表2所示。

表2 報警編號與報警信息

閾值設(shè)定協(xié)議的數(shù)據(jù)幀由閾值編號、閾值數(shù)值與一個參數(shù)間隔組成,每個閾值編號對應(yīng)單個的參數(shù),閾值數(shù)值則是需要設(shè)定該參數(shù)的預(yù)警閾值的具體數(shù)值。一條閾值設(shè)定數(shù)據(jù)如下:

*HLJU1,35

上述數(shù)據(jù)幀表示:閾值編號為1的參數(shù)設(shè)定的預(yù)警閾值的具體數(shù)值為35。表3列出了閾值編號對應(yīng)的具體參數(shù)。

表3 閾值編號與對應(yīng)參數(shù)

3.4.2 北斗短報文解析

NMEA-0183協(xié)議是美國國家海洋電子協(xié)會指定的標(biāo)準(zhǔn)格式,目前已成為GPS/北斗導(dǎo)航設(shè)備統(tǒng)一的RTCM(Radio Technical Commission for Maritime services)標(biāo)準(zhǔn)協(xié)議。NMEA-0183協(xié)議采用ASCII碼來傳遞GPS/北斗定位信息,也稱為幀響應(yīng)信息。其中,NMEA-0183常用命令如表4所示。

表4 NMEA-0183常用命令

如表4所示,北斗定位信息即本文所提到短報文,本研究主要使用該命令獲取所需的經(jīng)緯度、海拔高度和UTC時間信息。在發(fā)送上述指令后得到的一條ASCII格式的響應(yīng)信息如下:

BDGGA,024941.00,3148.2499597,N,12033.0166797,E,1,16,0.6,57.0924,M,0.000,M,99,AAAA*55

對該短報文響應(yīng)信息的具體解析如表5所示。

表5 BDGGA報文響應(yīng)信息解析

4 系統(tǒng)測試與分析

本研究的農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng)已經(jīng)進(jìn)行了多次實(shí)際場景下的測試,測試均表明該系統(tǒng)運(yùn)行穩(wěn)定可靠,達(dá)到了的預(yù)期目的。圖9示出了監(jiān)測節(jié)點(diǎn)完成一次當(dāng)前所在位置的水位信息、空氣檢測信息、土壤檢測信息和位置信息的采集。具體的,當(dāng)前的土壤濕度為58% RH,水面距離超聲波測距傳感器23 cm,空氣溫度為22 ℃,空氣濕度為31% RH,空氣壓強(qiáng)為87 KPa,經(jīng)度為126.613 55 E,緯度為45.705 43 N(位于黑龍江大學(xué)校園內(nèi))。

圖9 監(jiān)測節(jié)點(diǎn)進(jìn)行一次參數(shù)采集

監(jiān)測節(jié)點(diǎn)在完成一次參數(shù)采集后,會將參數(shù)信息經(jīng)NB-IoT通信模塊遠(yuǎn)程發(fā)送至遠(yuǎn)程服務(wù)器。一方面,遠(yuǎn)程服務(wù)器解析接收到的參數(shù)信息,并在對應(yīng)的監(jiān)測數(shù)據(jù)顯示模塊內(nèi)進(jìn)行數(shù)據(jù)展示。此時若設(shè)定某些參數(shù)的預(yù)警閾值,當(dāng)監(jiān)測節(jié)點(diǎn)實(shí)時采集并判斷這些參數(shù)信息達(dá)到設(shè)定的預(yù)警閾值,會在發(fā)送給遠(yuǎn)程服務(wù)器的采集信息中添加報警信息。圖10示出了上述過程,即當(dāng)采集的水位信息超過預(yù)警閾值時,提示“水位線過高,請注意查看!”。

圖10 遠(yuǎn)程服務(wù)器解析顯示參數(shù)信息并進(jìn)行預(yù)警

點(diǎn)擊“地圖定位”按鈕,可以查看當(dāng)前監(jiān)測節(jié)點(diǎn)所在位置,如圖11所示,該位置與作者進(jìn)行測試的地點(diǎn)一致,位于黑龍江大學(xué)電子工程學(xué)院內(nèi)。

圖11 監(jiān)測節(jié)點(diǎn)的當(dāng)前位置

另一方面,遠(yuǎn)程服務(wù)器將接收到的參數(shù)信息存儲到本地路徑下的TXT文件中。圖12示出了幾次測試保存的TXT文件,圖13示出了某個TXT文件的存儲內(nèi)容。

圖12 本地路徑下存儲的TXT文件

圖13 TXT文件中存儲的參數(shù)信息

至此,本研究設(shè)計的農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng)的整體測試結(jié)束。從上述過程可以看出,系統(tǒng)設(shè)計的軟硬件部分均運(yùn)行穩(wěn)定,NB-IoT雙向數(shù)據(jù)通信正常,遠(yuǎn)程服務(wù)器能夠順利的完成參數(shù)信息的解析、顯示與存儲。并且當(dāng)設(shè)定預(yù)警閾值的參數(shù)采集信息過高時,遠(yuǎn)程服務(wù)器會及時進(jìn)行預(yù)警提示,所設(shè)計的功能均能正常使用。

5 結(jié)束語

本文設(shè)計并開發(fā)了一套基于NB-IoT的農(nóng)業(yè)灌溉水渠遠(yuǎn)程監(jiān)測系統(tǒng),解決了現(xiàn)有農(nóng)田信息采集與節(jié)水灌溉系統(tǒng)分開設(shè)計的弊端,將兩者有機(jī)的集合到了一起。具體的,本研究的農(nóng)業(yè)灌溉水渠監(jiān)測系統(tǒng)包括監(jiān)測節(jié)點(diǎn)、NB-IoT通信模塊和遠(yuǎn)程服務(wù)器三部分。其中,監(jiān)測節(jié)點(diǎn)采用基于SMT32F103RCT6型號的微控制器,控制傳感器模塊采集所在位置的農(nóng)田信息,包括空氣溫度、空氣濕度、空氣壓強(qiáng)、土壤濕度等,采集所在位置的灌溉水渠的水面高度,以及采集自身的定位信息。監(jiān)測節(jié)點(diǎn)在固定時間節(jié)點(diǎn)采集的上述參數(shù)信息,經(jīng)NB-IoT模塊發(fā)送至遠(yuǎn)程服務(wù)器。遠(yuǎn)程服務(wù)器接收單次采集的參數(shù)信息,一方面直接解析顯示到監(jiān)測數(shù)據(jù)顯示模塊,并通過調(diào)用地圖顯示節(jié)點(diǎn)的位置;另一方面將參數(shù)信息存儲至本地路徑下的TXT文件中,便于后續(xù)數(shù)據(jù)分析與歷史查詢等操作。用戶可以在遠(yuǎn)程服務(wù)器設(shè)置具體參數(shù)的預(yù)警閾值,監(jiān)測節(jié)點(diǎn)會在參數(shù)采集時及時進(jìn)行預(yù)警。為了提升系統(tǒng)的野外適應(yīng)能力,監(jiān)測節(jié)點(diǎn)配備了電源模塊、太陽能板和防雷裝置。同時,監(jiān)測節(jié)點(diǎn)與NB-IoT通信模塊只在固定的時間節(jié)點(diǎn)啟動,其余時間均處于休眠或PSM模式,確保電源的功耗最小,延長監(jiān)測節(jié)點(diǎn)與NB-IoT通信模塊的單次使用壽命。監(jiān)測節(jié)點(diǎn)在欠壓或網(wǎng)絡(luò)異常情況下具備“自救”能力,用戶接收其報警信息及獲取其地圖位置,即可及時進(jìn)行修理。本研究補(bǔ)充了農(nóng)業(yè)水渠等場景下水位自動監(jiān)測的研究,進(jìn)一步提升了我國水渠灌溉監(jiān)測的自動化程度和信息化水平,長時間的農(nóng)田信息與灌溉水渠數(shù)據(jù)的存儲也為智慧農(nóng)業(yè)、農(nóng)業(yè)大數(shù)據(jù)奠定了良好的基礎(chǔ),為后續(xù)建立一系列的智能決策系統(tǒng)提供了有利條件。

猜你喜歡
微控制器串口閾值
非平穩(wěn)聲信號下的小波變換去噪方法研究
土石壩壩體失穩(wěn)破壞降水閾值的確定方法
一種改進(jìn)小波閾值去噪法及其仿真
一種小波閾值函數(shù)構(gòu)建的圖像去噪算法研究
TASKING針對英飛凌第三代AURIX微控制器推出多核開發(fā)環(huán)境
MCS—51單片機(jī)中的多串口通訊技術(shù)的應(yīng)用
電磁導(dǎo)向智能車設(shè)計探討
全國計算機(jī)等級考試機(jī)房準(zhǔn)備工作探討
微機(jī)串口的測試診斷
基于MC9S08QG8低端微控制器的無線控制器設(shè)計