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