基于Labview的智能家居控制系統(tǒng)的設(shè)計(jì)
伍麟珺,劉楊,吳樂
(湖南工學(xué)院 電氣與信息工程學(xué)院,湖南 衡陽421003)
文中設(shè)計(jì)的智能家居控制系統(tǒng)設(shè)計(jì)分為下位機(jī)和上位機(jī)兩個(gè)部分。下位機(jī)以CC2530為控制核心,Zigbee終端分別采集溫度等傳感器數(shù)據(jù),以無線傳輸?shù)姆绞?,將?shù)據(jù)信息傳送給Zigbee協(xié)調(diào)器,協(xié)調(diào)器通過液晶屏顯示實(shí)時(shí)接收數(shù)據(jù).同時(shí)將數(shù)據(jù)通過RS485總線傳輸給上位機(jī)。上位機(jī)采用LabView技術(shù),對(duì)下位機(jī)發(fā)送過來的數(shù)據(jù)進(jìn)行分析,然后通過RS485總線將控制指令傳送給下位機(jī),指導(dǎo)下位機(jī)控制相應(yīng)設(shè)備,實(shí)現(xiàn)對(duì)家居環(huán)境的自動(dòng)調(diào)節(jié)。
智能家居;Zigbee無線通信;Labview;485總線
智能家居是以住宅為平臺(tái),利用綜合布線技術(shù)、網(wǎng)絡(luò)通信技術(shù)、安全防范技術(shù)、自動(dòng)控制技術(shù)、音視頻技術(shù)將家居生活有關(guān)的設(shè)施集成,構(gòu)建高效的住宅設(shè)施與家庭日程事務(wù)的管理系統(tǒng),提升家居安全性、便利性、舒適性、藝術(shù)性,并實(shí)現(xiàn)環(huán)保節(jié)能的居住環(huán)境。最近幾年,無線網(wǎng)絡(luò)高速發(fā)展,相對(duì)于傳統(tǒng)的有線網(wǎng),無線網(wǎng)絡(luò)有諸多優(yōu)勢,目前藍(lán)牙、WiFi、ZigBee是智能家居網(wǎng)絡(luò)的主要技術(shù),而ZigBee技術(shù)是一種短距離無線通信技術(shù),它可以應(yīng)用在很多場合,它使用的波段為2.4 GHz,采用跳頻和擴(kuò)頻技術(shù)[1-2]。鑒于ZigBee技術(shù)的低功耗、低成本、體積小等特點(diǎn),在智能家居控制方向,將成為最受歡迎的的無線通信方式之一[3]。
智能家居控制系統(tǒng)設(shè)計(jì)分為下位機(jī)數(shù)據(jù)采集和上位機(jī)數(shù)據(jù)處理兩個(gè)部分。下位機(jī)以CC2530為控制核心,由終端和協(xié)調(diào)器一起組成Zigbee無線通信網(wǎng)絡(luò)[4-6],Zigbee終端分別采集室內(nèi)溫度[7]、煙霧、粉塵、人體熱釋紅外等傳感器[8]數(shù)據(jù),以無線傳輸?shù)姆绞剑瑢?shù)據(jù)信息傳送給 Zigbee協(xié)調(diào)器,協(xié)調(diào)器通過LCD12864液晶屏顯示實(shí)時(shí)接收數(shù)據(jù),同時(shí)以串口通信的方式,將數(shù)據(jù)通過RS485總線傳輸[9]給上位機(jī)做進(jìn)一步處理,上位機(jī)采用可視化圖形編程語言LabView技術(shù)[10],對(duì)下位機(jī)發(fā)送過來的數(shù)據(jù)進(jìn)行分析,然后通過RS485總線將控制指令傳送給下位機(jī),指導(dǎo)下位機(jī)做出相應(yīng)的動(dòng)作,即打開或者關(guān)閉空氣凈化器、風(fēng)扇等相應(yīng)電氣設(shè)備,實(shí)現(xiàn)對(duì)家居環(huán)境的自動(dòng)調(diào)節(jié),使之始終維持在一個(gè)較佳狀態(tài)。系統(tǒng)還設(shè)置了有火災(zāi)預(yù)警,家用電器控制,遠(yuǎn)程在線監(jiān)控等輔助功能。系統(tǒng)框圖如圖1所示。
圖1 系統(tǒng)硬件框圖
智能家居控制系統(tǒng)硬件部分設(shè)計(jì)分為傳感器檢測部分和智能接收顯示兩個(gè)部分,其主要由電源、Zigbee無線通信、DS18B20溫度檢測、粉塵PM2.5檢測、MQ2煙霧檢測、人體熱釋紅外檢測、LCD12864液晶顯示以及RS485串口通信等模塊組成。
2.1 CC2530無線傳輸系統(tǒng)
設(shè)計(jì)分為Zigbee終端和Zigbee協(xié)調(diào)器兩大模塊電路,其中,Zigbee終端用來采集溫度、煙霧、PM2.5、人體熱釋紅外感應(yīng)4個(gè)傳感器數(shù)據(jù),4個(gè)Zigbee終端為相互獨(dú)立硬件系統(tǒng),其中,每個(gè)Zigbee終端主要由CC2530無線傳輸電路和傳感器電路等組成;Zigbee協(xié)調(diào)器對(duì)終端發(fā)送過來的數(shù)據(jù)進(jìn)行顯示和傳送給上位機(jī),主要由CC2530無線傳輸最小系統(tǒng)、RS485串口通信電路、LCD12864液晶顯示器接口電路等組成[11-12]。
2.2 無線傳感器電路
無線傳感器模塊由傳感器和單片機(jī)CC2530及外圍電路組成,本系統(tǒng)包括溫度、煙霧、PM2.5、人體熱釋紅外感應(yīng)四路傳感器數(shù)據(jù)采集。每個(gè)Zigbee終端由CC2530無線傳輸系統(tǒng)和傳感器電路組成,4個(gè)傳感器和單片機(jī)通信方式類似。
2.3 無線智能接收機(jī)
無線智能接收機(jī)由CC2530單片機(jī)、LCD12864液晶顯示、電源和通信芯片接口組成,該設(shè)備可及時(shí)將檢測器采集的溫度、煙霧、PM2.5、人體熱釋紅外感應(yīng)傳感器數(shù)據(jù)信息進(jìn)行顯示、處理。繼電器[13]通過接收上位機(jī)的指令來控制家用電器的開啟和關(guān)閉,以便實(shí)現(xiàn)室內(nèi)環(huán)境自動(dòng)調(diào)節(jié)。其中,RS485通信模塊用于實(shí)現(xiàn)上位機(jī)和下位機(jī)雙向?qū)崟r(shí)通信。
系統(tǒng)軟件設(shè)計(jì)分為上位機(jī)和下位機(jī)兩個(gè)部分組成,下位機(jī)以CC2530為控制核心,采集和顯示溫度、煙霧、PM2.5、人體熱釋紅外感應(yīng)傳感器數(shù)據(jù),包括Zigbee無線通信協(xié)議棧程序、監(jiān)控程序、串口通信程序等,而上位機(jī)采用Labview技術(shù),包括串口通信、數(shù)據(jù)處理和顯示程序等。
3.1 下位機(jī)ZigBee軟件設(shè)計(jì)
ZigBee協(xié)議棧就是以函數(shù)的形式將各個(gè)層定義的協(xié)議都集合在一起,并給用戶提供API應(yīng)用層調(diào)用。我們在開發(fā)一個(gè)應(yīng)用時(shí),協(xié)議較底下的層與應(yīng)用是相互獨(dú)立的,因此只要在應(yīng)用層進(jìn)行相應(yīng)的改動(dòng),就可以實(shí)現(xiàn)組網(wǎng),數(shù)據(jù)的發(fā)送和接收。Zigbee協(xié)調(diào)器首先嘗試建立Zigbee無線網(wǎng)絡(luò),然后給Zigbee終端分配短地址,通過這個(gè)短地址來管理各個(gè)終端。即各個(gè)終端分別將自己采集的數(shù)據(jù)通過無線傳輸?shù)姆绞桨l(fā)送協(xié)調(diào)器,協(xié)調(diào)器通過短地址來確定是哪一個(gè)終端發(fā)送過來的數(shù)據(jù),從而對(duì)終端進(jìn)行有效管理,防止數(shù)據(jù)丟失和出錯(cuò)[14]。
3.1.1 PM2.5檢測
PM2.5粉塵傳感器讀取數(shù)據(jù)分為A/D轉(zhuǎn)換和串口通信兩種方式,為了減輕CC2530的工作負(fù)擔(dān),設(shè)計(jì)選擇串口讀取的方式。PM2.5傳感器首先會(huì)通過自帶控制芯片對(duì)粉塵濃度進(jìn)行檢測,然后封裝為一幀數(shù)據(jù),這一幀數(shù)據(jù)由8個(gè)字節(jié)組成,其中第一個(gè)和最后一個(gè)為數(shù)據(jù)幀識(shí)別字節(jié),而第二個(gè)和第三個(gè)為該設(shè)計(jì)需要的有效字節(jié),所以只需要通過串口讀取這一幀數(shù)據(jù),提取有效字節(jié),讀取的數(shù)據(jù)為十六進(jìn)制,通過一定的算法,將十六進(jìn)制數(shù)據(jù)轉(zhuǎn)化為PM2.5實(shí)際濃度值。
3.1.2 溫度檢測
溫度傳感器DS18B20的測溫原理遵循嚴(yán)格的單總線協(xié)議,單片機(jī)通過時(shí)序來寫入和讀出DS18B20中的數(shù)據(jù)。首先初始化,啟動(dòng)溫度轉(zhuǎn)換進(jìn)程,發(fā)溫度讀取指令,讀高八位和低八位十六進(jìn)制數(shù)據(jù),并保存,通過算法,將其轉(zhuǎn)化為實(shí)際溫度值。
3.1.3 LCD12864顯示
首先對(duì)LCD12864顯示屏進(jìn)行初始化,然后對(duì)LCD12864液晶進(jìn)行查忙操作,如果BF為低電平,則顯示RAM地址,將其寫入相應(yīng)的數(shù)據(jù)并進(jìn)行顯示。如果BF高電平,則無法寫入數(shù)據(jù),直到BF為低電平,則可以寫入新的數(shù)據(jù)。
3.2 上位機(jī)LabView軟件設(shè)計(jì)
LabVIEW的核心是VI,分為前面板和后面板,其中后面板主要用來編寫框圖形式的源程序。LabVIEW盡可能采用了通用的硬件,并且充分利用了計(jì)算機(jī)平臺(tái)強(qiáng)大的數(shù)據(jù)處理能力,用戶就可以根據(jù)自己的需要定義和制造各種儀器[15-18]。
3.2.1 登陸模塊
登陸界面主要負(fù)責(zé)管理用戶權(quán)限,以保證系統(tǒng)的安全性。登陸管理前面板設(shè)計(jì)。只有正確的輸入用戶名和密碼才能進(jìn)入系統(tǒng),登陸結(jié)果為登陸成功,歡迎使用,否則,顯示用戶名或密碼錯(cuò)誤,請(qǐng)重新登陸。上位機(jī)和下位機(jī)通信采用十六進(jìn)制數(shù)據(jù)傳輸,由于上位機(jī)從串口讀取的為數(shù)據(jù)幀格式,即先截取字符串,然后索引數(shù)組,提取有效數(shù)據(jù),則可正常顯示當(dāng)前溫度值,與此同時(shí),將提取的實(shí)際溫度值與設(shè)置的閥值進(jìn)行比較,比較結(jié)果送LED顯示。
輸入的用戶名和密碼與先前程序設(shè)定的用戶名和密碼進(jìn)行比較,然后將兩者相與,只有當(dāng)用戶名和密碼都為真時(shí)結(jié)果才為真,才能進(jìn)入用戶界面,登陸界面程序設(shè)計(jì)框圖如圖2所示。
圖2 登陸界面設(shè)計(jì)
登陸模塊獲取系統(tǒng)時(shí)間程序,其調(diào)用路徑為“函數(shù)選板->編程->定時(shí)->獲得時(shí)間/日期(秒)”。利用LabVIEW里面自帶的“獲取時(shí)間函數(shù)”,由該函數(shù)返回一個(gè)系統(tǒng)當(dāng)前的時(shí)間戳,并使用“時(shí)間標(biāo)識(shí)顯示”控件將當(dāng)前時(shí)間的時(shí)間戳顯示出來。
3.2.2 家居環(huán)境自動(dòng)調(diào)節(jié)模塊
家居自動(dòng)控制模塊主要由串口通信、家居環(huán)境參數(shù)顯示和自動(dòng)調(diào)節(jié)等部分組成。選擇好串口號(hào),就能在各個(gè)顯示控件上讀到相應(yīng)的數(shù)據(jù),比如當(dāng)溫度超過預(yù)警值則相應(yīng)的指示燈點(diǎn)亮,提示溫度過高,同時(shí),上位機(jī)會(huì)發(fā)送相應(yīng)的控制指令給下位機(jī),下位機(jī)接收指令打開相應(yīng)的電器設(shè)備,從而調(diào)節(jié)室內(nèi)溫度。其中,溫度預(yù)警值還可以由用戶自定義。環(huán)境控制界面前面板如圖3所示。
上位機(jī)和下位機(jī)通信采用十六進(jìn)制數(shù)據(jù)傳輸,下位機(jī)送給上位機(jī)的數(shù)據(jù)要先經(jīng)過數(shù)據(jù)處理,才能正常顯示。下面介紹溫度數(shù)據(jù)的處理,由于上位機(jī)從串口讀取的數(shù)據(jù)為一幀一幀的數(shù)據(jù),即先截取字符串,然后索引數(shù)組,再創(chuàng)建顯示控件,則可正常顯示當(dāng)前溫度值,與此同時(shí),將提取的實(shí)際溫度值與設(shè)置的閥值進(jìn)行比較,比較結(jié)果送LED顯示。上位機(jī)將通過串口發(fā)送一個(gè)指令給下位機(jī),打開降溫設(shè)備,完成室內(nèi)環(huán)境的自動(dòng)調(diào)節(jié)。
系統(tǒng)上位機(jī)和下位機(jī)采用串口實(shí)時(shí)通信,由于系統(tǒng)設(shè)計(jì)采用RS485轉(zhuǎn)USB接口,所以首先必須安裝RS485轉(zhuǎn)USB驅(qū)動(dòng),這樣才能為上位機(jī)和下位機(jī)串口通信提供條件。串口的波特率和數(shù)據(jù)位以及奇偶校驗(yàn)可以通過VISA設(shè)置,設(shè)置好,系統(tǒng)就可以通過讀取和寫入函數(shù),實(shí)現(xiàn)數(shù)據(jù)發(fā)送和接收,實(shí)現(xiàn)上位機(jī)和下位機(jī)實(shí)時(shí)通信。
圖3 控制系統(tǒng)界面設(shè)計(jì)
3.2.3 家用電器控制模塊
家電控制程序,創(chuàng)建一個(gè)數(shù)組,當(dāng)數(shù)組的第一個(gè)元素為aa時(shí)代表進(jìn)入電器控制,電器控制由二個(gè)按鍵控制,每個(gè)按鍵的開啟和關(guān)閉對(duì)應(yīng)發(fā)出數(shù)據(jù)1和0,數(shù)組的第一個(gè)元素為凈化器控制指令,數(shù)組的第二個(gè)元素為電飯煲控制指令,如選中控制空氣凈化器為真時(shí),即給數(shù)組第二個(gè)元素賦值為1,然后這個(gè)控制指令通過數(shù)組寫入串口發(fā)送函數(shù),labview上位機(jī)自動(dòng)發(fā)送給下位機(jī)指令1,下位機(jī)接到控制指令1,立即打開空氣凈化器,當(dāng)選擇控制空氣凈化器為假時(shí),發(fā)送關(guān)閉控制指令數(shù)據(jù)0,即可關(guān)閉空氣凈化器。
首先測試CC2530單片機(jī)系統(tǒng)電路板和上位機(jī)能否正常工作和通信,其次測試各個(gè)模塊是否能單獨(dú)工作,各個(gè)模塊是否能和CC2530進(jìn)行通信,這是數(shù)據(jù)采集的基礎(chǔ);最后測試Zigbee協(xié)調(diào)器和終端之間是否可以進(jìn)行正常的無線數(shù)據(jù)傳輸,因?yàn)閭鞲衅鞑杉臄?shù)據(jù)都是通過無線進(jìn)行傳輸?shù)?,沒有它整個(gè)系統(tǒng)的硬件設(shè)備無法正常運(yùn)行。
下位機(jī)串口數(shù)據(jù)采集和發(fā)送:首先將Zigbee各個(gè)傳感器終端按要求連接好,然后將Zigbee協(xié)調(diào)器通過MAX485轉(zhuǎn)USB連接電腦USB接口,打開串口助手,然后觀察協(xié)調(diào)器顯示數(shù)據(jù)和串口顯示數(shù)據(jù),對(duì)比是否相同,經(jīng)測試,結(jié)果相同,即下位機(jī)數(shù)據(jù)采集和發(fā)送正常。
上位機(jī)串口數(shù)據(jù)接收:打開labview智能家居控制登陸界面,輸入正確密碼登入控制界面,設(shè)置波特率為115 200,選擇串口,觀察labview界面顯示的環(huán)境參數(shù)數(shù)據(jù)和協(xié)調(diào)器是否相同,經(jīng)測試,數(shù)據(jù)同步并且相同,即上位機(jī)串口接收數(shù)據(jù)正常。
上位機(jī)和下位機(jī)協(xié)同工作,實(shí)現(xiàn)環(huán)境參數(shù)自動(dòng)調(diào)節(jié):首先準(zhǔn)備一個(gè)溫度傳感器,然后在實(shí)驗(yàn)室給傳感器不同的溫度,經(jīng)測試,溫度數(shù)據(jù)會(huì)發(fā)生變化,同時(shí),下位機(jī)控制風(fēng)扇的繼電器開關(guān)會(huì)根據(jù)溫度值的大小自動(dòng)打開或關(guān)閉,經(jīng)過一段時(shí)間調(diào)節(jié),室內(nèi)始終維持在一個(gè)良好的環(huán)境,檢測結(jié)果如圖4、5所示。
圖4 下位機(jī)檢測結(jié)果
圖5 上位機(jī)監(jiān)控結(jié)果
基于ZigBee的智能家居控制系統(tǒng)的設(shè)計(jì)采用無線傳感器網(wǎng)絡(luò)技術(shù)對(duì)室內(nèi)傳感器節(jié)點(diǎn)采集的數(shù)據(jù)進(jìn)行傳輸,避免了現(xiàn)場布線帶來的各種問題,改變了人們的家居生活方式,提高了人們的生活水平。
[1]翁靜蘭.基于ZigBee技術(shù)的數(shù)據(jù)采集系統(tǒng)的研究[D].鎮(zhèn)江:江蘇大學(xué),2009.
[2]李蛟,楊仁錕,肖峻.2.4GHz無線技術(shù)標(biāo)準(zhǔn)及ZigBee抗干擾性能 [J].電信工程技術(shù)與標(biāo)準(zhǔn)化,2006 (3):31-35.
[3]佘明輝,余輪.基于擴(kuò)頻技術(shù)的跳頻擴(kuò)頻分析[J].電子世界,2012(8):16-116.
[4]徐小玲,劉美,李緒政.基于STM32的無線智能家居終端設(shè)計(jì)[J].電子設(shè)計(jì)工程,2016(2):176-180.
[5]俞萍,劉輝,郭有環(huán).ZigBee技術(shù)在智能家居中的應(yīng)用研究[J].廊坊師范學(xué)院學(xué)報(bào):自然科學(xué)版,2015(12):48-50.
[6]盧建偉,崔璨.基于ZigBee技術(shù)的智能家居系統(tǒng)概要設(shè)計(jì)[J].電子技術(shù)與軟件工程,2014,18:28-30.
[7]李石林,魏雄.基于 ARM-Linux的溫濕度遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].電子技術(shù)與軟件工程,2014,27:264-265.
[8]賈強(qiáng).基于熱釋電紅外線傳感器的電路設(shè)計(jì)[J].電子技術(shù)與軟件工程,2015,3:126.
[9]盧嫚.基于RS-485總線的溫室多點(diǎn)監(jiān)測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西北農(nóng)林科技大學(xué),2013.
[10]鄭對(duì)元,等.精通LabVIEW虛擬儀器程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2012.
[11]陳小龍,鄭煒超,朱春望.基于CC2530的智能無線裝置設(shè)計(jì)[J].電子設(shè)計(jì)工程,2015,12:133-135.
[12]王翠香,邵星.基于無線傳感器網(wǎng)絡(luò)的智能家居系統(tǒng)設(shè)計(jì)[J].工業(yè)控制計(jì)算機(jī),2015,12:58-59.
[13]張軍,袁紅兵.智能家居中繼電器智能控制系統(tǒng)設(shè)計(jì)[J].機(jī)電一體化,2013,11:72-75,88.
[14]薛秦剛.IEEE802.15.4的ZigBee協(xié)議棧研究與仿真[D].西安:西安理工大學(xué),2010.
[15]董翰川,郭勇,李文杰.LabVIEW串口通信在數(shù)據(jù)采集中的應(yīng)用 [J].微型機(jī)與應(yīng)用,2011,23:63-64,68.
[16]宋玉琴,姬引飛,段俊瑞,等.基于Android和ZigBee的智能家居系統(tǒng)設(shè)計(jì)[J].西安工程大學(xué)學(xué)報(bào),2015 (4):442-446.
[17]萬磊,章勇,李劍.基于ZigBee無線傳感器網(wǎng)絡(luò)的智能家居設(shè)計(jì)[J].電子科技,2012(2):116-119.
[18]譚濤,徐曉輝,黃曉亮,等.基于Arm—Linux的嵌入式智能家居控制系統(tǒng)的設(shè)計(jì)[J].電子設(shè)計(jì)工程,2011(3):160-162.
Design of smart home control system based on Labview
WU Lin-jun,LIU Yang,WU Le
(Institute of Electrical and Information Engineering,Hunan Institution of Technology,Hengyang 421003,China)
The design of smart home control system is divided into two parts,the lower and the upper computer.The lower computer uses CC2530 as the control core,Zigbee terminals collects temperature sensor data in wireless transmission mode,than transmit data to the Zigbee coordinator,the data display on LCD screen at the same time.The data transmission to the upper computer for further processing by RS485 bus.The upper computer using analyze the data from upper computer by Labview,and then send control commands to the slave machine through the RS485 bus which to guide upper computer to the corresponding action to achieve automatic adjustment of the home environment.
smart home;Zigbee wireless communication;Labview;485Bus
TN92
A
1674-6236(2017)07-0165-05
2016-03-29稿件編號(hào):201603394
2014年湖南省大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(H1402);湖南工學(xué)院大學(xué)生創(chuàng)新訓(xùn)練計(jì)劃項(xiàng)目(H1315)
伍麟珺(1982—),女,湖南衡陽人,碩士,講師。研究方向:信號(hào)與信息處理。