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