王文軍 王煒凱 聶何婷 吳佳 肖萍 潘穎
水文監(jiān)測(cè)系統(tǒng)在水資源利用和防汛抗洪中起著重要作用,水文監(jiān)測(cè)傳感器布置在各地,采集到的水文參數(shù)通過(guò)無(wú)線通信和互聯(lián)網(wǎng)傳輸?shù)娇刂浦行模阌跊Q策部門精準(zhǔn)有效管理。本文設(shè)計(jì)的多點(diǎn)數(shù)據(jù)監(jiān)測(cè)系統(tǒng),利用了低功耗的微控制器STM32L151,負(fù)責(zé)每個(gè)地域的溫濕度、水位、降雨量的采集,通過(guò)基于NB-IoT通信協(xié)議的BC20無(wú)線通信模塊發(fā)送至通信基站,再通過(guò)互聯(lián)網(wǎng)上傳至阿里云物聯(lián)網(wǎng)控制平臺(tái)顯示各地采集的水位數(shù)據(jù),實(shí)現(xiàn)了實(shí)時(shí)監(jiān)測(cè)水文參數(shù)的目的。
水文監(jiān)測(cè)系統(tǒng)可以長(zhǎng)期對(duì)河湖水渠的水位、水流、流速以及對(duì)當(dāng)?shù)販貪穸?、降雨量進(jìn)行采集,也可以對(duì)正在發(fā)生的汛情、災(zāi)情進(jìn)行實(shí)時(shí)動(dòng)態(tài)監(jiān)測(cè)?;贜B-IoT技術(shù)水文采集系統(tǒng),以STM32L151為微控制器的嵌入式系統(tǒng)對(duì)海量數(shù)據(jù)的采集,最終將采集的數(shù)據(jù)通過(guò)NB-IoT無(wú)線通信模塊傳送到阿里云物聯(lián)網(wǎng)平臺(tái),在屏幕上實(shí)時(shí)查看網(wǎng)頁(yè)顯示的各地監(jiān)測(cè)點(diǎn)水文監(jiān)測(cè)參數(shù),可以準(zhǔn)確判斷河流、湖泊、水庫(kù)、河渠等設(shè)施水文狀況,為決策層及時(shí)提供實(shí)時(shí)、有效的數(shù)據(jù),深入掌握水源變化情況,為政府及時(shí)預(yù)警暴雨、山洪造成潰堤等災(zāi)害,避免群眾生命財(cái)產(chǎn)損失等方面決策提供強(qiáng)有力的措施有著重大意義。
一、系統(tǒng)總體設(shè)計(jì)方案
基于NB-IoT通信技術(shù)、以STM32L151為控制核心的水文監(jiān)測(cè)要實(shí)現(xiàn)的主要功能是要通過(guò)降雨量傳感器、水位傳感器、溫濕度傳感器實(shí)時(shí)準(zhǔn)確采集降雨量以及監(jiān)測(cè)河流、溝渠、湖面的水位變化,采集當(dāng)?shù)氐臏囟葷穸鹊葦?shù)據(jù),該系統(tǒng)可以根據(jù)不同需求增加風(fēng)速、氣壓等傳感器采集相應(yīng)數(shù)據(jù)。這些水文類傳感器布置在適當(dāng)位置,STM32L151為控制核心的嵌入式系統(tǒng)不斷查詢接收的水文數(shù)據(jù),經(jīng)過(guò)處理,通過(guò)采用了NB-IoT技術(shù)的BC20模塊將數(shù)據(jù)不斷發(fā)送到5G基站,基站接收數(shù)據(jù)并通過(guò)互聯(lián)網(wǎng)傳輸?shù)桨⒗镌莆锫?lián)網(wǎng)平臺(tái)顯示數(shù)據(jù)。平臺(tái)不斷刷新數(shù)據(jù)最終形成趨勢(shì)圖,完成監(jiān)測(cè)數(shù)據(jù)的采集。整個(gè)電路控制核心采用意法半導(dǎo)體公司的STM32L151集成塊,水文類傳感器采用了SHT10溫濕度傳感器、光電紅外線雨量傳感器以及雷達(dá)水位傳感器,無(wú)線通信采用了模塊化設(shè)計(jì)的BC20模塊[1]。
本設(shè)計(jì)中水文數(shù)據(jù)采集點(diǎn)可以分布于全省各地以及布置了NB-IoT地區(qū),作為試驗(yàn),本設(shè)計(jì)的監(jiān)測(cè)系統(tǒng)布置在峽江、靖安、南昌三地,每個(gè)監(jiān)測(cè)系統(tǒng)都由STM32L151作為核心控制器與水文類傳感器構(gòu)成,負(fù)責(zé)采集水位、降雨量、溫濕度數(shù)據(jù),然后各地采集的數(shù)據(jù)通過(guò)NB-IoT通信網(wǎng)絡(luò)傳輸?shù)交ヂ?lián)網(wǎng),數(shù)據(jù)匯聚到阿里云,在物聯(lián)網(wǎng)控制臺(tái)中顯示采集數(shù)據(jù)。
二、系統(tǒng)硬件設(shè)計(jì)
監(jiān)測(cè)系統(tǒng)以微控器STM32L151為控制核心,配置了水文類傳感器模塊作為數(shù)據(jù)采集端,結(jié)合無(wú)線通信模塊、電源模塊共同組成水文數(shù)據(jù)監(jiān)測(cè)系統(tǒng)硬件部分。傳感器模塊采用了溫度、濕度、水位、降雨量傳感器模塊,在微控制器協(xié)調(diào)下整體運(yùn)行構(gòu)成了水文監(jiān)測(cè)系統(tǒng),每個(gè)各采集點(diǎn)都使用相同的硬件[2]。
(一)微控制器系統(tǒng)
監(jiān)控系統(tǒng)的控制器采用了STM32L151,該微控制器是STM32超低功耗系列產(chǎn)品。STM32系列的是法意半導(dǎo)體公司利用了ARM公司核心設(shè)計(jì)的高性能微控制器,采用該芯片可以保障水文監(jiān)測(cè)系統(tǒng)低功耗長(zhǎng)期工作。
設(shè)計(jì)中要用到STM32中的串口UART2,與BC20無(wú)線通信模塊的RX、TX連接。數(shù)據(jù)采集接口方面,降雨量傳感器用到了GPIO口的PB5,它以中斷方式接收由降雨量傳感器傳輸來(lái)的脈沖信號(hào)。溫濕度傳感器用了GPIO中的PB8接口。水位傳感器用了GPIO中的接口PB4。具體接口說(shuō)明如表1中所示。
整個(gè)監(jiān)測(cè)系統(tǒng)由4節(jié)鋰電池供電,電壓在14.8-16.8V之間,通過(guò)降壓模塊給各功能模塊供電,其中給微控制器模塊(含BC20通信模塊)采用了+3.3V電壓,一體化溫濕度傳感器供電為+5V,降雨量傳感器和雷達(dá)水位傳感器模塊供電范圍較寬,在設(shè)計(jì)中使用了+12V。
(二)水位傳感器
河道、河湖、水渠的水位有很多方法測(cè)量,其中利用超聲波測(cè)距原理是應(yīng)用比較廣泛的方法。工作原理是通過(guò)超聲波發(fā)射到再接收的時(shí)間來(lái)計(jì)算出發(fā)射點(diǎn)到發(fā)射面之間的距離。本設(shè)計(jì)采用了A12雷達(dá)傳感器,測(cè)量輸出接口采用了PWM脈沖輸出模式,由STM32L151的PB4發(fā)出一個(gè)不少于10us以上高電平脈沖觸發(fā)信號(hào)給傳感器模塊,傳感器模塊開(kāi)始工作,發(fā)出8個(gè)40kHz周期電平并檢測(cè)回波。當(dāng)檢測(cè)到有反射信號(hào)時(shí),模塊的輸出引腳就輸出高電平直到?jīng)]有反射信號(hào)變?yōu)榈碗娖綖橹?。STM32L151從接收到模塊傳來(lái)的高電平開(kāi)始計(jì)時(shí)直到低電平計(jì)時(shí)結(jié)束,這個(gè)脈沖寬度與所測(cè)的距離成正比。因此,時(shí)間乘以超聲波在空氣中傳播的速度就可以得到水面與發(fā)射點(diǎn)的距離,進(jìn)而推算出當(dāng)前水位[3]。
(三)降雨量傳感器
常見(jiàn)的降雨量傳感器主要有機(jī)械翻斗式、壓電式雨量傳感器以及紅外線式等雨量傳感器等。翻斗式使用比較廣泛,但是也存在著體積大,安裝不方便的缺點(diǎn),故本設(shè)計(jì)采用了光學(xué)即紅外感應(yīng)式雨量傳感器。它采用光學(xué)感應(yīng)原理測(cè)量降雨量,體積更小、更靈敏可靠,更智能,易維護(hù)。這種傳感器工作原理是依靠發(fā)光二極管發(fā)出的光經(jīng)過(guò)透鏡系統(tǒng)調(diào)整后,成平行光狀態(tài)照射到玻璃上;當(dāng)玻璃干燥時(shí)、光線將發(fā)生全反射,并經(jīng)過(guò)透鏡系統(tǒng)成平行光狀態(tài)被接收器件接收,輸出最大值100%;當(dāng)傳感器玻璃上有雨水、雨滴時(shí),由于玻璃表面的折射率受水的影響而發(fā)生了改變,完全的全反射現(xiàn)象不復(fù)存在,只有沒(méi)有受到表面水滴影響的地方才能發(fā)生部分反射,這時(shí)紅外接收管收到信號(hào)就是一部分了,通過(guò)發(fā)生全反射與部分發(fā)射的百分率比值能夠確定出降雨量大小。
實(shí)際設(shè)計(jì)中降雨量傳感器輸出脈沖信號(hào),一個(gè)脈沖對(duì)應(yīng)了0.1mm的降雨量,將輸出信號(hào)接入到微控制器中的PB4中,控制系統(tǒng)計(jì)算出脈沖數(shù)即可得到降雨量了。
(四)溫濕度傳感器
一體化溫濕度傳感器是一種常見(jiàn)的傳感器,能夠方便地測(cè)量出溫度和濕度量。本設(shè)計(jì)采用了精度較高的溫濕度傳感器SHT10,該傳感器將傳感元件和信號(hào)處理電路集成在一塊微型電路板上,數(shù)字通信引腳僅僅一個(gè)就可以完成命令傳輸和數(shù)據(jù)傳輸?shù)墓δ?,體積和功耗小,測(cè)量快速、精度適中,應(yīng)用于當(dāng)?shù)氐臏囟群蜐穸戎档臏y(cè)量方便可靠,本設(shè)計(jì)中只利用了STM32L151的PB8連接到STH10的輸入輸出總線上完成溫度和濕度的同時(shí)測(cè)量。CD079D0D-BA75-4BE1-A69E-368CA3B19AB7
(五)BC20通信模塊
BC20是移遠(yuǎn)公司開(kāi)發(fā)的一款高性能的NB-IoT和GNSS引擎的無(wú)線通信模塊,它采用了低功耗技術(shù),其中GSM部分內(nèi)嵌了TCP/UDP、HTTP、MQTT等數(shù)據(jù)傳輸協(xié)議,內(nèi)嵌了AT命令方便軟件開(kāi)發(fā)。通過(guò)NB-IoT無(wú)線電通信協(xié)議,BC20模塊可與網(wǎng)絡(luò)運(yùn)營(yíng)商的基礎(chǔ)設(shè)備建立通信,支持三大運(yùn)營(yíng)商,能滿足所有M2M領(lǐng)域的應(yīng)用需求,包括水文數(shù)據(jù)采集監(jiān)測(cè)應(yīng)用。設(shè)計(jì)中BC20模塊的通信接口與STM32L151的串口連接,STM32L151采集的數(shù)據(jù)通過(guò)串口傳給BC20,該模塊通過(guò)無(wú)線通信基站將數(shù)據(jù)發(fā)送遠(yuǎn)端,再通過(guò)互聯(lián)網(wǎng)發(fā)送至阿里云。
三、軟件設(shè)計(jì)
(一)采集端軟件設(shè)計(jì)
軟件編程中首先要對(duì)各個(gè)不同的傳感器進(jìn)行初始化,在代碼中設(shè)置好監(jiān)測(cè)系統(tǒng)中設(shè)備和產(chǎn)品的密鑰,然后編制MQTT通信協(xié)議,實(shí)現(xiàn)與阿里云的鏈接,溫濕度、水位、降雨量傳感器采集到數(shù)據(jù)送到STM32L151中,經(jīng)過(guò)控制器處理后通過(guò)USART2將數(shù)據(jù)傳給BC20,由BC20發(fā)送給NB-IoT基站。軟件流程圖如圖1所示。
圖1 監(jiān)測(cè)系統(tǒng)軟件流程
(二)物聯(lián)網(wǎng)界面設(shè)計(jì)
監(jiān)控系統(tǒng)的數(shù)據(jù)顯示終端沒(méi)有專門開(kāi)發(fā)上位機(jī)或者網(wǎng)頁(yè),而是利用了阿里云物聯(lián)網(wǎng)平臺(tái)。該平臺(tái)給客戶提供了一站式的設(shè)備接入、設(shè)備管理、監(jiān)控運(yùn)維、數(shù)據(jù)流轉(zhuǎn)、數(shù)據(jù)存儲(chǔ)等服務(wù)。本設(shè)計(jì)利用了阿里云物聯(lián)網(wǎng)免費(fèi)平臺(tái)。阿里云物聯(lián)網(wǎng)通信協(xié)議采用MQTT協(xié)議,下位機(jī)軟件中編寫通信協(xié)議軟件,阿里云平臺(tái)接收到協(xié)議數(shù)據(jù)包,解析數(shù)據(jù)后在相應(yīng)的設(shè)備中顯示采集的數(shù)據(jù)[4]。
設(shè)計(jì)中關(guān)鍵是新建水文監(jiān)測(cè)系統(tǒng)作為物聯(lián)網(wǎng)中的產(chǎn)品,在產(chǎn)品中新增數(shù)據(jù)采集設(shè)備并給布置在不同地區(qū)的采集點(diǎn)編號(hào),物聯(lián)網(wǎng)平臺(tái)將自動(dòng)生成產(chǎn)品以及設(shè)備的編號(hào)和密鑰,將產(chǎn)品編號(hào)和密鑰添加到監(jiān)測(cè)系統(tǒng)下位機(jī)的軟件中,運(yùn)行后,下位機(jī)不斷發(fā)送數(shù)據(jù)包,阿里云接收到數(shù)據(jù)并解析,實(shí)現(xiàn)監(jiān)測(cè)系統(tǒng)與阿里云物聯(lián)網(wǎng)通信。而后,監(jiān)測(cè)系統(tǒng)采集的數(shù)據(jù)不斷通過(guò)BC20發(fā)送到基站,再傳輸?shù)交ヂ?lián)網(wǎng)中,最終在阿里云的“物模型數(shù)據(jù)”中實(shí)時(shí)顯示出各地傳輸過(guò)來(lái)的水文監(jiān)測(cè)數(shù)據(jù)。
四、實(shí)驗(yàn)測(cè)試
由于資金及研究條件等限制,設(shè)計(jì)制作的水文監(jiān)測(cè)系統(tǒng)每個(gè)地區(qū)只使用了三組傳感器,分別監(jiān)測(cè)溫濕度、水位和降雨量,在省內(nèi)的峽江、靖安、南昌地區(qū)布置了三個(gè)監(jiān)測(cè)點(diǎn)進(jìn)行觀察和研究。
將各地布置點(diǎn)的監(jiān)測(cè)系統(tǒng)連接電源運(yùn)行,在南昌地區(qū)通過(guò)阿里云物聯(lián)網(wǎng)平臺(tái)觀察數(shù)據(jù)傳輸情況。三個(gè)地點(diǎn)監(jiān)測(cè)系統(tǒng)的3種傳感器分別傳輸了溫度、濕度、水位、降雨量共12類數(shù)據(jù),顯示器能夠?qū)崟r(shí)顯示各地的數(shù)據(jù)并根據(jù)設(shè)置刷新數(shù)據(jù),長(zhǎng)時(shí)間接收的數(shù)據(jù)可以形成圖表和表格便于觀察。表2是傳輸顯示的數(shù)據(jù),其中降雨量是一段時(shí)間累計(jì)的結(jié)果,其他數(shù)據(jù)均為實(shí)時(shí)采集的數(shù)據(jù)。
五、總結(jié)
本設(shè)計(jì)是基于NB-IoT的水文監(jiān)測(cè)系統(tǒng),采用了模塊化NB-IoT技術(shù)的BC20無(wú)線通信模塊,運(yùn)用了低功耗嵌入式微控制器STM32L151,采用了穩(wěn)定可靠、性價(jià)比高的體積小巧的一體化溫濕度傳感器、安裝使用方便的光學(xué)雨量傳感器以及超聲波傳感器組成水文數(shù)據(jù)采集系統(tǒng),結(jié)合阿里云物聯(lián)網(wǎng)平臺(tái)顯示數(shù)據(jù),構(gòu)成了多地多點(diǎn)、低成本的水文監(jiān)測(cè)系統(tǒng)。實(shí)驗(yàn)表明,該系統(tǒng)價(jià)格低廉,傳輸穩(wěn)定、可靠、實(shí)時(shí),實(shí)現(xiàn)多點(diǎn)水文數(shù)據(jù)的監(jiān)測(cè)功能。
參考文獻(xiàn):
[1]楊英,高嘉暉,潘明毅,等.基于NB-IoT的漂浮式污水監(jiān)控器設(shè)計(jì)[J].水利信息化,2020(4):49-54,72.
[2]張?chǎng)?,許曉平.基于STM32的花園遠(yuǎn)程智能灌溉監(jiān)控系統(tǒng)[J].信息技術(shù),2020(8):89-92,97.
[3]梅鹍.水文監(jiān)測(cè)設(shè)備在城市內(nèi)澇預(yù)警中的應(yīng)用[J].湖南水利水電,2018(6):83-85.
[4]袁園.基于NB-IoT技術(shù)的智慧水利系統(tǒng)[J].電子技術(shù)與軟件工程,2019(1):252.
基金項(xiàng)目:江西省教育廳科技課題(編號(hào):GJJ206004)。
作者簡(jiǎn)介:王文軍(1967-),男,碩士研究生,教授,研究方向:電子信息。王煒凱(1996-),男,技術(shù)員,研究方向:軟件工程。聶何婷(1991-),女,高職講師,研究方向:物聯(lián)網(wǎng)應(yīng)用技術(shù)。吳佳(1985-),女,高職講師,研究方向:物聯(lián)網(wǎng)應(yīng)用技術(shù)。肖萍(1985-),女,助教,研究方向:物聯(lián)網(wǎng)應(yīng)用技術(shù)。潘穎(1990-),女,高職講師,研究方向:職業(yè)教育。CD079D0D-BA75-4BE1-A69E-368CA3B19AB7