殷松遷,郭培源,王建華
(北京工商大學(xué) 計算機與信息工程學(xué)院,北京100048)
居室環(huán)境的質(zhì)量直接關(guān)系到人們的身心健康。但是傳統(tǒng)的居室環(huán)境監(jiān)測系統(tǒng)大都是有線通信方式,并且使用PC機作為家庭的網(wǎng)關(guān),這樣的系統(tǒng)存在布線麻煩、可擴展性差、移動性差的缺點。為此,本文設(shè)計了一套可移動的無線智能家居環(huán)境監(jiān)控系統(tǒng)[1],專門用于精確檢測居室環(huán)境參數(shù)。該系統(tǒng)可以在線檢測居室溫度、濕度、光強度、煙霧濃度、煤氣含量、CO2濃度等數(shù)據(jù)信息,并對數(shù)據(jù)融合,使用模糊算法處理,在界面上顯示各個檢測量超標(biāo)報警、人居舒適度等日常生活信息。給用戶直觀參考,為人們居室健康服務(wù)。
為了提高傳統(tǒng)環(huán)境監(jiān)測系統(tǒng)的靈活性和流動性,使智能家居更加模塊化,在本系統(tǒng)設(shè)計中,家庭內(nèi)部通信采用無線通信方式。系統(tǒng)中網(wǎng)關(guān)手持可移動,配置精簡Linux操作系統(tǒng),改變以前網(wǎng)關(guān)附加程序較多、反應(yīng)慢的問題。此外,系統(tǒng)網(wǎng)關(guān)附帶有QT界面系統(tǒng),可以讓人們更好、更快、更直觀地得到居室的環(huán)境信息,方便人們的生活。
系統(tǒng)包含家庭網(wǎng)關(guān)模塊、ZigBee協(xié)調(diào)器模塊、ZigBee終端模塊、傳感器數(shù)據(jù)采集模塊等,系統(tǒng)總體結(jié)構(gòu)如圖1所示。其中網(wǎng)關(guān)以S3C2440作為硬件基礎(chǔ),配置Linux操作系統(tǒng),系統(tǒng)配置以太網(wǎng)接口和Web服務(wù)器[2],實現(xiàn)家庭外部Internet通信,使用戶可以對家庭環(huán)境信息遠程監(jiān)控;通過ZigBee協(xié)調(diào)器和ZigBee終端模塊的無線通信,組成家庭內(nèi)部網(wǎng)絡(luò)通信,以此實現(xiàn)傳感器節(jié)點和網(wǎng)關(guān)的數(shù)據(jù)傳輸。
首先由帶有ZigBee終端模塊的傳感器數(shù)據(jù)采集模塊采集居室環(huán)境的數(shù)據(jù)信息,通過ZigBee協(xié)調(diào)器模塊傳給具有操作系統(tǒng)的家庭網(wǎng)關(guān)[3];網(wǎng)關(guān)對采集的傳感器數(shù)據(jù)進行協(xié)議分析處理、數(shù)據(jù)融合和模糊處理等處理后,將數(shù)據(jù)信息表現(xiàn)成日常生活中的語言(例如溫濕度是否舒適等),顯示到QT的界面系統(tǒng)中。此外,用戶也可以通過Internet遠程訪問了解家庭居室的環(huán)境信息。
在本系統(tǒng)中,硬件設(shè)計主要有網(wǎng)關(guān)模塊的設(shè)計和數(shù)據(jù)采集模塊的設(shè)計。網(wǎng)關(guān)硬件結(jié)構(gòu)[4]示意圖如圖2所示。
網(wǎng)關(guān)模塊控制器核心采用ARM920T內(nèi)核的S3C2440,它是一款三星公司推出的16/32 bit RISC微處理器,具有加強的ARM體系結(jié)構(gòu),MMU支持WinCE、EPOC 32和Linux操作系統(tǒng),為手持設(shè)備和一般類型應(yīng)用提供了低價格、低功耗、高性能小型微控制器的解決方案。
利用S3C2440的UART1連接ZigBee協(xié)調(diào)器通信模塊[5]。ZigBee協(xié)調(diào)器模塊采用德州儀器公司的CC2530芯片,CC2530已經(jīng)在內(nèi)部固化了ZigBee協(xié)議棧的PHY和MAC層,它能夠以非常低的材料成本建立強大的網(wǎng)絡(luò)節(jié)點,CC2530結(jié)合了領(lǐng)先的RF收發(fā)器的優(yōu)良性能,只需配置簡單的外圍設(shè)備就可以組成協(xié)調(diào)器的收發(fā)模塊,提供了一個強大和完整的ZigBee解決方案。
以太網(wǎng)模塊采用DM9000芯片,它是單芯片快速以太網(wǎng)MAC控制器,含有1個一般處理接口以及1個10/100 M自適應(yīng)的PHY和4KB DWORD值的SRAM。
存儲模塊選用K9F1216U0A(128 MB)作為系統(tǒng)的Nand Flash,AM29LV160DB 作 為 Nor Flash(2 MB),HY57V56-1620FTP-H作為 SDROM(256 MB)。
LCD顯示模塊選用群創(chuàng)的50P液晶觸摸屏,音頻及視頻模塊則采用UDA1341TS芯片。此外,系統(tǒng)硬件模塊還包括GPIO等其他接口模塊。
數(shù)據(jù)采集應(yīng)用傳感器采集居室環(huán)境待測參數(shù),居室環(huán)境信息包括居室的溫度、濕度、光照度、煙霧濃度、煤氣含量、CO2濃度等[6]。數(shù)據(jù)采集硬件結(jié)構(gòu)圖如圖3所示。
數(shù)據(jù)采集模塊控制核心和ZigBee終端同時選用帶有ZigBee功能的CC2530無線通信芯片。CC2530不僅可以組成協(xié)調(diào)器的收發(fā)模塊,其內(nèi)部還包含業(yè)界標(biāo)準(zhǔn)的增強型8051 CPU、系統(tǒng)內(nèi)可編程閃存、8 KB RAM和許多其他強大的功能。數(shù)據(jù)采集系統(tǒng)選用CC2530負責(zé)傳感器的數(shù)據(jù)采集和對數(shù)據(jù)的初步處理。
測溫傳感器選用通信方式是單總線的芯片DS18B20,該芯片內(nèi)部主要有溫度傳感器、64 bit的ROM存儲器、非揮發(fā)溫度報警觸發(fā)單元以及一個配置寄存器,有較高的測量精度和抗干擾能力。
濕度傳感器則選用IH3605。IH3605輸出電壓是供電電壓、溫度和濕度的函數(shù),其輸出的電壓隨著其供電電壓的升高而升高。實際應(yīng)用中,可以通過式(1)計算出25℃時的濕度值 RH25:
其中,VO是IH3605的輸出電壓,VI是其供電電壓。在溫度T(℃)時的相對濕度RH計算公式如下:
CO2傳感器選用 MG811。MG811對 CO2有良好的敏感度和選擇性,受溫度和濕度影響較小,具有良好的穩(wěn)定性和再現(xiàn)性。設(shè)計外電路給元件提供加熱電壓,當(dāng)其表面溫度足夠高時,元件相當(dāng)于一個電池,其兩端會輸出一電壓信號,其值符合能斯特方程。
煤氣傳感器選用MQ-5。MQ-5在不同的煤氣濃度下,其電阻值會隨著濃度的變化而呈現(xiàn)出近似線性的變化,最終表現(xiàn)為其兩端電壓值的線性變化。
煙霧傳感器選用MQ-2,其工作原理類似MQ-5。
光線傳感器選用光敏電阻P1201-04,其兩端電壓會隨著光線的亮暗而產(chǎn)生近似線性的變化。
此外,在數(shù)據(jù)采集系統(tǒng)的硬件設(shè)計中還加入了一個時鐘芯片DS1302,以減免設(shè)置主機的中斷查詢工作,并且可以準(zhǔn)確記錄所采樣數(shù)據(jù)出現(xiàn)的時間。
軟件開發(fā)平臺采用的是Fedroa10的宿主機環(huán)境,利用gcc cross_compile 4.4.3的交叉編譯器進行對ARM平臺的開發(fā)。選擇Linux 2.6.30內(nèi)核的操作系統(tǒng),并且在配置內(nèi)核時選擇針對S3C2440的版本,利用Busybox制作yaffs2格式的文件系統(tǒng)[7],并在此文件系統(tǒng)中添加Qtopia應(yīng)用程序 (使用QT designer設(shè)計),這樣構(gòu)成整個系統(tǒng)的軟件系統(tǒng)的基礎(chǔ)。
ZigBee終端模塊通過上行傳輸方式隔時(由各個終端模塊定時)將傳感器數(shù)據(jù)信息傳給ZigBee協(xié)調(diào)器模塊之后,進入網(wǎng)關(guān)主程序。網(wǎng)關(guān)主程序大致流程圖如圖4所示。網(wǎng)關(guān)通過UART1接收ZigBee協(xié)調(diào)器的數(shù)據(jù),當(dāng)監(jiān)測到有數(shù)據(jù)進來時,網(wǎng)關(guān)進入中斷狀態(tài)。首先判斷是否為協(xié)調(diào)器模塊的數(shù)據(jù),如果是,則對此數(shù)據(jù)進行初步協(xié)議解析,然后顯示傳感器各節(jié)點信息,之后對傳感器數(shù)據(jù)進行融合和模糊處理,如果有信息超過預(yù)設(shè)報警值,則語音模塊將給出詳細報警信號;否則顯示成日常生活語言等信息。
本系統(tǒng)中,對傳感器數(shù)據(jù)的處理是重要的一部分。網(wǎng)關(guān)部分接收ZigBee協(xié)調(diào)器的數(shù)據(jù),依據(jù)規(guī)定的數(shù)據(jù)協(xié)議格式對數(shù)據(jù)進行分析解讀,提取居室信息數(shù)據(jù)的有效部分,之后采取數(shù)據(jù)融合技術(shù)和模糊處理對數(shù)據(jù)進行進一步的分析處理,將部分居室環(huán)境信息反映成日常生活語言。例如將居室的溫濕度信息反映成是否舒適,將居室的煤氣濃度或者煙霧濃度信息反映成是否觸發(fā)報警器等信息[8]。
本設(shè)計中,居室溫濕度舒適度信息的融合及模糊處理過程如圖5所示。例如A房間有終端節(jié)點n個(依據(jù)實際情況),系統(tǒng)網(wǎng)關(guān)得到第j次1號~n號終端節(jié)點的溫度和濕度傳感器的信息,依據(jù)式(3)和式(4),經(jīng)過加權(quán)算法融合處理,分別得到一個溫度值Tj和濕度值Hj(Wi是權(quán)重,依據(jù)實際情況調(diào)整)。
依據(jù)模糊理論,在居室環(huán)境溫度論域(0~30℃)上定義 3個溫度概念(冷、暖、熱),在空氣濕度論域(0~100%RH)上定義 3個濕度概念(低、中、高),選擇梯形隸屬度函數(shù)將溫度值Tj和濕度值Hj進行數(shù)值-符號的轉(zhuǎn)換,得到符號信息。依據(jù)經(jīng)驗在“舒適度”論域上定義8個概念(干冷、冷不適、濕冷、較舒適、很舒適、干熱、濕熱、熱不適),以此制定的舒適度規(guī)則如表1所示。
表1 溫濕度舒適度規(guī)則表
基于溫濕度信息實現(xiàn)二者的合成之后,得到溫濕度舒適度信息,給用戶參考。
在Linux操作系統(tǒng)中加入QT的應(yīng)用程序,方便用戶更加直觀地了解環(huán)境信息[9]。在文件系統(tǒng)中的“etc/init.d/rcS”文件,添加 Qte 的啟動腳本(qtopia&),以及在“bin/”目錄下添加qtopia的運行腳本,并修改文件系統(tǒng)的“etc/profile”,使系統(tǒng)能夠運行QT應(yīng)用程序。
QT系統(tǒng)界面是一種很容易操作的UI界面,當(dāng)用戶點擊主界面中房間 A(例如客廳)的desktop(啟動器)之后,便可以很直觀地獲取房間A內(nèi)的環(huán)境信息,圖6是房間A的環(huán)境信息的界面圖。
本文以S3C2440作為硬件基礎(chǔ),Linux操作系統(tǒng)作為軟件基礎(chǔ),采用ZigBee無線傳感技術(shù),并結(jié)合傳感器的使用,實現(xiàn)了居室環(huán)境監(jiān)測系統(tǒng)。盡管此系統(tǒng)是智能家居系統(tǒng)中比較簡單的一個子系統(tǒng),但為智能家居系統(tǒng)的無線通信和遠程監(jiān)測提出了一種具體實現(xiàn)。此外,可以實現(xiàn)監(jiān)測點的任意放置,且可依據(jù)用戶的實際需要適當(dāng)?shù)卦鰷p節(jié)點,系統(tǒng)組織靈活。在此基礎(chǔ)之上,人們可以構(gòu)建更加復(fù)雜的智能家居系統(tǒng)或者工業(yè)控制系統(tǒng)。
[1]張?zhí)m紅.智能家居控制系統(tǒng)[J].科技致富向?qū)В?011(35):180-181.
[2]焦騰,戚銀城,孫卓,等.智能電網(wǎng)中智能家居終端的設(shè)計[J].電子科技,2011,24(12):70-71.
[3]孟祥敏,侯德文.基于ZigBee技術(shù)的智能家居系統(tǒng)的研究[J].信息技術(shù)與信息化,2009(2):36.
[4]王翔,樊強,王斌,等.基于Internet的智能家居網(wǎng)關(guān)設(shè)計與實現(xiàn)[J].電力系統(tǒng)通信,2011,230(32):78-80.
[5]劉禮建,張廣明.基于ZigBee無線技術(shù)的智能家居管理系統(tǒng)的設(shè)計[J].計算機技術(shù)與發(fā)展,2011,12(21):251-253.
[6]紀(jì)志成.基于物聯(lián)網(wǎng)技術(shù)的博物館室內(nèi)環(huán)境監(jiān)測[J].文物保護與考古科學(xué),2011,23(3):48-50.
[7]邵長斌,李洪亮.用Busybox制作嵌入式Linux根文件系統(tǒng)文件[J].微計算機信息,2007,23(10):48-50.
[8]王治,盧蔚.基于模糊算法的人體舒適度模型[J].科技創(chuàng)業(yè)月刊,2011(13):112-113.
[9]李翔,樂孜純.一種基于Qtopia的嵌入式遠程污水?dāng)?shù)據(jù)終端[J].機電工程,2010,27(6):69-70.