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