葉 貴,張林靜
(安徽警官職業學院 信息管理系,合肥 230031)
隨著物聯網、大數據、人工智能技術的快速發展,誕生了各種應用產品應用在人們的日常生活中?,F在社會中出現了很多關于智能家居的產品,其中包括了各種家電,常見的有智能電視、音響、空調、冰箱、電燈等,都會給我們帶來很多的便利。根據調查顯示,人們每天在室內的生活時間,大概占到一天總時間的90%以上。根據世界衛生組織報告,人類感染疾病與室內環境質量有密切相關。文獻[1]研究,發現了關于室內環境的污染源預測,室內環境對人們身體健康影響極大,因此對室內環境質量的研究具有重要意義。該系統是一款智能硬件設備,采集數據、數據傳輸、數據的融合與分析,利用無線傳感器網絡節點的部署到室內,并通過傳感器采集室內的環境物理信息[2-3],進而對數據進行相應的處理和分析,最后可以實時得出室內環境的動態變化情況,并且可以預測出一天中每個時間段的環境信息的變化情況,并將其分析結果實時反饋給用戶,提醒用戶當前的室內環境狀況。很好地給用戶掌握室內環境的各物理信息的指標,從而極大地提高了室內的環境質量[4-7],保證了人們的身體健康。
實時獲取室內環境信息,并對得到的多元數據進行融合處理并通過多元線性回歸算法分析和預測,將當前的室內環境空氣質量實時顯示給用戶,從而大大降低了室內環境對人們造成的身體危害程度,保證了人們在室內有一個舒適健康的環境指標。因此,對該課題的研究具有重要的意義。
該系統的設計主要包括3部分:無線傳感器節點、協調器和多元數據融合算法模塊。該系統的設計系統架構如圖1所示。該系統采用ZigBee無線通信技術用于系統的組網和通信基礎,并利用各類傳感器進行室內環境數據的采集,將各類數據經過無線傳感器網絡節點進行數據傳輸到協調器,最后傳回到云端,在云端進行數據處理和多元數據的融合,將幾種數據進行融合分析,最終得到對室內環境的評價指標。

圖1 系統結構圖
通過與藍牙、wifi等相關的無線通信技術對比,選擇ZigBee做為本系統的設計基礎,因為其具有以下幾種優點:
1)抗干擾力強:采用基于IEEE802.15.4的通信協議,ZigBee收發模塊使用的是2.4G直序擴頻技術,具有更好的抗干擾能力;
2)傳輸距離:傳輸距離相對于藍牙和wifi具有較遠點的距離;
3)低功耗:無線模塊自動每隔一段時間,如果沒有收到網關指令,就進入休眠狀態;
4)組網靈活:ZigBee是自組網方式進行組網,可以是樹狀、網狀、星狀不同形式;
5)傳輸速度快:ZigBee傳輸數據主要是采用短幀傳送方式,因此,傳輸數據速度快,實時性強;
6)魯棒性高:ZigBee組網容易且靈活,如果某一個節點斷電或損壞,整個網絡可以自動恢復組網方式。
該系統主要分為無線傳感器節點、協調器、數據融合3部分。
1)無線傳感器終端節點:該無線傳感器節點采用開源的ZigBee通信技術[8],并使用是德州儀器的Z-Stack半開源的協議棧[12-14],對其應用層進行相應的開發,我們知道ZigBee具有一些優點,其中包括傳輸距離遠、低功耗、節點的組網靈活。其中傳感器包括了PM2.5傳感器、VOCs傳感器及DHT11溫濕度傳感器。這些傳感器都與終端相連,并由終端的CC2530芯片對其進行控制。PM2.5傳感器采集室內的細微顆粒的濃度。
VOCs傳感器是采集室內有機氣體的濃度;溫濕度采集室內溫度和濕度情況。該CC2530芯片對和傳感器的連接方式[9-11]如圖2所示。

圖2 節點硬件示意圖
2)協調器:協調器是系統的無線通信網絡模塊的核心,主要是傳輸數據和組網的紐帶,其組網采用了星型網絡拓撲結構,有4個終端與一個協調器進行組網。并將獲取到的數據通過協調器和串口線與電腦端的用戶軟件通信,而無線傳感器節點的終端都是采用ZigBee無線通信技術進行通信。在這里,協調器啟動必須首先啟動,進而各個終端部分開始啟動,只用這種方式,系統的組網才是成功的,不然會失敗,這是由ZigBee通信協議所決定。
多元數據融合:將4類傳感器采集的數據進行融合得到結果。本文考慮到系統的實時性和有效性采用多元線性回歸算法對數據進行建模,并對數據進行預測和判別不同顯著性因素的影響。
另一方面,將數據進行有效分析處理的用戶軟件界面應用。其中驅動應用軟件,是對CC2530芯片與傳感器的相關應用,其中包括對傳感器的控制和數據采集的邏輯業務軟件。還包括對Z-Stack協議棧的開發,主要是負責對數據的發送和接受相關業務應用的軟件。
本系統主要是采集室內4個地方的環境,分別是客廳、臥室、廚房和衛生間,每個場地部署若干個無線傳感器終端節點進行室內環境數據的采集。
本章主要對系統的硬件和軟件以及在多元數據融合3個方面進行詳細地說明。首先,系統的硬件設計主要描述該系統采用的硬件類型,何如設計和工作;其次,軟件設計是實現該工程的應用,包括通信協議棧的使用和傳感器的程序設計;最后,多元數據融合算法本文從多元線性回歸算法[15-19]詳細介紹。
系統為了組網靈活和低功耗等特點,選擇使用ZigBee無線通信技術作為該系統的通信基礎平臺,由于目前ZigBee應用在很多無線傳感器網絡的應用領域中,有著很好的穩定性和魯棒性。該系統是采用德州儀器公司生產的CC2530的微控制器作為該系統的主芯片。同時,利用Z-Stack半開源協議棧,進行有效地開發相應的應用程序代碼,并且可以熟悉掌握該通信技術的方式。根據CC2530芯片手冊,對其進行開發和外圍電路的設計。該芯片是8-bit微控制器采用的類型是CC2530F256,它是8051內核,具有flash存儲為256 KB,RAM為8 KB的容量。
該無線傳感器節點的硬件設計如圖3所示,其中包括了主控制單元CC2530、時鐘電路、電源電路、外圍設備電路(提供傳感器使用的IO端口)等。

圖3 硬件設計示意圖
室內環境的物理信息采集通過不同種類的傳感器,每一種傳感器都是連接到CC2530控制板的GPIO(general-purpose input/output)。通過主控芯片來控制各類傳感器的工作、數據采集、傳輸。對于采集到的不同數據進行對應的編碼格式,通過Z-stack協議進行傳輸。TJAG (joint test action group)接口模塊是為了給主控芯片下載和調試程序使用。時鐘電路模塊是為了讓單片機按照一定頻率進行工作。電源電路則是為了讓每一個模塊提供電力,不同模塊需要的電路是不一樣的,有的需要3.3 V的電壓供電,有的需要5 V電壓供電。這些電壓都是通過穩壓芯片進行穩壓后才為后續的每個模塊使用。傳感器模塊這部門是按照不同類型的傳感器進行與主控板的GPIO端口進行連接,以及根據具體需要提供不同的電源。
利用ZigBee無線通信技術原理和傳感器技術,對室內的環境信息進行采集,并將獲取的數據進行有效的分析。軟件設計主要是利用ZigBee通信技術的Z-stack通信協議棧完成的,在該協議棧中,開發出屬于本系統的應用功能模塊,就可以完成整個系統的功能。主要是對不同傳感的的初始化和采集數據以及控制其采集編碼方式等。軟件的整個偽代碼如下所示:
相關軟件實現的偽代碼

PROCEDUER BeginHW_INIT();Sensor_Init();While(true) doSample_APP();Z_stack_Func();AF_DataRequest();zb_SendDataRequest ();End while;End;
CC2530主控板單片機的通信應用類軟件是采用IAR工具進行程序編寫、編譯、調試、燒錄的。主要是在Z-stack通信協議棧進行的應用程序的開發,其中就包括各種傳感器的初始化、數據采集的相關代碼的實現,最終由協議棧完成數據的路由與發送到協調器,然后協調器連接到電腦端,通過串口進行傳輸采集到的數據。
此外,還有另外一部分軟件是對數據處理、分析以及訓練的代碼,該部分的代碼在后序進行詳細介紹。
對于n維特征的樣本數據,使用多元線性回歸,那么對應的模型可以用公式(1)的形式表示:
Hθ(x1,x2,…,xn)=θ0+θ1x1+θ2x2+…+θnxn
(1)
可以把公式(1)簡寫成下公式(2):
(2)
其中:x0=1。對于樣本采集的數據可以用矩陣X表示維度為m×n,參數θ表示維度為n×1,則公式(1)可以采用Hθ(X)=X*θ代替。在使用該模型的時候,其損失函數一般采用均方誤差作為損失函數,這樣可以有效地求解出模型的最優解。
損失函數可以用公式(3)表示:
(3)
同理,可以將公式(3)表示為矩陣的形式,如公式(4)所示:
(4)
在計算最優解采用梯度下降法或者采用最小二乘法來求解多元線性回歸的解,梯度下降法其優化函數如公式(5)表示:
θt+1=θt-αXT(θX-Y)
(5)
其中:α為學習步長也被稱為學習率。最小二乘法優化函數如公式(6)表示:
θ=(XTX)-1(XT-Y)
(6)
通過4類不同的傳感器對室內環境數據采集,分別采集溫度、濕度、PM2.5、VOCs 共4種不同的室內空氣環境的數據信息。實驗地點分別在客廳、臥室、廚房和衛生間,各放置3個無線傳感器終端節點,每一個終端節點都具備4種物理信息的采集、發送功能,經過一個月時間的采集收集,并對數據進行有效的分析處理。同時,采用多元線性回歸算法對數據進行擬合,求出最優解,最終可以得出多元線性回歸模型并預測得到室內環境的信息。
對于數據的采集如圖4所示,分別是客廳、臥室、廚房、衛生間的平均值的分布,每20分鐘采樣記錄一次當前的數據。圖中顯示的是計算的是每小時內采集的3次的平均值,再對室內的每個位置的3個終端節點采集的溫度、濕度、PM2.5、VOCs的數值平均。
由圖4可以觀察到,其中廚房的VOCs的指標變化幅度比較大,對于衛生間的濕度變化且平均值較高,臥室的溫度較穩平穩,客廳的各項指標都有所變化。這些指標也正說明了人們生活在室內的生活習慣。做飯時廚房的VOCs和PM2.5指標會明顯增加,使用衛生間時其濕度變化就會較為明顯。


圖4 不同場所的各項指標的均值分布
本文通過設計一套無線傳感器網絡的系統,對室內的各個位置的室內物理信息的采集進行數據分析,通過多元線性回歸算法對室內的環境變化進行模型的搭建和訓練,得到的模型可以預測出室內各項指標的情況。
在數據分析過程中,系統主要是采用機器學習框架Scikit-learn包[20-22],并使用python語言實現代碼。其中對于室內不同的位置進行了不同的多元線性回歸的模型構建,最后將整個室內的數據進行多元線性回歸算法的模型構建。
多元線性回歸的模型構建過程,將不同時間段作為預測用Y表示,各項指標的在不同時間段內的平均值用X表示,這樣就可以采用多元線性回歸模型進行有效的構建,其中在一個月中的數據很多是噪聲數據和冗余數據,因此在數據處理之前做一些數據預處理的過程采用歸一化處理,這里采用Z-score標準化的方法,可以使得模型學習的收斂速度更快,并提高精度。在使用機器學習框架Scikit-learn包中,用到的主要工具包接口進行簡單介紹如表1所示。

表1 Scikit-learn框架接口
由表1可以看到,在使用Scikit-learn工具包使用主要用到了兩個API (application programming interface)。其中,用到的一個是train_test_split接口,這是將數據分割為訓練集和測試集兩個部分,這里的test_size參數是測試的所占的比例,這里設為0.1,則說明測試集數據占10%。另一個接口是LinearRegression線性回歸,是為了后面數據進行模型的學習。linereg.fit()接口是用來模型訓練的。linereg.predict()接口是用來模型測試。
無線傳感器節點的部署在4個位置的數據進行多元線性回歸擬合,采集得到的不同時間的各項指標的顯著性權重和RMSE均方根誤差,如表2所示。

表2 不同位置的各項指標通過多元線性回歸得到的 顯著性參數和擬合出的RMSE
根據采集到的數據進程數據處理、訓練,得到對應的模型,用模型進行相應的測試,采用均方根誤差作為模型的評價指標。
根據多元線性回歸擬合得到的結果在表3中可以看到,各項均方根誤差都是5%以下,同時也得到各項指標的顯著度因子權重大小的值。
整個室內環境的變化可以將所有數據合并一起再進行多元線性回歸的擬合得到如圖5所示,每項指標所得到的分類決策平面。

圖5 各項指標的分類決策面
實驗最終得到的結果如圖6所示,通過一個月時間的系統部署所采集的數據。將無線傳感器節點部署在室內的4個地方進行采集和實驗,對數據進行清洗、整理、處理、訓練、最終得到的多元線性回歸模型用來做預測,得到的預測值與真實值的擬合結果是比較接近,因此本系統的方法適用于室內環境指標的預測。

圖6 擬合得到的預測值結果
通過得到的模型應用于該系統。將無線傳感器節點部署在室內4個場所,并采集的空氣環境的各項物理信息進行預測處理,得到的結果與實際采集到的數值進行對比,能夠較好地對室內各項空氣指標的預測。
該系統采用無傳感器節點對室內空氣環境的四類重要指標進行數據采集,并采用多元線性回歸算法對數據進行分析和擬合。該系統是自組網,低功耗,同時具有較好的穩定性和魯棒性,并且系統的組網方式多樣,具有自組網能力,傳輸距離遠、體積小、方便使用的優點。
該系統可以實時獲取室內多種物理信息,并能夠可視化地展現出來,能夠智能化的提醒用戶,某項環境信息不達標。通過多元線性回歸算法擬合得到的RMSE最大為0.049 5,所有采用該方法能夠很好地擬合出室內的各項因素的預測。