周世年 龔元明



摘? 要:近幾年隨著城市供水管道的日益復雜化,城市供水系統的監測變得難以管理。為了更好地監測城市供水系統的運行狀態,借助窄帶物聯網(Narrow Band Internet of Things, NB-IoT)的低功耗優勢,設計了一個基于NB-IoT的水務管網參數監測系統。該系統以低功耗STM32L4芯片為控制核心,實現了供水管網實時數據的采集與NB-IoT數據的傳輸,水務管網的參數會被上傳至服務器并通過瀏覽器顯示。本文重點設計了現場數據采集設備的硬件電路,開發了NB-IoT的網絡傳輸。測試表明,該監測系統實現了水務管網的數據遠傳和遠程控制,具有一定的研究和開發價值。
關鍵詞:窄帶物聯網;水務管網;STM32L4;實時數據采集
中圖分類號:TP277? ? ?文獻標識碼:A
Design of Water Pipeline Network Parameter Monitoring System
based on Narrow Band Internet of Things
ZHOU Shinian, GONG Yuanming
(College of Mechanical and Automotive Engineering, Shanghai University of Engineering Science, Shanghai 201620, China)
zsnzhoushinian@163.com; gongyuanming@tsinghua.org.cn
Abstract: In recent years, increasing complexity of urban water supply pipeline makes it difficult to monitor and manage urban water supply system. In order to better monitor the operating status of the urban water supply system, this paper proposes to design a water pipeline network parameter monitoring system based on NB-IoT (Narrow Band Internet of Things) with low power consumption. The system uses the low-power STM32L4 (STMicroelectronics) chip as the control core to realize real-time data collection of the water supply pipeline network and NB-IoT data transmission. Parameters of the water pipeline network are uploaded to servers and displayed through browsers. This paper focuses on designing the hardware circuit of field data acquisition equipment and developing the network transmission of NB-IoT. Tests show that the proposed monitoring system realizes remote data transmission and remote control of the water pipe network, and has certain research and development value.
Keywords: narrow band internet of things; water pipeline network; STM32L4; real-time data collection
1? ?引言(Introduction)
對于城市供水系統的監測,傳統的人工檢測不僅費時耗力,而且不能對水務管網參數異常事件做出及時有效的反應[1-2]。隨著社會科學的進步和互聯網技術的發展[3],智慧水務的出現使得傳統的管道監測在形式和技術上有了一定的改善。唐松泉[4]等使用GPRS無線網絡完成了對智能水表數據的采集,但實際測試過程中受到了一些阻礙,如位置較深的地方信號薄弱、功耗過大、接入量小等問題。石家駿、鐘俊[5]等使用ZigBee技術完成對抄表系統的網關設計,但ZigBee模塊價格貴,傳輸距離短,需要基站多,大面積現場設備的布置成本過高。目前市場上新出現的NB-IoT技術是第三代合作組織針對物聯網應用而制定的協議標準[6],具有深度覆蓋、低功耗、低成本、大連接、基站兼容性好等優勢[7-8],能夠很好地解決供水監測設備電池容量有限、接入量小和信號弱等問題[9-10]。本文基于NB-IoT設計的智能水務管網監測系統通過傳感器技術與NB-IoT技術的結合,實現了對水務管網參數實時有效的監管。
2? ?系統總體設計方案(Overall design of the system)
監測系統主要由現場設備(包括數據采集模塊、NB-IoT通信模塊)、數據存儲中心(服務器)和數據實時顯示(客戶端)三個部分組成。監測系統的整體結構如圖1所示。
系統的工作過程為:(1)現場數據采集模塊根據設定的工作參數,采集供水管網的壓力/溫度和振動數據;(2)NB-IoT通信模塊將采集的數據連同設備ID、系統時間、網絡狀態和電池電壓等數據傳輸至服務器;(3)服務器存儲通信模塊發送的信息數據存入數據庫中,同時轉發數據給客戶端;(4)客戶端實時/歷史顯示現場設備相關工作參數。一旦供水管網的運行狀態參數出現異常,監測系統界面會發出告警提示,幫助調度人員更高效地發現并排查問題,完成設備的調度。
3? ?系統硬件設計(Hardware design of the system)
水務管網參數監測系統的硬件主要由電源模塊、數據采集模塊(包括壓力傳感器、溫度傳感器和加速度傳感器)和NB-IoT通信模塊組成。系統硬件總體結構如圖2所示。系統硬件的工作流程為:現場數據采集模塊將采集的數據通過NB-IoT通信模塊傳輸到服務器進行數據分析。
3.1? ?數據采集模塊硬件電路設計
3.1.1? ?主控制芯片選型
在綜合考慮水務管網數據采集低功耗的需求和主控芯片的外設、內存及成本后,決定選擇STM32L4微控制器作為主控制芯片來完成數據的采集以及通信模塊的收發。該芯片是一款基于Cortex-M4內核的32位微控制器[11-12],集成多個不同的串口通信,具有低功耗選擇模式,符合水務管網低功耗的設計要求。
3.1.2? ?壓力/溫度傳感器信號處理電路
考慮到水務管網現場設備的供電不便,所以本文選用了一款可恒流供電的MPM281VC型壓力傳感器來測量水務管網的壓力。且考慮到水務管網的數據量小、低功耗,故選用了一款適合小信號測量的ADS1120芯片。該芯片內部集成了一個精密的溫度傳感器,可用作壓力傳感器的寬溫補償,壓力測量的精密程度達到16位,支持高速的SPI通信,供電電壓為2.3—5.5 V,在禁用增益放大器后的占空比模式下運行功耗可低至120 ?A。
為配合MPM281VC型壓力傳感器的四線橋式接口,設計了與之對應的電阻橋式測量電路。本文設計將AIN0通道作為恒流電壓輸入端口;AIN1通道處飛線引出,用來測試ADS1120是否正常工作;AIN2通道和AIN3通道分別作為負信號端口和正信號端口。在壓力傳感器將監測到的壓力物理量轉換成傳感器輸出的模擬量后,信號處理電路將模擬量A/D轉換,并增益放大,最后通過SPI通信接口與STM32L4進行數據交互。壓力/溫度傳感器信號處理電路如圖3所示。
3.1.3? ?三軸加速度傳感器硬件電路
水務管網的突然爆裂會導致管道振動急劇上升,此時水務管網的壓力數據就已經失效了,本文通過監測水務管網的波動情況來判斷水務管網的運行狀態。本文選用的MMA8453三軸加速度傳感器,其供電電壓為1.95—3.6 V,精密程度達到10位,可選擇加速度三量程輸出(±2 g/±4 g/±8 g),在睡眠模式下可低功耗運行,符合水務管網低功耗的設計要求。
MMA8453三軸加速度傳感器通過測試X、Y、Z軸的加速度數據,直接以數字量形式通過IIC通信接口傳給STM32L4IIC通信規定IIC總線的SCL和SDA兩條信號線必須同時處于高電平,所以需要硬件設置兩個上拉電阻拉高SCL、SDA的電平。三軸加速度傳感器信號采集電路如圖4所示。
3.2? ?通信模塊硬件電路設計
NB-IoT通信模塊的主芯片選用的是高性能、全網通的BC35-G模塊,支持UDP/TCP/MQTT/LWM2M等多種協議。通信模塊硬件設計以BC35-G為核心,外接供電電路、電源監測電路和SIM卡電路三個部分。
3.2.1? ?供電電路
供電電路使各模塊獲得能工作的電源。該電路有兩種控制方式:硬件控制和軟件控制。硬件控制即通過跳線帽將JP-BATT連接起來,軟件控制需要將STM32L4上的NB-SWITCH引腳拉低即可。NB-IoT通信模塊的供電電路如圖5所示。
電源控制電路主要由一個PMOS管組成,通過將PMOS管柵極G拉低,使PMOS管導通,給NB-IoT模塊供電。VDD-OUT和VDD2-BAT都是使用3.6 V的電池直接供電。在電源和地之間接C40和C41兩個電容,濾除雜波的同時能夠儲存電能,讓NB-IoT模塊在需要大電流時不會將電源電壓拉低至工作電平以下。
3.2.2? ?電源監測電路
為更好地排查現場設備因耗盡電量而停止工作的情況,本文設計了帶有雙色燈的電源監測電路來顯示電池供電不足的情況。如圖6所示,選用3.6 V供電的NCP303電壓檢測芯片。當電壓檢測芯片監測到電源電量過低時,一方面會將此數據發送到服務器;另一方面則由NCP303電壓檢測芯片的RESET腳控制,通過拉低電平來使DLED1變色,有助于維修人員定位問題的所在。
3.2.3? ?SIM卡電路
NB-IoT模塊需要插入物聯網卡才可以獲得運營商網絡的支持,所以硬件上有SIM-CLK、SIM-DATA、SIM-RST及SIM-VDD等實現與SIM卡進行數據交互的接口。NB-IoT模塊的SIM卡電路如圖7所示。其中,外部SIM卡通過模塊內部的電源供電,僅支持3.0 V供電。
4? ?系統軟件設計(System software design)
軟件開發時,需要先對主控芯片、傳感器模塊和NB-IoT模塊等進行初始化。現場設備由主控制器控制,通過各傳感器模塊進行現場設備數據的采集,并通過NB-IoT通信模塊實現數據上傳至服務器端,由網頁端顯示。軟件設計流程如圖8所示。
4.1? ?通信協議設計
本文水務管網參數監測系統的設計要求是現場設備的數據遠程傳輸和監測平臺的命令下發控制。
為保證現場設備和監測平臺之間數據交互的可靠性和穩定性,采用了HTTP協議[13-14]。HTTP協議是一種運行在TCP之上的協議,廣泛應用于Web端。協議的通信過程為:協議對話由現場設備發起請求給服務器,服務器根據其發來的數據進行相應的應答。HTTP請求報文格式如表1所示。
其中通道類型是上傳的傳感器參數類型,0表示無效,1表示壓力(單位Mpa),2表示溫度(單位℃),3表示振動(單位mm/s2)。
HTTP的應答報文格式相應如表2所示。
4.2? ?數據采集模塊軟件設計
數據采集模塊主要是采集水務管網的壓力數據、溫度數據和振動數據。在主控芯片、壓力/溫度采集模塊和加速度采集模塊初始化完成以后,主控芯片每隔1 s通過SPI通信和IIC通信發出一次數據采集命令,傳感器會根據主控芯片的內部定時器TIM2來完成數據上傳任務。
壓力/溫度采集芯片的SPI傳輸:首先配置SPI為Motorola模式,8 bit的數據大小,MSB傳輸,時鐘極性為Low,時鐘相位為1 Edge。加速度采集芯片的I2C傳輸:首先配置I2C為標準模式、100 kHz的傳輸速率,從地址的初始長度為7 bit。
定時器TIM2的時鐘由APB1提供,本文設置的APB1提供的時鐘為20 MHz,預分頻為2,000,計數周期為10,000,得到1 s的定時時間。公式如下:
定時器時間=1/(時鐘頻率/預分頻/計數周期)? ? ? (1)
然后調用HAL_TIM_Base_Start_IT(&htim2)函數觸發TIM2中斷定時器,再調用周期函數完成數據的上傳。
4.3? ?NB-IoT通信模塊軟件設計
NB-IoT通信模塊與主控芯片通過串口相連,主控芯片采用AT指令集對BC35-G模組進行命令控制。主控芯片和NB-IoT通信模塊的USART接口初始化后,主控芯片通過AT指令獲取模塊當前的信號強度、通信模塊ID和SIM唯一識別碼等信息[15]。當NB-IoT模塊成功入網后,與服務器建立TCP連接,通過Socket上傳數據包。在NB-IoT入網通信的整個過程中,如果發現信號強度、模塊入網和數據上傳中某個指令出現問題,會將此指令重新執行,直到三次還未成功就會給出錯誤標識。在數據成功發送到服務器后,如果NB-IoT模塊長時間沒有收到數據,就會進入待機模式,以節省電量。NB-IoT的入網通信流程如圖9所示。
NB-IoT模塊入網通信涉及的主要AT指令及其描述如表3所示。
4.4? ?服務器網頁端軟件設計
服務器網頁端軟件主要完成來自現場設備上傳數據的接收、數據解析和存儲,并轉發給網頁端顯示數據。具體流程是:開啟MySQL服務器監聽的所有端口,收到現場設備通過相應端口發來的數據包,按照通信協議將數據包解析出來存入數據庫,并將相應數據在網頁上進行顯示。
在PC或者手機的網頁端填寫賬號和密碼進入監測系統的主界面,如圖10所示。主界面集成了地圖顯示、數據查詢和設備管理等功能。用戶可以通過地圖顯示功能查看自己管理的設備的地理位置和當前設備的狀態信息,其中設備的地址是設備安裝時記錄下來的。通過數據查詢功能對設備進行實時數據查詢和歷史數據查詢,通過設備號、查詢的起始時間、查詢的結束時間三個查詢條件,可實現一段時間內設備數據的變化曲線視圖,通過變化曲線可以很好地預測設備未來的運行狀態。通過設備管理功能對設備信息進行添加、編輯和刪除分組,方便用戶靈活地操作設備信息。
5? ?結論(Conclusion)
本文基于無線傳感網絡和窄帶物聯網的技術優勢,設計了一套從底層硬件到上層平臺端的監測系統方案,很好地解決了城市供水系統難以管理的問題。通過網頁端訪問服務器,實現了水務管網壓力、溫度和振動情況的實時數據監測,并通過變化曲線的形式,可以幫助調度人員快速縮小故障范圍,大大降低了檢修成本,提高了城市供水系統的效率。
參考文獻(References)
[1] 肖揚.基于NB-IoT的云平臺管道漏水檢測系統設計與實現[D].廈門:廈門大學,2018.
[2] 范毅華,王璐.嵌入式油井供水壓力流量監控系統[J].計算機技術與發展,2012,22(09):193-196,200.
[3] 郝志慧.基于物聯網的城市智慧水務系統研究[J].中國高新技術企業,2017(2):114-115.
[4] 唐松泉,趙祚喜,呂永清,等.基于嵌入式的無線智能家居近遠程監控系統[J].電子設計工程,2015(24):166-169.
[5] 石家駿,鐘俊,易平.基于ZigBee的無線抄表系統網關的設計與實現[J].計算機工程與設計,2011,32(03):875-878.
[6] MATZ A P, FERNANDEZ-PRIETO J A, Ca?ada-Bago J,
et al. A systematic analysis of narrowband IoT quality of service[J]. Sensors, 2020, 20(6):1636-1661.
[7] 韓倩茹,田錦.基于海思芯片的NB-IoT通信模塊設計與實現[J].金陵科技學院學報,2019,35(03):16-20.
[8] 李忠偉.基于物聯網的遠程低功耗水表抄表系統設計與實現[D].杭州:杭州電子科技大學,2019.
[9] 吳正平,張兆蒙.基于NB-IoT智能水表抄表系統設計與實現[J].傳感器與微系統,2019,38(11):93-95.
[10] 王文慶,王毓晨.基于NB-IoT的智能水表采集器設計[J].現代電子技術,2019,42(22):39-43.
[11] 李倩,傅強,徐林.基于STM32的SF_6氣體泄漏監控報警系統[J].計算機與數字工程,2019,47(02):304-307,416.
[12] 溫宗周,劉超,袁妮妮,等.基于STM32的泥石流監測預警系統設計[J].計算機與數字工程,2017,45(01):92-96,141.
[13] 孫玉.HTTP協議及WEB開發技術在科技信息管理系統開發中的應用[J].電子元器件與信息技術,2019,3(11):43-44,47.
[14] 谷峰,解凱,姜祖詳,等.基于QT的Http協議在高壓電纜在線監測中的應用[J].工業控制計算機,2020,33(04):105-107.
[15] 于瀅,謝濤,矯魯平,等.基于NB-IoT的智能網關設計[J].計算機測量與控制,2019,27(01):176-180.
作者簡介:
周世年(1996-),男,碩士生.研究領域:汽車電子控制技術,嵌入式單片機開發技術.
龔元明(1964-),男,博士,教授.研究領域:汽車電子控制技術,檢測技術與自動化裝置.