張 成,李晨安,張 歡,胡博文,孔 潔
(合肥通用機械研究院有限公司,合肥 230031)
物聯(lián)網(wǎng)作為新一代信息技術,發(fā)展速度遠遠高于傳統(tǒng)互聯(lián)網(wǎng)[1]。然而,物聯(lián)網(wǎng)技術遲遲未能在市場中完全普及開來,主要有以下原因。
(1)物聯(lián)網(wǎng)協(xié)議未統(tǒng)一。從物聯(lián)網(wǎng)概念誕生起,物聯(lián)網(wǎng)通信協(xié)議一直是眾多廠家爭奪競爭優(yōu)勢的關鍵因素,目前比較流行的物聯(lián)網(wǎng)協(xié)議包括NB-IOT[2](Narrow Band Internet of Things)、 LoRa (Long Range)、 eMTC (enhanced Machine-Type Communication)等。不同協(xié)議相互之間的不兼容,嚴重影響了物聯(lián)網(wǎng)行業(yè)的快速發(fā)展。
(2)物聯(lián)網(wǎng)數(shù)據(jù)的海量性[3]。大型測試系統(tǒng)包括海量的傳感器節(jié)點,如何將這些數(shù)據(jù)收集起來進行存儲、查詢和分析,是非常困難的任務。
(3)物聯(lián)網(wǎng)傳感器節(jié)點的異構性[4]。大型測試系統(tǒng)包括類型各異的傳感器節(jié)點,既有傳統(tǒng)的溫度、濕度和壓力等信號,也有諸如加速度、振動、噪聲和光學圖像等信號。不同的傳感器通信方式不同,信號類型不同,更為困難的是,對不同傳感器采集的精度和速度的要求都是不同的。傳感器節(jié)點的異構性對后臺信號處理平臺造成了非常大的困難。
(4)物聯(lián)網(wǎng)傳感器數(shù)據(jù)的非連續(xù)性。由于物聯(lián)網(wǎng)傳感器節(jié)點的采樣間隔不同,在日常運轉(zhuǎn)中存在大量冗余,然而在特殊時間節(jié)點卻異常重要,例如設備的預警,監(jiān)控數(shù)據(jù)的回放等。用戶如果希望查詢某時刻的傳感器節(jié)點數(shù)據(jù),通常情況下,會采用數(shù)據(jù)插值法,用前后時間節(jié)點采集到的數(shù)據(jù)進行加權計算得出。由于數(shù)據(jù)的動態(tài)變化,傳感器的采樣間隔和數(shù)據(jù)插值算法的設計,都會對系統(tǒng)的性能造成很大的影響。
總的來說,物聯(lián)網(wǎng)不同于互聯(lián)網(wǎng),大量是由機器產(chǎn)生的數(shù)據(jù)。物聯(lián)網(wǎng)的難點并非單純實現(xiàn)數(shù)據(jù)與數(shù)據(jù)之間的通信[5]。核心要素在于,物聯(lián)網(wǎng)網(wǎng)絡架構不僅要實現(xiàn)數(shù)據(jù)通信的功能,還要以相對低成本、實時地且穩(wěn)定可靠地實現(xiàn)數(shù)據(jù)的交互及存儲查詢功能,并根據(jù)設備狀態(tài)做出相應的調(diào)節(jié)控制,關鍵在于網(wǎng)絡架構的設計,以及核心算法的處理。因此設計了一套以樹莓派為核心的多節(jié)點物聯(lián)網(wǎng)遠程測控系統(tǒng)軟硬件解決方案,利用樹莓派等開源硬件產(chǎn)品,通過設計合理的網(wǎng)絡和算法結構,將數(shù)據(jù)上傳與存儲的難度降低到可控的程度。
本文設計的技術平臺主要應用于制冷空調(diào)產(chǎn)品的實時性能檢測。與其他工業(yè)物聯(lián)網(wǎng)行業(yè)不同,試驗室性能測控系統(tǒng)不僅對數(shù)據(jù)的實時性要求較高,也對數(shù)據(jù)的存儲和分析查詢要求較高,既要讓用戶能夠靈活地對試驗歷史數(shù)據(jù)進行分析和查詢,又要根據(jù)測試情況,對試驗室設備運行狀況進行及時地預警及優(yōu)化。
本文設計的物聯(lián)網(wǎng)網(wǎng)絡架構包含物聯(lián)網(wǎng)測試系統(tǒng)的全部軟硬件功能。其中,硬件部分包括傳感器節(jié)點、串口或網(wǎng)關服務器,并使用樹莓派作為整個測控平臺的中心處理單元[6-7]。軟件部分包括樹莓派中的數(shù)據(jù)處理算法、云后臺數(shù)據(jù)服務器數(shù)據(jù)庫及Web瀏覽器功能開發(fā)。
由于傳感器節(jié)點的測量精度和采集間隔不同,系統(tǒng)配備了不同類型的數(shù)據(jù)采集服務器,包括無線串口服務器、中低速網(wǎng)絡采集器、高速網(wǎng)絡采集器等,傳感器數(shù)據(jù)在數(shù)據(jù)采集服務器中進行采樣預處理后,集中上傳給測控服務器樹莓派。樹莓派是整個測控平臺的核心,定期接收采集數(shù)據(jù)服務器不同類型的數(shù)據(jù)上傳,并根據(jù)設備運行的狀態(tài)動態(tài)調(diào)整采樣時間間隔,通過加權計算,動態(tài)調(diào)整預警門限值的大小,之后,樹莓派將全部數(shù)據(jù)打包,通過 (HyperText Transfer Protocol,HTTP)協(xié)議上傳至后臺云端服務器。系統(tǒng)采集存儲過程也稱為數(shù)據(jù)正向過程,如圖1所示。
圖1 物聯(lián)網(wǎng)測控平臺正向過程
物聯(lián)網(wǎng)測控平臺還具有設備控制與調(diào)節(jié)的功能,也稱為數(shù)據(jù)逆向過程,逆向過程的設定需要管理員權限,(User Interface,UI)界面并不對普通用戶開放。如圖2所示。
圖2 物聯(lián)網(wǎng)測控平臺反向過程
該項目主要采用如下傳感器節(jié)點。
(1)溫度傳感器。賽億凌公司生產(chǎn),核心芯片為DS18B20+,輸出RS485數(shù)字信號。本項目通過串聯(lián)的方式將溫度傳感器級聯(lián)起來,共部署100個溫度傳感器。
(2)壓力傳感器。GE Druck公司生產(chǎn),精度為0.25%,輸出-5~5 V電壓信號。
(3)脈動壓力傳感器。美國PCB公司生產(chǎn),精度為7.25 mV/kPa,輸出-5~5 V電壓信號。
(4)加速度計。美國PCB公司生產(chǎn),精度為10 mV/g,測量范圍0.5~10 kHz,輸出-5~5 V電壓信號。
(5)麥克風。丹麥GRAS公司生產(chǎn),精度為50 mV/Pa,輸出-5~5 V電壓信號。
不同的傳感器對采集間隔和精度差異很大,如脈動壓力傳感器和加速度計傳感器對采集間隔的要求為1 ms以下,而溫度傳感器對采集間隔的要求較低,10 s即可。系統(tǒng)設計了多套采集系統(tǒng)并聯(lián)組合的方案,最終將預處理之后的數(shù)據(jù)發(fā)送給樹莓派統(tǒng)一處理。
根據(jù)傳感器輸出信號的類型,以及對采集間隔和采集精度的要求不同,使用3種類型的數(shù)據(jù)采集服務器分別進行信號處理。
(1)無線串口收發(fā)服務器。使用中泰電子的DRF2659C模塊,核心芯片是TI公司的CC2630。將溫度傳感器輸出的RS485協(xié)議信號封裝成Zigbee協(xié)議進行空口無線傳輸,通過中泰電子的DRF2658C模塊將Zigbee信號還原成為RS485信號,再封裝成USB協(xié)議接口數(shù)據(jù)上傳至樹莓派。使用過程中,數(shù)據(jù)采集服務器DRF2658C作為主設備,DRF2659C作為從設備,一臺主模塊DRF2658C可以連接多臺從模塊,易于擴展。
(2)低速網(wǎng)絡數(shù)據(jù)服務器。使用研華公司的6217測量模塊,測量類型為電壓和電流信號,本項目中為壓力和流量傳感器,可以實現(xiàn)1 s的采樣時間間隔。
(3)高速網(wǎng)絡數(shù)據(jù)服務器。使用NI公司的cDAQ-9184測控平臺,測量類型為電壓和電流信號,將脈動壓力傳感器、加速度計傳感器和麥克風傳感器,分別接入cDAQ中,系統(tǒng)的分辨率設為1 kbps,對采集數(shù)據(jù)進行FFT頻譜變化,分別輸出脈動壓力值、壓縮機轉(zhuǎn)速值、壓縮機振動值,以及環(huán)境噪聲值,輸出數(shù)據(jù)處理時間可以低至1 s。
樹莓派作為智能硬件平臺的代表,具有眾多優(yōu)點:開源的硬件平臺,使用靈活的Python開發(fā)語言[8-10],具有豐富的外設接口,易于擴展性以及高性價比等。系統(tǒng)使用樹莓派作為核心的數(shù)據(jù)處理中心,主要完成以下工作。
(1)將數(shù)據(jù)采集器上傳的數(shù)據(jù)集中加載處理。樹莓派定時將以太網(wǎng)、USB和無線空口的數(shù)據(jù)分別加載到內(nèi)存中。其中,USB外設的存放路徑為“/dev/USB00/”,以太網(wǎng)數(shù)據(jù)采用Socket連接,依次尋址到所有網(wǎng)絡服務器設備,所有采集數(shù)據(jù)加載完成后進行統(tǒng)一格式處理。
(2)將處理后的數(shù)據(jù)上傳至騰訊云服務器后臺。樹莓派將采集數(shù)據(jù)打包整理好后,作為客戶端,使用HTTP協(xié)議格式,將數(shù)據(jù)定時循環(huán)發(fā)送并上傳至騰訊云服務器。
(3)實時監(jiān)測騰訊云服務器發(fā)送來的信號指令用于調(diào)節(jié)和控制設備。考慮到設備的控制與調(diào)節(jié),本項目在樹莓派中也部署了Socket服務器后臺,用于監(jiān)測來自用戶網(wǎng)頁反饋的信號數(shù)據(jù)。樹莓派監(jiān)測到高級管理員從瀏覽器發(fā)送過來的指令后,會立即將數(shù)據(jù)封裝成Modbus的協(xié)議格式,通過無線串口服務器,發(fā)送給調(diào)節(jié)和控制設備,用于設備的啟停和調(diào)節(jié)器的動態(tài)調(diào)節(jié)。
(4) 實現(xiàn)動態(tài)采集、調(diào)度和預警等算法。
該項目算法設計包括以下兩種。
(1)動態(tài)調(diào)整采集時間間隔。通過對樹莓派采集的數(shù)據(jù)進行分析,實時監(jiān)測設備運行的核心指標,并由此根據(jù)設備的運行情況,分為“正?!?、“預警”和“報警”3種狀態(tài)類型。每種狀態(tài)類型設計不同的采樣時間間隔,具體設計如表1所示。
表1 樹莓派采樣間隔設計
(2)設定系統(tǒng)關鍵指標的閾值門限。設計合理的預警和報警閾值門限,在整個系統(tǒng)的設計中極為關鍵,根據(jù)壓縮機多個關鍵性能指標加權,得到如表2所示閾值設定加權值。
表2 系統(tǒng)關鍵指標加權值設定
以上幾個指標是衡量壓縮機性能及試驗裝置試驗臺性能的關鍵指標,當這些數(shù)據(jù)均處于“正常”狀態(tài)時,數(shù)據(jù)采集間隔為10 s;當其中任意一項指標處于預警狀態(tài)時,數(shù)據(jù)采集間隔為3 s;當其中任意一項指標處于報警狀態(tài)時,采集間隔為1 s;當排氣壓力逐漸升高過程時,采樣間隔及數(shù)據(jù)的變化情況如圖3所示。
圖3 樹莓派采樣間隔動態(tài)調(diào)整
測試系統(tǒng)的后臺云服務器部署在騰訊云上,主要功能是進行數(shù)據(jù)的存儲和分析,并通過瀏覽器呈現(xiàn)給客戶端UI用戶,通過進行用戶的綁定和區(qū)分,對高級管理員授予設備控制和調(diào)節(jié)的權限。
云服務器使用的操作系統(tǒng)為Ubuntu Server 16.04.1 LTS64位,用Nginx作為代理服務器,后端采用python flask框架,主要實現(xiàn)數(shù)據(jù)存儲、用戶登錄管理以及認證加密等功能,前端采用HTML5+CSS3+JQuery的框架,調(diào)用Bootstrap庫和eCharts曲線庫來完成界面的優(yōu)化工作[11-13]。
云服務器的核心難點在于數(shù)據(jù)庫的設計,即如何將海量物聯(lián)網(wǎng)的數(shù)據(jù)進行有效存儲及查詢。系統(tǒng)采用Mysql與MongoDB雙重數(shù)據(jù)庫存儲架構,原因如下。
(1)Mysql是關系型數(shù)據(jù)庫的代表,非常適合小型網(wǎng)站的數(shù)據(jù)存儲,優(yōu)點是靈活穩(wěn)定,且有豐富的插件可供使用,缺點是讀寫大量數(shù)據(jù)時速度較慢,且存儲空間受限,本項目主要使用Mysql作為用戶信息和系統(tǒng)關鍵數(shù)據(jù)的存儲。
(2)MongoDB是近年來較為流行的分布式數(shù)據(jù)庫,優(yōu)點是數(shù)據(jù)分集復制,能存儲海量數(shù)據(jù),且讀寫數(shù)據(jù)速度很快,適合負載量較大存儲場景,缺點是表結構不明確,系統(tǒng)關鍵信息存儲安全性相對Mysql較低,本項目主要使用MongoDB數(shù)據(jù)庫存儲海量的物聯(lián)網(wǎng)傳感器節(jié)點數(shù)據(jù),也為后期用戶使用諸如Pandas等數(shù)據(jù)分析工具進行數(shù)據(jù)查詢分析打下基礎[14-15]。
系統(tǒng)最終上傳的數(shù)據(jù)通過瀏覽器展示給用戶,為此,設計了圖表形式來呈現(xiàn),如圖4所示。瀏覽器的刷新時間可以實現(xiàn)最快1 s/次??紤]到數(shù)據(jù)上傳的效率以及網(wǎng)絡帶寬,設計了與樹莓派采樣間隔類似的算法,根據(jù)數(shù)據(jù)狀態(tài)的變化,分為“正常”、“預警”和“報警”3種狀態(tài)類型,每種狀態(tài)類型設計的采樣時間間隔分別為10 s、3 s和1 s。
圖4 用戶瀏覽器實時數(shù)據(jù)表格顯示
物聯(lián)網(wǎng)測控系統(tǒng)的關鍵難點在于數(shù)據(jù)穩(wěn)定可靠的傳輸以及實現(xiàn)的相對低成本。本文利用樹莓派等開源硬件產(chǎn)品,通過設計合理的網(wǎng)絡和算法結構,將數(shù)據(jù)上傳與存儲的難度降低到可控的程度,主要有以下幾點創(chuàng)新:(1) 將樹莓派等智能硬件產(chǎn)品應用在于制冷空調(diào)產(chǎn)品的實時性能檢測行業(yè)中,基本滿足試驗室測控系統(tǒng)對采集數(shù)據(jù)的實時性需求以及數(shù)據(jù)分析查詢的需求;(2) 針對不同傳感器節(jié)點對采集時間和精度的要求不同,設計了一套完整的并行數(shù)據(jù)采集服務器架構,可以兼顧不同數(shù)據(jù)接口和采樣要求,并且控制其保持同步輸出;(3) 通過在樹莓派和云服務器中設計分段的采樣間隔,設置關鍵數(shù)據(jù)的閾值加權預警,適當降低數(shù)據(jù)上傳和存儲的數(shù)據(jù)量,降低帶寬負荷以及數(shù)據(jù)庫存儲難度,能夠滿足對設備預警和報警狀態(tài)的判定需求。