石明鈞 夏青
摘要:針對(duì)一些城市供水管網(wǎng)漏損率較高導(dǎo)致資源浪費(fèi)、經(jīng)濟(jì)虧損等問題,為了實(shí)現(xiàn)城市供水管網(wǎng)管理的智能化,使管理人員能夠能直觀、便捷地監(jiān)測(cè)供水管網(wǎng)運(yùn)行狀態(tài),文章提出了一套基于NB-IoT技術(shù)的城市供水管網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案。該方案使用STM32微控制器進(jìn)行數(shù)據(jù)的采集與預(yù)處理,通過NB-IoT技術(shù)將處理好的數(shù)據(jù)通過相應(yīng)的協(xié)議發(fā)送給云平臺(tái),使管理人員可以對(duì)供水管網(wǎng)的運(yùn)行狀態(tài)進(jìn)行實(shí)時(shí)監(jiān)測(cè)。測(cè)試結(jié)果表明,該方案實(shí)現(xiàn)了城市供水管網(wǎng)的運(yùn)行狀態(tài)監(jiān)測(cè),達(dá)到預(yù)期設(shè)計(jì)目標(biāo)。
關(guān)鍵詞:城市供水管網(wǎng);數(shù)據(jù)采集;STM32;NB-IoT;低功耗;云平臺(tái)
中圖分類號(hào):TP302? ? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1009-3044(2023)34-0101-04
開放科學(xué)(資源服務(wù))標(biāo)識(shí)碼(OSID)
0 引言
隨著城鎮(zhèn)化的快速發(fā)展和人口的快速增長(zhǎng),供水管網(wǎng)的覆蓋范圍不斷擴(kuò)大,新舊管網(wǎng)交錯(cuò)縱橫,形成了一個(gè)復(fù)雜的網(wǎng)絡(luò)系統(tǒng)[1]。由于城市供水管網(wǎng)一般埋于地下、鋪設(shè)距離遠(yuǎn)、地理位置復(fù)雜,且鋪設(shè)地區(qū)環(huán)境復(fù)雜,潮濕多變的地理環(huán)境、設(shè)備供電問題等原因極大限制了監(jiān)測(cè)系統(tǒng)的智能化,導(dǎo)致設(shè)備不能長(zhǎng)久穩(wěn)定工作,數(shù)據(jù)傳輸準(zhǔn)確性、穩(wěn)定性都受到了很大挑戰(zhàn),供水管網(wǎng)在出現(xiàn)漏損、爆管等異常時(shí)不能及時(shí)反饋到監(jiān)測(cè)系統(tǒng),延誤工作人員的修復(fù)時(shí)間,水資源被大量浪費(fèi)。
當(dāng)前,對(duì)供水管網(wǎng)的監(jiān)測(cè)主要采用有線監(jiān)測(cè)和無線監(jiān)測(cè)2 種方式[2]。隨著通信技術(shù)的迅速發(fā)展,無線監(jiān)測(cè)相對(duì)于有線監(jiān)測(cè)而言,具有布線簡(jiǎn)單、安裝維護(hù)成本低等優(yōu)點(diǎn),更加適合用于管網(wǎng)監(jiān)測(cè)。近幾年新推出的NB-IoT(Narrow Band Internet of Things) 技術(shù)具備傳輸距離遠(yuǎn)、功耗低、大連接、低成本等特點(diǎn)[3-4],適合運(yùn)用于對(duì)網(wǎng)絡(luò)連接和功耗有較高要求的智能設(shè)備。針對(duì)傳統(tǒng)監(jiān)測(cè)系統(tǒng)中傳輸距離短、續(xù)航時(shí)間短、擴(kuò)展與升級(jí)不便、覆蓋范圍小等諸多不足之處,本文利用了NB-IoT技術(shù)的獨(dú)特優(yōu)勢(shì)設(shè)計(jì)了一種城市供水管網(wǎng)監(jiān)測(cè)系統(tǒng),實(shí)現(xiàn)了城市供水管網(wǎng)相關(guān)數(shù)據(jù)的有效監(jiān)測(cè)和監(jiān)測(cè)節(jié)點(diǎn)的智能管理。
1 系統(tǒng)方案設(shè)計(jì)
系統(tǒng)由終端監(jiān)測(cè)節(jié)點(diǎn)、服務(wù)器端、云平臺(tái)、監(jiān)控平臺(tái)組成[5-6]。終端監(jiān)測(cè)節(jié)點(diǎn)由STM32微控制器為核心,通過壓力傳感器、流量傳感器、GPS定位模塊實(shí)現(xiàn)對(duì)供水管網(wǎng)信息采集,并通過NB-IoT無線通信模塊將終端監(jiān)測(cè)節(jié)點(diǎn)采集的數(shù)據(jù)發(fā)送給物聯(lián)網(wǎng)平臺(tái),實(shí)現(xiàn)對(duì)數(shù)據(jù)的存儲(chǔ)與處理。監(jiān)控平臺(tái)實(shí)現(xiàn)數(shù)據(jù)的可視化、設(shè)備管理、歷史數(shù)據(jù)查詢等功能,當(dāng)出現(xiàn)異常時(shí),監(jiān)控平臺(tái)會(huì)在用戶界面做出預(yù)警提示,并將報(bào)警信息存在數(shù)據(jù)庫中,方便日后查看。系統(tǒng)整體設(shè)計(jì)方案如圖1所示。
2 系統(tǒng)硬件設(shè)計(jì)
根據(jù)系統(tǒng)功能需求設(shè)計(jì),終端監(jiān)測(cè)節(jié)點(diǎn)硬件主要由主控制器MCU及外圍電路、NB-IoT通信模塊、壓力變送器、流量變送器、溫度傳感器、數(shù)據(jù)存儲(chǔ)模塊、電源相關(guān)電路等組成,主要負(fù)責(zé)數(shù)據(jù)采集、處理、存儲(chǔ)、傳輸?shù)裙ぷ鱗7-8]。監(jiān)測(cè)節(jié)點(diǎn)硬件總體結(jié)構(gòu)如圖2所示。
2.1 主控模塊
考慮到本系統(tǒng)對(duì)功耗、成本、穩(wěn)定性等方面有一定要求,本文最終選擇STM32L151C8T6作為終端監(jiān)測(cè)節(jié)點(diǎn)的主控制器,支持多種串口通信,在Low-power Run mode模式下功耗低至9μA。STM32L151C8T6最小系統(tǒng)設(shè)計(jì)如圖3所示。
2.2 傳感器模塊
本系統(tǒng)設(shè)計(jì)需要對(duì)供水管網(wǎng)的運(yùn)行狀態(tài)監(jiān)測(cè),監(jiān)測(cè)的主要參數(shù)為流量及壓力數(shù)據(jù),選取的傳感器為流量及壓力變送器,采用DC24V供電,輸出信號(hào)為4~20mA,設(shè)計(jì)電壓轉(zhuǎn)換電路將采集的模擬電流值轉(zhuǎn)換為模擬電壓值,通過微控制器的ADC通道進(jìn)行數(shù)據(jù)采集,其數(shù)據(jù)采集電路設(shè)計(jì)方法一致,如圖4所示。
2.3 NB-IOT通信模塊
本系統(tǒng)選擇移遠(yuǎn)BC20模塊作為系統(tǒng)的NB-IoT通信模組進(jìn)行電路設(shè)計(jì),電路原理圖如圖5所示。BC20是一款同時(shí)支持GNSS定位功能的高性能NB-IoT模塊,它能夠在低功耗運(yùn)行模式時(shí),實(shí)現(xiàn)工業(yè)級(jí)的接收靈敏度、高精確度以及快速定位,并能通過串口UART與STM32控制單元進(jìn)行數(shù)據(jù)交互,將數(shù)據(jù)上傳到云平臺(tái)[9-10]。
BC20模塊的SIM卡由模塊內(nèi)部的電源供電,支持1.8V外部SIM卡接入。在選擇好合適的SIM卡座后,需要完成與BC20模塊的電路連接。SIM卡外圍電路設(shè)計(jì)如圖6所示。
2.4 數(shù)據(jù)存儲(chǔ)模塊
為防檢測(cè)設(shè)備出現(xiàn)意外掉電等異常情況,系統(tǒng)終端監(jiān)測(cè)節(jié)點(diǎn)需要具備一定的數(shù)據(jù)存儲(chǔ)能力,將傳感器采集的數(shù)據(jù)、經(jīng)緯度信息等存儲(chǔ)到本地。由于STM32自帶的FLASH存儲(chǔ)空間十分有限,系統(tǒng)設(shè)計(jì)使用Micro SD卡來擴(kuò)展存儲(chǔ)空間進(jìn)行本地?cái)?shù)據(jù)存儲(chǔ),其具有小尺寸、大容量、低功耗、讀寫速度快等特點(diǎn),使用SPI接口與主控單元進(jìn)行通信,接口電路圖如圖7所示。
2.5 電源模塊
監(jiān)測(cè)設(shè)備需要廣泛分布,系統(tǒng)使用大容量鋰電池供電。STM32L151C8T6的工作電壓為3.3V,而鋰電池的標(biāo)準(zhǔn)工作電壓為3.7V,需要設(shè)計(jì)相應(yīng)的穩(wěn)壓電路以保證STM32正常工作。輸入輸出壓差不大,采用ME6211C33 LDO對(duì)輸入電壓降到3.3V后輸出給STM32,滿足硬件低功耗設(shè)計(jì)需求,電源穩(wěn)壓電路如圖8所示。
壓力變送器與流量變送器均需要DC24V供電,需要設(shè)計(jì)24V的升壓電路,本設(shè)計(jì)選用的BOOST芯片為XB61041,此芯片的電壓輸入范圍為1.8~6.0V,可調(diào)節(jié)輸出電壓高達(dá)28V,高達(dá)1MHz的開關(guān)頻率,支持低功耗應(yīng)用,靜態(tài)電流僅為28uA,符合硬件設(shè)計(jì)的功能需求,升壓電路如圖9所示。
3 系統(tǒng)軟件設(shè)計(jì)
監(jiān)測(cè)終端主程序流程圖如圖10所示。首先進(jìn)行系統(tǒng)初始化,然后執(zhí)行BC20模組的入網(wǎng)程序,入網(wǎng)成功則程序繼續(xù)向下執(zhí)行。判斷電源開關(guān)鍵是否按下,若開關(guān)鍵按下則執(zhí)行關(guān)閉電源程序,監(jiān)測(cè)終端關(guān)機(jī),程序結(jié)束。若按鍵沒有按下,定時(shí)時(shí)間到達(dá)則開始執(zhí)行各傳感器數(shù)據(jù)的采集程序,并判斷數(shù)據(jù)是否采集成功,若失敗返回相應(yīng)的錯(cuò)誤信息并重新進(jìn)入主函數(shù)循環(huán),若數(shù)據(jù)采集成功則通過BC20模組向云平臺(tái)發(fā)送處理后的數(shù)據(jù),同時(shí)判斷數(shù)據(jù)是否發(fā)送成功,發(fā)送成功則重新進(jìn)入主函數(shù)循環(huán),發(fā)送數(shù)據(jù)失敗則返回錯(cuò)誤信息。
BC20模塊集成了支持GPS、BeiDou的GNSS引擎,可以實(shí)現(xiàn)快速、準(zhǔn)確的定位。BC20模塊支持標(biāo)準(zhǔn)NMEA0183協(xié)議,其中包括多種通信消息格式,考慮到系統(tǒng)需求,采用最簡(jiǎn)定位信息RMC作為通信消息格式。定位信息采集流程圖如圖11所示。
系統(tǒng)設(shè)計(jì)中壓力、流量變送器所采集的信號(hào)皆為4~20mA信號(hào)模擬量,經(jīng)過一個(gè)150Ω產(chǎn)生模擬電壓信號(hào)并通過STM32L151C8T6的ADC通道進(jìn)行采集,其中壓力模擬電壓的輸入通道為19,流量模擬電壓的輸入通道為20。壓力、流量數(shù)據(jù)采集流程圖如圖12所示。
系統(tǒng)設(shè)計(jì)使用中國移動(dòng)開發(fā)的OneNET云平臺(tái),STM32主控單元將采集的數(shù)據(jù)處理后發(fā)送給BC20,BC20通過LwM2M協(xié)議與物聯(lián)網(wǎng)云平臺(tái)進(jìn)行數(shù)據(jù)通信。在LwM2M協(xié)議中,終端設(shè)備的屬性被抽象為對(duì)象以及資源,各類監(jiān)測(cè)數(shù)據(jù)都是其對(duì)象且擁有不同的Object ID,各對(duì)象下?lián)碛胁煌臄?shù)據(jù)資源,可以根據(jù)功能需求在資源列表中選擇合適的資源屬性。例如終端監(jiān)測(cè)節(jié)點(diǎn)采集的GNSS信息就是一個(gè)對(duì)象,而系統(tǒng)需要的緯度、經(jīng)度就是其資源列表中的部分屬性,最終采集的資源屬性的數(shù)據(jù)將通過相關(guān)處理上傳給OneNET云平臺(tái),終端節(jié)點(diǎn)使用的Object資源描述如表1所示。
在確定了接入?yún)f(xié)議以及Object相關(guān)資源之后,終端監(jiān)測(cè)節(jié)點(diǎn)將發(fā)起請(qǐng)求接入OneNET云平臺(tái)并傳輸處理后的數(shù)據(jù),其與OneNET云平臺(tái)的數(shù)據(jù)交互流程如圖13所示。
在終端監(jiān)測(cè)節(jié)點(diǎn)運(yùn)行的過程中,設(shè)置好循環(huán)周期時(shí)間,循環(huán)時(shí)間到達(dá)后進(jìn)入數(shù)據(jù)采集函數(shù)并將不同的數(shù)據(jù)分別存入對(duì)應(yīng)的AT指令發(fā)送數(shù)組,通過一個(gè)計(jì)數(shù)值onenet_ok判斷是否所有Object資源注冊(cè)完成,onenet_ok=4時(shí)表示所有資源注冊(cè)完成,然后OneNET平臺(tái)發(fā)送不同的數(shù)據(jù),完成數(shù)據(jù)上傳后等待下一輪周期到達(dá)。
4 系統(tǒng)測(cè)試
待硬件系統(tǒng)設(shè)備連接并初始化完成后,通過串口助手對(duì)STM32主控單元進(jìn)行調(diào)試。在BC20模塊開機(jī)之后,使用AT命令測(cè)試信號(hào)質(zhì)量。信號(hào)質(zhì)量正常后,繼續(xù)測(cè)試ESP網(wǎng)絡(luò)注冊(cè)狀態(tài)以及PS域附著情況,測(cè)試正常后,向BC20模組發(fā)送“AT+CGSN=1”命令獲取IMEI,其標(biāo)識(shí)碼為862177042733900,隨后向BC20模組發(fā)送“AT+CIMI”獲取IMSI,其識(shí)別碼為460049167418294,如圖14所示。在OneNET云平臺(tái)將對(duì)應(yīng)信息添加完設(shè)備后,發(fā)送“AT+MIPLCREATE”命令創(chuàng)建通信實(shí)例,并得到返回結(jié)果ID為0,再發(fā)送“AT+MIPLOPEN=0,86400”命令發(fā)送注冊(cè)請(qǐng)求,注冊(cè)成功后發(fā)現(xiàn)設(shè)備在線,即可正常接收設(shè)備端數(shù)據(jù),如圖15所示。
5 結(jié)束語
為滿足對(duì)城市供水管網(wǎng)智能化監(jiān)測(cè)的需求,本文設(shè)計(jì)了一套基于NB-IoT技術(shù)的城市供水管網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)方案。此系統(tǒng)可以對(duì)城市供水管網(wǎng)的運(yùn)行參數(shù)等進(jìn)行實(shí)時(shí)監(jiān)測(cè)并上傳給云平臺(tái),對(duì)云平臺(tái)進(jìn)行開發(fā),實(shí)現(xiàn)數(shù)據(jù)的可視化,方便管理人員查看獲取管網(wǎng)運(yùn)行狀態(tài)。測(cè)試表明,系統(tǒng)運(yùn)行穩(wěn)定,達(dá)到了預(yù)期目標(biāo)。
參考文獻(xiàn):
[1] 王文慶,王毓晨,亢紅波.基于NB-IOT的智能水表采集器設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2019,42(22):39-43.
[2] 張娜,楊永輝.基于物聯(lián)網(wǎng)的水質(zhì)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].現(xiàn)代電子技術(shù),2019,42(24):38-41,45.
[3] 李萌.基于NB-IoT的冷鏈運(yùn)輸監(jiān)測(cè)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安科技大學(xué),2021.
[4] 陳晶.基于NB-IoT的空氣質(zhì)量監(jiān)測(cè)系統(tǒng)的研制[D].哈爾濱:哈爾濱工業(yè)大學(xué),2021.
[5] 楊磊,熊衛(wèi)華,姜明.基于NB-IoT技術(shù)的家庭水質(zhì)檢測(cè)系統(tǒng)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2019,28(12):129-133.
[6] 錢承山,宗文杰,孫寧,等.基于NB-IoT的智慧消防栓監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].國外電子測(cè)量技術(shù),2021,40(12):151-158.
[7] 韓旭,沈永濱.基于NB-IOT的城市供水管網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].科技創(chuàng)新與應(yīng)用,2019(22):5-7.
[8] 王明.基于NB-IoT的監(jiān)控系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].北京:中國科學(xué)院大學(xué)(中國科學(xué)院沈陽計(jì)算技術(shù)研究所),2019.
[9] 王世馨.基于NB-IoT的汛情實(shí)時(shí)監(jiān)測(cè)系統(tǒng)[D].淮南:安徽理工大學(xué),2020.
[10] 石英春,陳春陽,王巍.基于LoRa和NB-IoT物聯(lián)網(wǎng)技術(shù)的管網(wǎng)監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].儀表技術(shù)與傳感器,2022(8):85-88,121.
【通聯(lián)編輯:唐一東】