基于ZigBee的智能家居系統(tǒng)
1 系統(tǒng)總體架構(gòu)
本文引用地址:http://www.ex-cimer.com/article/201610/309185.htm系統(tǒng)包括網(wǎng)關(guān)系統(tǒng)、各種傳感器、服務(wù)器和手機(jī)終端,如圖1所示。網(wǎng)關(guān)系統(tǒng)由電源部分、STM32控制器、ZigBee模塊、GSM模塊、WiFi模塊、藍(lán)牙模塊以及網(wǎng)口構(gòu)成。傳感器包括溫濕度傳感器、氣體傳感器、人體感應(yīng)傳感器、繼電器模塊等。各傳感器分別通過ZigBee傳送數(shù)據(jù)到網(wǎng)關(guān),網(wǎng)關(guān)通過WiFi以UDP協(xié)議上傳數(shù)據(jù)到服務(wù)器。手機(jī)終端既可以訪問服務(wù)器檢測(cè)各傳感器的狀態(tài)而且可以發(fā)送控制指令到達(dá)網(wǎng)關(guān),再從網(wǎng)關(guān)通過ZigBee控制繼電器,從而實(shí)現(xiàn)遠(yuǎn)程家電控制。
2 硬件原理設(shè)計(jì)
2.1 網(wǎng)關(guān)硬件原理設(shè)計(jì)
網(wǎng)關(guān)采用輸出為5 V的電源適配器供電,通過LM117電源芯片穩(wěn)壓到3.3 V給系統(tǒng)供電。主控制器芯片采用意法半導(dǎo)體公司的STM32F107芯片;ZigBee芯片采用TI公司的CC25 30,用于SMS和CPRS功能的模塊采用SIM900A;WiFi芯片采用TI的CC3200;藍(lán)牙芯片采用TI公司的BLE低功耗藍(lán)牙芯片CC2540;網(wǎng)口驅(qū)動(dòng)芯片采用以太網(wǎng)控制芯片DP83848CVV;Zig Bee芯片、WiFi芯片和藍(lán)牙芯片都以模塊化的形式通過RS232串口和STM32主控器連接,SIM900模塊也通過RS232串口和STM32主控器連接,硬件框圖如圖2所示。
2.2 溫濕度子系統(tǒng)硬件原理設(shè)計(jì)
溫濕度子系統(tǒng)采用可充電鋰電池供電,通過TP4054充電芯片實(shí)現(xiàn)給鋰電池充電。鋰電池輸出3.7 V,通過TPS63031電源穩(wěn)壓芯片將電壓穩(wěn)到3.3 V,從而給系統(tǒng)供電。控制器芯片采用TI公司的CC2530,溫濕度傳感器采用SHT1x,測(cè)量的溫室度值傳送給控制器,然后顯示在OLED顯示屏并且通過ZigBee發(fā)送到網(wǎng)關(guān)。網(wǎng)關(guān)硬件框圖如圖3所示。
2.3 人體感應(yīng)和氣體探測(cè)系統(tǒng)硬件原理
人體感應(yīng)與氣體傳感器系統(tǒng)除了傳感器不同以外,其他部分都相同。系統(tǒng)采用可充電鋰電池供電,可通過TP4054充電芯片實(shí)現(xiàn)給鋰電池充電。鋰電池輸出3.7 V,通過TPS63031電源穩(wěn)壓芯片可將電壓穩(wěn)到3.3 V,從而給控制部分供電;通過CN5136升壓穩(wěn)壓芯片將電壓穩(wěn)定到5 V給傳感器模塊供電。人體感應(yīng)傳感器采用HC—SR501人體感應(yīng)模塊;氣體傳感器采用MQ-2氣體傳感器模塊,可檢測(cè)液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等。各傳感器的狀態(tài)通過ZigBee發(fā)送到網(wǎng)關(guān),硬件框圖如圖4所示。
2.4 家電控制子系統(tǒng)硬件設(shè)計(jì)
家電控制室通過控制繼電器的開關(guān)來實(shí)現(xiàn),家電控制子系統(tǒng)采用可充電鋰電池供電,通過TP4054充電芯片實(shí)現(xiàn)給鋰電池充電。鋰電池輸出3.7 V,通過TPS63031電源穩(wěn)壓芯片可將電壓穩(wěn)定到3.3 V,從而給控制部分供電;通過CN5136升壓穩(wěn)壓芯片將電壓穩(wěn)定到5 V給繼電器模塊供電。CC2530單片機(jī)將本地按鍵控制和遠(yuǎn)程控制繼電器的狀態(tài)傳送到網(wǎng)關(guān);另外也接受網(wǎng)關(guān)發(fā)來的指令控制繼電器的開閉,硬件框圖如圖5所示。
3 系統(tǒng)軟件功能設(shè)計(jì)
系統(tǒng)中各傳感器子系統(tǒng)通過ZigBee把數(shù)據(jù)傳送到網(wǎng)關(guān),網(wǎng)關(guān)通過WiFi傳送到服務(wù)器,當(dāng)溫度超過設(shè)定值、室內(nèi)有人或無人、氣體濃度超標(biāo)或正常,家電打開與關(guān)閉時(shí)網(wǎng)關(guān)會(huì)通過SMS方式通知用戶。手機(jī)終端可訪問服務(wù)器查看各傳感器的值和狀態(tài),還可以通過SMS發(fā)送控制指令到達(dá)網(wǎng)關(guān),然后網(wǎng)關(guān)通過ZigBee控制家電的開關(guān)。
3.1 網(wǎng)關(guān)子系統(tǒng)軟件設(shè)計(jì)
網(wǎng)關(guān)子系統(tǒng)實(shí)現(xiàn)兩個(gè)功能:一是ZigBee模塊接收各傳感器子系統(tǒng)的狀態(tài),通過串口發(fā)送到STM32處理器,處理器通過組幀、判斷,然后通過GPRS/WiFi上傳到服務(wù)器;二是接收手機(jī)終端的指令然后通過ZigBee下發(fā)到各傳感器。網(wǎng)關(guān)功能程序流程如圖6所示。
3.2 溫濕度子系統(tǒng)軟件設(shè)計(jì)
溫濕度子系統(tǒng)可以獲得環(huán)境溫濕度值,系統(tǒng)上電后,CC2530控制器每隔5 s獲得數(shù)字溫濕度傳感器SHT1采集到環(huán)境的溫濕度值,通過I2C發(fā)送到OLED顯示屏顯示,并且進(jìn)行溫濕度組幀通過ZigBee把溫度和濕度值實(shí)時(shí)傳送到網(wǎng)關(guān)。網(wǎng)關(guān)判斷當(dāng)兩次傳送的溫度值或濕度值有變化時(shí),會(huì)把變化的溫濕度值組幀后上傳到服務(wù)器。當(dāng)網(wǎng)關(guān)判斷溫度值超過40 ℃時(shí)會(huì)發(fā)送報(bào)警短信通知用戶。溫度和濕度值可精確到個(gè)位數(shù),如溫度25℃,濕度56%。溫濕度子系統(tǒng)框圖如圖7所示。
3.3 人體感應(yīng)和氣體探測(cè)系統(tǒng)軟件設(shè)計(jì)
人體感應(yīng)和氣體探測(cè)子系統(tǒng)可以得到室內(nèi)是否有人和室內(nèi)氣體濃度狀況。MQ-2氣體傳感器模塊檢測(cè)到氣體濃度超標(biāo)后會(huì)在輸出端輸出低電平,氣體濃度正常時(shí)會(huì)在輸出端輸出3.3 V高電平。當(dāng)系統(tǒng)上電后控制器CC2530部分會(huì)每隔5 s檢測(cè)傳感器的輸出端,并會(huì)把傳感器的輸出通過ZigBee傳送到網(wǎng)關(guān),網(wǎng)關(guān)判斷兩次傳送值不相同時(shí),會(huì)把數(shù)據(jù)組幀后上傳到服務(wù)器并短信通知用戶氣體濃度超標(biāo)或者正常。人體感應(yīng)傳感器HC-SR501,人進(jìn)入其感應(yīng)范圍則輸出端輸出3.3 V高電平,人離開感應(yīng)范圍則自動(dòng)延時(shí)關(guān)閉3.3 V高電平,輸出端輸出低電平。系統(tǒng)上電后控制部分會(huì)每隔5 s檢測(cè)傳感器的輸出端,并把傳感器的輸出通過ZigBee傳送到網(wǎng)關(guān),網(wǎng)關(guān)判斷兩次傳送到網(wǎng)關(guān)的值同時(shí)會(huì)把數(shù)據(jù)上傳到服務(wù)器,并短信通知用戶有人進(jìn)入或人離開。子系統(tǒng)框圖如圖8所示。
3.4 家電控制子系統(tǒng)軟件設(shè)計(jì)
家電控制子系統(tǒng)可實(shí)現(xiàn)對(duì)室內(nèi)燈和家電的開關(guān)控制。繼電器可外接燈和家電,對(duì)燈和家電的開關(guān)控制室通過控制繼電器的開關(guān)來實(shí)現(xiàn)。控制繼電器的開閉有兩種方式:一種是通過本地按鍵,當(dāng)短按按鍵時(shí)CC2530輸出低電平,繼電器開關(guān)閉合;當(dāng)長按按鍵時(shí)CC2530單片機(jī)輸出3.3 V電平時(shí)繼電器開關(guān)斷開;按鍵控制繼電器開關(guān)閉合和斷開時(shí)會(huì)通過ZigBee把繼電器的這兩種狀態(tài)傳送到網(wǎng)關(guān),網(wǎng)關(guān)再通過WiFi傳送到服務(wù)器。另一種是手機(jī)軟件通過SMS發(fā)送開關(guān)指令到達(dá)網(wǎng)關(guān),網(wǎng)關(guān)再通過ZigBee控制繼電器的開閉,從而實(shí)現(xiàn)遠(yuǎn)程控制家電和燈的開關(guān),通過遠(yuǎn)程控制繼電器,繼電器打開和閉合后控制部分會(huì)把這兩種狀態(tài)傳送到網(wǎng)關(guān),網(wǎng)關(guān)再通過WiFi傳送到服務(wù)器并通過短信告知用戶。子系統(tǒng)框圖如圖9所示。
3.5 手機(jī)監(jiān)控軟件設(shè)計(jì)
手機(jī)終端用于遠(yuǎn)程監(jiān)測(cè)氣體濃度是否超標(biāo)、屋里是否有人、室內(nèi)溫濕度值和家電的開關(guān)狀態(tài)以及遠(yuǎn)程控制家電的開關(guān)。監(jiān)控軟件主要包括注冊(cè)本機(jī)手機(jī)號(hào)碼到網(wǎng)關(guān)、通過刷新訪問服務(wù)器獲得各傳感器的最新狀態(tài)和遠(yuǎn)程控制燈的開關(guān),軟件框圖如圖10所示。
4 系統(tǒng)運(yùn)行測(cè)試
系統(tǒng)以手機(jī)終端為用戶操作界面,可以實(shí)時(shí)遠(yuǎn)程監(jiān)測(cè)溫濕度、家電狀態(tài)、室內(nèi)是否有人和室內(nèi)氣體濃度是否超標(biāo),還可以遠(yuǎn)程控制家電開關(guān),從而實(shí)現(xiàn)遠(yuǎn)程家庭安防,遠(yuǎn)程火災(zāi)報(bào)警、遠(yuǎn)程家電控制等家庭基本的家居控制功能。系統(tǒng)操作過程簡(jiǎn)單,運(yùn)行系統(tǒng)前需要進(jìn)行設(shè)置,網(wǎng)關(guān)設(shè)置主要使WiFi能加入WiFi熱點(diǎn)從而接通互聯(lián)網(wǎng),設(shè)置服務(wù)器的IP和端口號(hào),使數(shù)據(jù)能上傳到服務(wù)器。手機(jī)終端設(shè)置主要是需要注冊(cè)用戶手機(jī)號(hào)碼,通過發(fā)送短信給網(wǎng)關(guān)使網(wǎng)關(guān)保存用戶的手機(jī)號(hào)碼,以便網(wǎng)關(guān)給用戶發(fā)送報(bào)警短信。
網(wǎng)關(guān)設(shè)置主要是對(duì)WiFi模塊的設(shè)置,WiFi模塊需要設(shè)置無線熱點(diǎn)的SSID和密碼、數(shù)據(jù)傳輸協(xié)議以及服務(wù)器的IP和端口號(hào)。
(1)打開串口調(diào)試助手,選擇波特率為115 200bit·s-1,數(shù)據(jù)位為8位,停止位為1位。在字符串輸入框輸入“+++”點(diǎn)擊發(fā)送,在看到數(shù)據(jù)接收框中收到“+OK”后表示設(shè)置成功,如圖11所示。
(2)關(guān)閉串口調(diào)試助手,打開UART—WIFI配置管理程序,點(diǎn)擊搜索,就會(huì)出現(xiàn)WiFi的設(shè)備ID,在右邊設(shè)置無線熱點(diǎn)名稱和數(shù)據(jù)傳輸協(xié)議以及服務(wù)器的IP和端口號(hào)如圖12所示,設(shè)置完成后點(diǎn)擊提交修改,出現(xiàn)參數(shù)修改完成的提示,WiFi模塊設(shè)置成功。
在網(wǎng)關(guān)設(shè)置完成后,給網(wǎng)關(guān)上電運(yùn)行。然后手機(jī)安裝掌上樂居APP,打開應(yīng)用程序,出現(xiàn)如圖13所示界面,點(diǎn)擊設(shè)置,在號(hào)碼輸入框輸入網(wǎng)關(guān)SIM卡的11位手機(jī)號(hào)碼點(diǎn)擊注冊(cè)新號(hào)碼,收到網(wǎng)關(guān)發(fā)回來的“號(hào)碼注冊(cè)成功”短信內(nèi)容后,表明網(wǎng)關(guān)存儲(chǔ)用戶手機(jī)號(hào)碼成功。
當(dāng)用戶手機(jī)號(hào)碼改變時(shí),打開手機(jī)終端,輸入原有的網(wǎng)關(guān)手機(jī)號(hào)碼,點(diǎn)擊“清除所有號(hào)碼”,當(dāng)收到網(wǎng)關(guān)發(fā)來的短信“號(hào)碼清除成功”,此時(shí)網(wǎng)關(guān)存儲(chǔ)的用戶原來的手機(jī)號(hào)碼就被擦出。接下來可重新向網(wǎng)關(guān)注冊(cè)新的手機(jī)號(hào)碼。
開啟在WiFi模塊里設(shè)置的無線熱點(diǎn),給網(wǎng)關(guān)上電運(yùn)行,WiFi會(huì)加入此熱點(diǎn),然后開啟各傳感器子系統(tǒng),傳感器子系統(tǒng)會(huì)加入網(wǎng)關(guān)ZigBee的網(wǎng)絡(luò)中。手機(jī)終端可以查看室內(nèi)各傳感器的狀態(tài)并控制家電的開關(guān)。如圖14所示。
5 結(jié)束語
系統(tǒng)采用目前主流的ZigBee無線技術(shù)、移動(dòng)通信技術(shù)、互聯(lián)網(wǎng)技術(shù)和嵌入式系統(tǒng)與接口技術(shù)。ZigBee無線技術(shù)具有近距離、低復(fù)雜度、自組網(wǎng)、低功耗、低數(shù)據(jù)速率、低成本的特點(diǎn)。系統(tǒng)采用ZigBee無線技術(shù)實(shí)現(xiàn)了各傳感器與網(wǎng)關(guān)的數(shù)據(jù)傳送。網(wǎng)關(guān)采用意法半導(dǎo)體生產(chǎn)的STM32F107單片機(jī)作為主控制器組成嵌入式控制系統(tǒng),實(shí)現(xiàn)了數(shù)據(jù)的傳輸鏈路轉(zhuǎn)換和系統(tǒng)控制;采用WiFi/CPRS模塊實(shí)現(xiàn)了網(wǎng)關(guān)接入互聯(lián)網(wǎng),從而把數(shù)據(jù)上傳到服務(wù)器中,實(shí)現(xiàn)了手機(jī)終端實(shí)時(shí)監(jiān)測(cè)與控制;采用SIM900A模塊把網(wǎng)關(guān)接入移動(dòng)通信網(wǎng)絡(luò)中,實(shí)現(xiàn)短信報(bào)警功能。
評(píng)論