武學(xué)毅 賀 虎 宋學(xué)博
(1.中國水利水電科學(xué)研究院,北京 100048;2.北京中水科工程集團(tuán)有限公司,北京 100048;3.內(nèi)蒙古引綽濟(jì)遼供水有限責(zé)任公司,內(nèi)蒙古 烏蘭浩特 137400)
水庫大壩安全監(jiān)測自動(dòng)化系統(tǒng)多采用有線通信的分布控制模式,中心站和各現(xiàn)地采集站以電纜或者光纜通過網(wǎng)絡(luò)交換機(jī)進(jìn)行級聯(lián),多采用RS-485或者TCP/IP協(xié)議進(jìn)行通信傳輸。采用電纜或光纜進(jìn)行級聯(lián)需要敷設(shè)大量的線纜,還要安裝鍍鋅鋼管對電纜進(jìn)行保護(hù),無論是走橋架還是挖溝埋設(shè),當(dāng)通信出現(xiàn)故障時(shí)都很難排查隱患點(diǎn)。當(dāng)有新的測點(diǎn)接入需求時(shí),還需新增引線和保護(hù)管線,由于水庫大壩多以不同監(jiān)測斷面布置的監(jiān)測儀器為現(xiàn)地采集的基礎(chǔ)單元,不僅線纜敷設(shè)工程量龐大且若由于線纜故障導(dǎo)致通信不暢,將給監(jiān)測系統(tǒng)的維護(hù)帶來較大困難,監(jiān)測系統(tǒng)的長期可靠性難以保證。物聯(lián)網(wǎng)技術(shù)是全球范圍最有影響力的戰(zhàn)略性新興技術(shù),同時(shí)也推動(dòng)了無線傳感器技術(shù)的迅猛發(fā)展,監(jiān)測技術(shù)與物聯(lián)網(wǎng)技術(shù)在全面感知、可靠傳遞、信息匯聚、行業(yè)智慧應(yīng)用等方面的未來發(fā)展目標(biāo)高度一致,為監(jiān)測儀器實(shí)現(xiàn)智慧感知、無線自組織上線運(yùn)行提供了技術(shù)支持。無線安全監(jiān)測傳感技術(shù)在監(jiān)測靈活性方面具有傳統(tǒng)監(jiān)控手段難比擬的優(yōu)勢,憑借該優(yōu)勢,無線安全監(jiān)測傳感器不僅可以提供更大的靈活性、流動(dòng)性,還避免了有線連接時(shí),由于雷擊等對整個(gè)監(jiān)測系統(tǒng)產(chǎn)生的破壞。通過物聯(lián)網(wǎng)MQTT(Message Queuing Telemetry Transport,消息隊(duì)列遙測傳輸協(xié)議)服務(wù),可以使無線安全監(jiān)測傳感器之間通過分布式協(xié)作實(shí)現(xiàn)數(shù)據(jù)采集、數(shù)據(jù)融合、匯總統(tǒng)計(jì)、查詢式監(jiān)控和動(dòng)態(tài)功能升級等功能,從而使工程安全監(jiān)測自動(dòng)化系統(tǒng)達(dá)到“即時(shí)施工、即時(shí)投運(yùn)”的理想效果。
感知終端為物聯(lián)網(wǎng)中的一個(gè)數(shù)據(jù)節(jié)點(diǎn),核心為ESP8266模塊,它是一個(gè)完整且自成體系的無線組網(wǎng)控制器,具有單獨(dú)的編程功能,內(nèi)置高速緩沖存儲(chǔ)器,具有最高160MHz主頻[1]。ESP8266模塊的低功耗及高集成度特性保證了其典型應(yīng)用僅需極少的外部電路[2]。無線感知終端由ESP8266模組、電源控制模塊、OLED顯示屏和傳感器測控模塊組成,其硬件結(jié)構(gòu)見圖1。
圖1 無線感知終端硬件結(jié)構(gòu)
ESP8266模塊使用鋰電池供電,通過MCP73831T芯片給鋰電池充電,利用電源芯片AP2112-3.3V和FET設(shè)計(jì)穩(wěn)壓和保護(hù)電路,為終端系統(tǒng)提供穩(wěn)定和可靠的電源輸出(見圖2)。
圖2 ESP8266電路和供電電路原理
振弦式傳感器具有測量精度高、抗干擾能力強(qiáng)、結(jié)構(gòu)簡單等優(yōu)點(diǎn),廣泛應(yīng)用于大壩安全監(jiān)測[3]。振弦式傳感器測量模塊是振弦式傳感器激勵(lì)、頻率讀取、溫度轉(zhuǎn)換的專業(yè)化采集模塊,集成多種激勵(lì)方法,能夠識別傳感器接入與拔出,激勵(lì)電壓可編程,可檢測信號幅值和傳感器鋼弦的共振信號質(zhì)量,并將傳感器信號質(zhì)量、幅值、頻率、頻模、溫度轉(zhuǎn)換為數(shù)字量輸出。
模塊有連續(xù)測量和單次測量兩種測量模式,通過向測量模式寄存器寫入特定值來切換工作模式,寫入1使模塊進(jìn)入連續(xù)測量工作模式,寫入0使模塊進(jìn)入單次測量工作模式。見圖3,采集模塊的測量過程分為激勵(lì)、采樣、計(jì)算三個(gè)大的步驟,每個(gè)大的步驟內(nèi)又可拆分成數(shù)個(gè)子過程。采用連續(xù)測量模式時(shí),計(jì)算完成后立即重新開始一次新的測量過程,而采用單次測量模式時(shí),僅會(huì)在收到單次測量指令后才會(huì)觸發(fā)指定次數(shù)的測量過程,測量完成后進(jìn)入待機(jī)等待狀態(tài),等待指令。
圖3 振弦傳感器測量流程
激勵(lì):采用低壓反饋式掃頻方法向傳感器線圈發(fā)送周期脈沖激勵(lì)信號,當(dāng)激勵(lì)信號頻率與傳感器鋼弦自振頻率接近時(shí),鋼弦產(chǎn)生自振。
采樣:采集振弦傳感器鋼弦自振產(chǎn)生的自由振蕩衰減的正弦頻率信號。
計(jì)算:將采集到的傳感器信號進(jìn)行質(zhì)量評定、平差運(yùn)算,計(jì)算得到傳感器鋼弦振動(dòng)頻率值。
傳感器的測量策略如下:
a.檢測傳感器是否接入。
b.延時(shí)一段時(shí)間。
c.向傳感器線圈發(fā)送特定的激勵(lì)信號,使傳感器鋼弦產(chǎn)生自振。
d.延時(shí)一段時(shí)間,等待傳感器返回信號穩(wěn)定。
e.檢測傳感器線圈返回的信號,當(dāng)信號符合要求時(shí)進(jìn)行樣本數(shù)據(jù)質(zhì)量評定及頻率計(jì)算。
f.讀取溫度傳感器數(shù)據(jù)。
g.按照MQTT協(xié)議格式主動(dòng)上報(bào)數(shù)據(jù)。
MQTT協(xié)議是一種簡潔可靠的工業(yè)物聯(lián)網(wǎng)通信協(xié)議,它能夠?qū)⑶度胧皆O(shè)備接入到互聯(lián)網(wǎng)中,完成數(shù)據(jù)采集的云端存儲(chǔ)和管理[4]。在互聯(lián)網(wǎng)應(yīng)用中,大多使用WebSocket接口來傳輸數(shù)據(jù)。而在物聯(lián)網(wǎng)應(yīng)用中,常常出現(xiàn)這樣的情況:海量的傳感器,需要時(shí)刻保持在線,傳輸數(shù)據(jù)量非常低,有著大量用戶使用。如果仍然使用Socket通信,那么服務(wù)器的壓力和通信框架的設(shè)計(jì)隨著數(shù)量的上升將變得異常復(fù)雜,而MQTT通信方式可以很好地解決這一問題。
MQTT是一種基于發(fā)布/訂閱(publish/subscribe)模式的“輕量級”通信協(xié)議[5],該協(xié)議構(gòu)建于TCP/IP協(xié)議上,由IBM在1999年發(fā)布。MQTT的最大優(yōu)點(diǎn)在于,可以以極少的代碼和有限的帶寬,為連接遠(yuǎn)程設(shè)備提供實(shí)時(shí)可靠的消息服務(wù)。作為一種低開銷、低帶寬占用的即時(shí)通信協(xié)議,在物聯(lián)網(wǎng)、小型設(shè)備、移動(dòng)應(yīng)用等方面有著較廣泛的應(yīng)用。
MQTT的特性/優(yōu)勢如下:
a.異步的消息協(xié)議。
b.面向長連接。
c.雙向數(shù)據(jù)傳輸。
d.輕量級的傳輸協(xié)議。
e.被動(dòng)地獲取數(shù)據(jù)。
從圖4可以看到,MQTT通信的角色有兩個(gè),分別是服務(wù)器和客戶端。服務(wù)器只負(fù)責(zé)中轉(zhuǎn)數(shù)據(jù),不做存儲(chǔ);客戶端可以是信息發(fā)送者或訂閱者,也可以同時(shí)是兩者。MQTT會(huì)構(gòu)建底層網(wǎng)絡(luò)傳輸,它將建立客戶端到服務(wù)器的連接,提供兩者之間的一個(gè)有序的、無損的、基于字節(jié)流的雙向傳輸。當(dāng)應(yīng)用數(shù)據(jù)通過MQTT網(wǎng)絡(luò)發(fā)送時(shí),MQTT會(huì)把與之相關(guān)的服務(wù)質(zhì)量(QoS)和主題名(Topic)相關(guān)聯(lián)。
圖4 MQTT角色說明
使用MQTT協(xié)議傳輸數(shù)據(jù),需要在服務(wù)器端開啟MQTT服務(wù)。例如完成某定時(shí)測量任務(wù)后,振弦傳感器發(fā)布主題“Frequency”,消息是“2453.8”(表示頻率),發(fā)布主題“Temperature”,消息是“25.4”(表示溫度),那么所有訂閱了這個(gè)主題編號的客戶端(或服務(wù)器)就會(huì)收到相關(guān)信息,從而實(shí)現(xiàn)通信。因?yàn)槊總€(gè)感知終端都需要有自己獨(dú)立的幾個(gè)主題以避免發(fā)生數(shù)據(jù)誤收,故借助ESP8266的MAC地址唯一的身份標(biāo)識,作為用戶—設(shè)備綁定、發(fā)布/訂閱主題的依據(jù)。數(shù)據(jù)幀格式設(shè)計(jì)見表1。
表1 MQTT數(shù)據(jù)幀格式
通信程序編寫流程見圖5。
程序初始化前,先用構(gòu)造函數(shù)MQTTClient構(gòu)建MQTT客戶端對象:
client=simple.MQTTClient(client_id,server,port)
其中,client_id是客戶端ID,具有唯一性;server是服務(wù)器地址,可以是IP或者網(wǎng)址;port是服務(wù)器端口,默認(rèn)是1883。
云平臺(tái)數(shù)據(jù)接收軟件采用前后端分離模式設(shè)計(jì)。
a.后端采用基于Python的Web框架Django作為純后端,負(fù)責(zé)為前端提供服務(wù),使用paho-mqtt模塊接收硬件設(shè)備上傳的數(shù)據(jù),并向感知設(shè)備發(fā)送用戶的配置指令。
b.前端采用AdminLTE框架,其提供了較為完整的響應(yīng)式UI組件庫。使用JQuery作各種DOM操作、發(fā)送Ajax請求,使用Echarts實(shí)現(xiàn)數(shù)據(jù)可視化中的圖表展示等。
c.數(shù)據(jù)庫使用MySQL作為關(guān)系型數(shù)據(jù)庫,使用Redis作為緩存,存儲(chǔ)臨時(shí)數(shù)據(jù)的同時(shí),也為MySQL分擔(dān)一些壓力。
d.使用Mosquitto作為MQTT服務(wù)器,部署方便,配置簡單,對服務(wù)器負(fù)載相對較小。云平臺(tái)軟件數(shù)據(jù)在線采集列表見圖6。
圖6 云平臺(tái)軟件數(shù)據(jù)在線采集列表頁面
該系統(tǒng)采集終端及云平臺(tái)監(jiān)測軟件可實(shí)現(xiàn)水庫大壩、輸水工程、邊坡、地下洞室、橋梁等多種場合中變形、滲流、應(yīng)力應(yīng)變和環(huán)境量的自動(dòng)化在線監(jiān)測。并以分析軟件為基礎(chǔ)打造數(shù)據(jù)中心和技術(shù)服務(wù)平臺(tái),為各省市級、流域機(jī)構(gòu)或獨(dú)立水庫管理局提供日常數(shù)據(jù)維護(hù)、預(yù)警發(fā)布、成果整編、專項(xiàng)分析報(bào)告等服務(wù)。本系統(tǒng)已在內(nèi)蒙古引綽濟(jì)遼工程平原區(qū)段PCCP輸水管線安全監(jiān)測自動(dòng)化建設(shè)中應(yīng)用。平原區(qū)共設(shè)267個(gè)安全監(jiān)測斷面,為了實(shí)現(xiàn)安全監(jiān)測自動(dòng)化,需要建設(shè)250個(gè)安全監(jiān)測現(xiàn)場采集點(diǎn),其中206個(gè)安全監(jiān)測現(xiàn)場采集點(diǎn)通過無線傳輸技術(shù)與最近的數(shù)據(jù)集中點(diǎn)連接匯集,采集設(shè)備全部采用低功耗設(shè)備,實(shí)現(xiàn)安全監(jiān)測自動(dòng)化。PCCP管道監(jiān)測自動(dòng)化系統(tǒng)結(jié)構(gòu)及軟件應(yīng)用實(shí)例見圖7~圖9。
圖7 PCCP管道監(jiān)測自動(dòng)化系統(tǒng)結(jié)構(gòu)
圖8 引綽濟(jì)遼工程應(yīng)用實(shí)例
圖9 多點(diǎn)組合過程線
安全監(jiān)測無線終端由ESP8266模組、電源控制模塊、OLED顯示屏和傳感器測控模塊組成,可實(shí)現(xiàn)振弦式傳感器數(shù)據(jù)采集,并通過MQTT通信協(xié)議,實(shí)現(xiàn)安全監(jiān)測數(shù)據(jù)的采集和云端存儲(chǔ)和管理。該技術(shù)應(yīng)用于內(nèi)蒙古引綽濟(jì)遼工程平原區(qū)PCCP管線安全監(jiān)測自動(dòng)化集成,工程應(yīng)用表明該技術(shù)可行、振弦式傳感器數(shù)據(jù)采集準(zhǔn)確。如何實(shí)現(xiàn)該技術(shù)對差阻式傳感器、MEMS式傳感器等其他類型傳感器數(shù)據(jù)的采集,以及該技術(shù)在工程應(yīng)用上的穩(wěn)定運(yùn)行,還需做進(jìn)一步的研究和工程案例應(yīng)用。