葉 貴,張林靜
(安徽警官職業(yè)學院 信息管理系,合肥 230031)
隨著物聯(lián)網(wǎng)、大數(shù)據(jù)、人工智能技術(shù)的快速發(fā)展,誕生了各種應用產(chǎn)品應用在人們的日常生活中?,F(xiàn)在社會中出現(xiàn)了很多關(guān)于智能家居的產(chǎn)品,其中包括了各種家電,常見的有智能電視、音響、空調(diào)、冰箱、電燈等,都會給我們帶來很多的便利。根據(jù)調(diào)查顯示,人們每天在室內(nèi)的生活時間,大概占到一天總時間的90%以上。根據(jù)世界衛(wèi)生組織報告,人類感染疾病與室內(nèi)環(huán)境質(zhì)量有密切相關(guān)。文獻[1]研究,發(fā)現(xiàn)了關(guān)于室內(nèi)環(huán)境的污染源預測,室內(nèi)環(huán)境對人們身體健康影響極大,因此對室內(nèi)環(huán)境質(zhì)量的研究具有重要意義。該系統(tǒng)是一款智能硬件設(shè)備,采集數(shù)據(jù)、數(shù)據(jù)傳輸、數(shù)據(jù)的融合與分析,利用無線傳感器網(wǎng)絡節(jié)點的部署到室內(nèi),并通過傳感器采集室內(nèi)的環(huán)境物理信息[2-3],進而對數(shù)據(jù)進行相應的處理和分析,最后可以實時得出室內(nèi)環(huán)境的動態(tài)變化情況,并且可以預測出一天中每個時間段的環(huán)境信息的變化情況,并將其分析結(jié)果實時反饋給用戶,提醒用戶當前的室內(nèi)環(huán)境狀況。很好地給用戶掌握室內(nèi)環(huán)境的各物理信息的指標,從而極大地提高了室內(nèi)的環(huán)境質(zhì)量[4-7],保證了人們的身體健康。
實時獲取室內(nèi)環(huán)境信息,并對得到的多元數(shù)據(jù)進行融合處理并通過多元線性回歸算法分析和預測,將當前的室內(nèi)環(huán)境空氣質(zhì)量實時顯示給用戶,從而大大降低了室內(nèi)環(huán)境對人們造成的身體危害程度,保證了人們在室內(nèi)有一個舒適健康的環(huán)境指標。因此,對該課題的研究具有重要的意義。
該系統(tǒng)的設(shè)計主要包括3部分:無線傳感器節(jié)點、協(xié)調(diào)器和多元數(shù)據(jù)融合算法模塊。該系統(tǒng)的設(shè)計系統(tǒng)架構(gòu)如圖1所示。該系統(tǒng)采用ZigBee無線通信技術(shù)用于系統(tǒng)的組網(wǎng)和通信基礎(chǔ),并利用各類傳感器進行室內(nèi)環(huán)境數(shù)據(jù)的采集,將各類數(shù)據(jù)經(jīng)過無線傳感器網(wǎng)絡節(jié)點進行數(shù)據(jù)傳輸?shù)絽f(xié)調(diào)器,最后傳回到云端,在云端進行數(shù)據(jù)處理和多元數(shù)據(jù)的融合,將幾種數(shù)據(jù)進行融合分析,最終得到對室內(nèi)環(huán)境的評價指標。
圖1 系統(tǒng)結(jié)構(gòu)圖
通過與藍牙、wifi等相關(guān)的無線通信技術(shù)對比,選擇ZigBee做為本系統(tǒng)的設(shè)計基礎(chǔ),因為其具有以下幾種優(yōu)點:
1)抗干擾力強:采用基于IEEE802.15.4的通信協(xié)議,ZigBee收發(fā)模塊使用的是2.4G直序擴頻技術(shù),具有更好的抗干擾能力;
2)傳輸距離:傳輸距離相對于藍牙和wifi具有較遠點的距離;
3)低功耗:無線模塊自動每隔一段時間,如果沒有收到網(wǎng)關(guān)指令,就進入休眠狀態(tài);
4)組網(wǎng)靈活:ZigBee是自組網(wǎng)方式進行組網(wǎng),可以是樹狀、網(wǎng)狀、星狀不同形式;
5)傳輸速度快:ZigBee傳輸數(shù)據(jù)主要是采用短幀傳送方式,因此,傳輸數(shù)據(jù)速度快,實時性強;
6)魯棒性高:ZigBee組網(wǎng)容易且靈活,如果某一個節(jié)點斷電或損壞,整個網(wǎng)絡可以自動恢復組網(wǎng)方式。
該系統(tǒng)主要分為無線傳感器節(jié)點、協(xié)調(diào)器、數(shù)據(jù)融合3部分。
1)無線傳感器終端節(jié)點:該無線傳感器節(jié)點采用開源的ZigBee通信技術(shù)[8],并使用是德州儀器的Z-Stack半開源的協(xié)議棧[12-14],對其應用層進行相應的開發(fā),我們知道ZigBee具有一些優(yōu)點,其中包括傳輸距離遠、低功耗、節(jié)點的組網(wǎng)靈活。其中傳感器包括了PM2.5傳感器、VOCs傳感器及DHT11溫濕度傳感器。這些傳感器都與終端相連,并由終端的CC2530芯片對其進行控制。PM2.5傳感器采集室內(nèi)的細微顆粒的濃度。
VOCs傳感器是采集室內(nèi)有機氣體的濃度;溫濕度采集室內(nèi)溫度和濕度情況。該CC2530芯片對和傳感器的連接方式[9-11]如圖2所示。
圖2 節(jié)點硬件示意圖
2)協(xié)調(diào)器:協(xié)調(diào)器是系統(tǒng)的無線通信網(wǎng)絡模塊的核心,主要是傳輸數(shù)據(jù)和組網(wǎng)的紐帶,其組網(wǎng)采用了星型網(wǎng)絡拓撲結(jié)構(gòu),有4個終端與一個協(xié)調(diào)器進行組網(wǎng)。并將獲取到的數(shù)據(jù)通過協(xié)調(diào)器和串口線與電腦端的用戶軟件通信,而無線傳感器節(jié)點的終端都是采用ZigBee無線通信技術(shù)進行通信。在這里,協(xié)調(diào)器啟動必須首先啟動,進而各個終端部分開始啟動,只用這種方式,系統(tǒng)的組網(wǎng)才是成功的,不然會失敗,這是由ZigBee通信協(xié)議所決定。
多元數(shù)據(jù)融合:將4類傳感器采集的數(shù)據(jù)進行融合得到結(jié)果。本文考慮到系統(tǒng)的實時性和有效性采用多元線性回歸算法對數(shù)據(jù)進行建模,并對數(shù)據(jù)進行預測和判別不同顯著性因素的影響。
另一方面,將數(shù)據(jù)進行有效分析處理的用戶軟件界面應用。其中驅(qū)動應用軟件,是對CC2530芯片與傳感器的相關(guān)應用,其中包括對傳感器的控制和數(shù)據(jù)采集的邏輯業(yè)務軟件。還包括對Z-Stack協(xié)議棧的開發(fā),主要是負責對數(shù)據(jù)的發(fā)送和接受相關(guān)業(yè)務應用的軟件。
本系統(tǒng)主要是采集室內(nèi)4個地方的環(huán)境,分別是客廳、臥室、廚房和衛(wèi)生間,每個場地部署若干個無線傳感器終端節(jié)點進行室內(nèi)環(huán)境數(shù)據(jù)的采集。
本章主要對系統(tǒng)的硬件和軟件以及在多元數(shù)據(jù)融合3個方面進行詳細地說明。首先,系統(tǒng)的硬件設(shè)計主要描述該系統(tǒng)采用的硬件類型,何如設(shè)計和工作;其次,軟件設(shè)計是實現(xiàn)該工程的應用,包括通信協(xié)議棧的使用和傳感器的程序設(shè)計;最后,多元數(shù)據(jù)融合算法本文從多元線性回歸算法[15-19]詳細介紹。
系統(tǒng)為了組網(wǎng)靈活和低功耗等特點,選擇使用ZigBee無線通信技術(shù)作為該系統(tǒng)的通信基礎(chǔ)平臺,由于目前ZigBee應用在很多無線傳感器網(wǎng)絡的應用領(lǐng)域中,有著很好的穩(wěn)定性和魯棒性。該系統(tǒng)是采用德州儀器公司生產(chǎn)的CC2530的微控制器作為該系統(tǒng)的主芯片。同時,利用Z-Stack半開源協(xié)議棧,進行有效地開發(fā)相應的應用程序代碼,并且可以熟悉掌握該通信技術(shù)的方式。根據(jù)CC2530芯片手冊,對其進行開發(fā)和外圍電路的設(shè)計。該芯片是8-bit微控制器采用的類型是CC2530F256,它是8051內(nèi)核,具有flash存儲為256 KB,RAM為8 KB的容量。
該無線傳感器節(jié)點的硬件設(shè)計如圖3所示,其中包括了主控制單元CC2530、時鐘電路、電源電路、外圍設(shè)備電路(提供傳感器使用的IO端口)等。
圖3 硬件設(shè)計示意圖
室內(nèi)環(huán)境的物理信息采集通過不同種類的傳感器,每一種傳感器都是連接到CC2530控制板的GPIO(general-purpose input/output)。通過主控芯片來控制各類傳感器的工作、數(shù)據(jù)采集、傳輸。對于采集到的不同數(shù)據(jù)進行對應的編碼格式,通過Z-stack協(xié)議進行傳輸。TJAG (joint test action group)接口模塊是為了給主控芯片下載和調(diào)試程序使用。時鐘電路模塊是為了讓單片機按照一定頻率進行工作。電源電路則是為了讓每一個模塊提供電力,不同模塊需要的電路是不一樣的,有的需要3.3 V的電壓供電,有的需要5 V電壓供電。這些電壓都是通過穩(wěn)壓芯片進行穩(wěn)壓后才為后續(xù)的每個模塊使用。傳感器模塊這部門是按照不同類型的傳感器進行與主控板的GPIO端口進行連接,以及根據(jù)具體需要提供不同的電源。
利用ZigBee無線通信技術(shù)原理和傳感器技術(shù),對室內(nèi)的環(huán)境信息進行采集,并將獲取的數(shù)據(jù)進行有效的分析。軟件設(shè)計主要是利用ZigBee通信技術(shù)的Z-stack通信協(xié)議棧完成的,在該協(xié)議棧中,開發(fā)出屬于本系統(tǒng)的應用功能模塊,就可以完成整個系統(tǒng)的功能。主要是對不同傳感的的初始化和采集數(shù)據(jù)以及控制其采集編碼方式等。軟件的整個偽代碼如下所示:
相關(guān)軟件實現(xiàn)的偽代碼
PROCEDUER BeginHW_INIT();Sensor_Init();While(true) doSample_APP();Z_stack_Func();AF_DataRequest();zb_SendDataRequest ();End while;End;
CC2530主控板單片機的通信應用類軟件是采用IAR工具進行程序編寫、編譯、調(diào)試、燒錄的。主要是在Z-stack通信協(xié)議棧進行的應用程序的開發(fā),其中就包括各種傳感器的初始化、數(shù)據(jù)采集的相關(guān)代碼的實現(xiàn),最終由協(xié)議棧完成數(shù)據(jù)的路由與發(fā)送到協(xié)調(diào)器,然后協(xié)調(diào)器連接到電腦端,通過串口進行傳輸采集到的數(shù)據(jù)。
此外,還有另外一部分軟件是對數(shù)據(jù)處理、分析以及訓練的代碼,該部分的代碼在后序進行詳細介紹。
對于n維特征的樣本數(shù)據(jù),使用多元線性回歸,那么對應的模型可以用公式(1)的形式表示:
Hθ(x1,x2,…,xn)=θ0+θ1x1+θ2x2+…+θnxn
(1)
可以把公式(1)簡寫成下公式(2):
(2)
其中:x0=1。對于樣本采集的數(shù)據(jù)可以用矩陣X表示維度為m×n,參數(shù)θ表示維度為n×1,則公式(1)可以采用Hθ(X)=X*θ代替。在使用該模型的時候,其損失函數(shù)一般采用均方誤差作為損失函數(shù),這樣可以有效地求解出模型的最優(yōu)解。
損失函數(shù)可以用公式(3)表示:
(3)
同理,可以將公式(3)表示為矩陣的形式,如公式(4)所示:
(4)
在計算最優(yōu)解采用梯度下降法或者采用最小二乘法來求解多元線性回歸的解,梯度下降法其優(yōu)化函數(shù)如公式(5)表示:
θt+1=θt-αXT(θX-Y)
(5)
其中:α為學習步長也被稱為學習率。最小二乘法優(yōu)化函數(shù)如公式(6)表示:
θ=(XTX)-1(XT-Y)
(6)
通過4類不同的傳感器對室內(nèi)環(huán)境數(shù)據(jù)采集,分別采集溫度、濕度、PM2.5、VOCs 共4種不同的室內(nèi)空氣環(huán)境的數(shù)據(jù)信息。實驗地點分別在客廳、臥室、廚房和衛(wèi)生間,各放置3個無線傳感器終端節(jié)點,每一個終端節(jié)點都具備4種物理信息的采集、發(fā)送功能,經(jīng)過一個月時間的采集收集,并對數(shù)據(jù)進行有效的分析處理。同時,采用多元線性回歸算法對數(shù)據(jù)進行擬合,求出最優(yōu)解,最終可以得出多元線性回歸模型并預測得到室內(nèi)環(huán)境的信息。
對于數(shù)據(jù)的采集如圖4所示,分別是客廳、臥室、廚房、衛(wèi)生間的平均值的分布,每20分鐘采樣記錄一次當前的數(shù)據(jù)。圖中顯示的是計算的是每小時內(nèi)采集的3次的平均值,再對室內(nèi)的每個位置的3個終端節(jié)點采集的溫度、濕度、PM2.5、VOCs的數(shù)值平均。
由圖4可以觀察到,其中廚房的VOCs的指標變化幅度比較大,對于衛(wèi)生間的濕度變化且平均值較高,臥室的溫度較穩(wěn)平穩(wěn),客廳的各項指標都有所變化。這些指標也正說明了人們生活在室內(nèi)的生活習慣。做飯時廚房的VOCs和PM2.5指標會明顯增加,使用衛(wèi)生間時其濕度變化就會較為明顯。
圖4 不同場所的各項指標的均值分布
本文通過設(shè)計一套無線傳感器網(wǎng)絡的系統(tǒng),對室內(nèi)的各個位置的室內(nèi)物理信息的采集進行數(shù)據(jù)分析,通過多元線性回歸算法對室內(nèi)的環(huán)境變化進行模型的搭建和訓練,得到的模型可以預測出室內(nèi)各項指標的情況。
在數(shù)據(jù)分析過程中,系統(tǒng)主要是采用機器學習框架Scikit-learn包[20-22],并使用python語言實現(xiàn)代碼。其中對于室內(nèi)不同的位置進行了不同的多元線性回歸的模型構(gòu)建,最后將整個室內(nèi)的數(shù)據(jù)進行多元線性回歸算法的模型構(gòu)建。
多元線性回歸的模型構(gòu)建過程,將不同時間段作為預測用Y表示,各項指標的在不同時間段內(nèi)的平均值用X表示,這樣就可以采用多元線性回歸模型進行有效的構(gòu)建,其中在一個月中的數(shù)據(jù)很多是噪聲數(shù)據(jù)和冗余數(shù)據(jù),因此在數(shù)據(jù)處理之前做一些數(shù)據(jù)預處理的過程采用歸一化處理,這里采用Z-score標準化的方法,可以使得模型學習的收斂速度更快,并提高精度。在使用機器學習框架Scikit-learn包中,用到的主要工具包接口進行簡單介紹如表1所示。
表1 Scikit-learn框架接口
由表1可以看到,在使用Scikit-learn工具包使用主要用到了兩個API (application programming interface)。其中,用到的一個是train_test_split接口,這是將數(shù)據(jù)分割為訓練集和測試集兩個部分,這里的test_size參數(shù)是測試的所占的比例,這里設(shè)為0.1,則說明測試集數(shù)據(jù)占10%。另一個接口是LinearRegression線性回歸,是為了后面數(shù)據(jù)進行模型的學習。linereg.fit()接口是用來模型訓練的。linereg.predict()接口是用來模型測試。
無線傳感器節(jié)點的部署在4個位置的數(shù)據(jù)進行多元線性回歸擬合,采集得到的不同時間的各項指標的顯著性權(quán)重和RMSE均方根誤差,如表2所示。
表2 不同位置的各項指標通過多元線性回歸得到的 顯著性參數(shù)和擬合出的RMSE
根據(jù)采集到的數(shù)據(jù)進程數(shù)據(jù)處理、訓練,得到對應的模型,用模型進行相應的測試,采用均方根誤差作為模型的評價指標。
根據(jù)多元線性回歸擬合得到的結(jié)果在表3中可以看到,各項均方根誤差都是5%以下,同時也得到各項指標的顯著度因子權(quán)重大小的值。
整個室內(nèi)環(huán)境的變化可以將所有數(shù)據(jù)合并一起再進行多元線性回歸的擬合得到如圖5所示,每項指標所得到的分類決策平面。
圖5 各項指標的分類決策面
實驗最終得到的結(jié)果如圖6所示,通過一個月時間的系統(tǒng)部署所采集的數(shù)據(jù)。將無線傳感器節(jié)點部署在室內(nèi)的4個地方進行采集和實驗,對數(shù)據(jù)進行清洗、整理、處理、訓練、最終得到的多元線性回歸模型用來做預測,得到的預測值與真實值的擬合結(jié)果是比較接近,因此本系統(tǒng)的方法適用于室內(nèi)環(huán)境指標的預測。
圖6 擬合得到的預測值結(jié)果
通過得到的模型應用于該系統(tǒng)。將無線傳感器節(jié)點部署在室內(nèi)4個場所,并采集的空氣環(huán)境的各項物理信息進行預測處理,得到的結(jié)果與實際采集到的數(shù)值進行對比,能夠較好地對室內(nèi)各項空氣指標的預測。
該系統(tǒng)采用無傳感器節(jié)點對室內(nèi)空氣環(huán)境的四類重要指標進行數(shù)據(jù)采集,并采用多元線性回歸算法對數(shù)據(jù)進行分析和擬合。該系統(tǒng)是自組網(wǎng),低功耗,同時具有較好的穩(wěn)定性和魯棒性,并且系統(tǒng)的組網(wǎng)方式多樣,具有自組網(wǎng)能力,傳輸距離遠、體積小、方便使用的優(yōu)點。
該系統(tǒng)可以實時獲取室內(nèi)多種物理信息,并能夠可視化地展現(xiàn)出來,能夠智能化的提醒用戶,某項環(huán)境信息不達標。通過多元線性回歸算法擬合得到的RMSE最大為0.049 5,所有采用該方法能夠很好地擬合出室內(nèi)的各項因素的預測。