基于ZigBee的智能家居系統
1 系統總體架構
本文引用地址:http://dyxdggzs.com/article/201610/309185.htm系統包括網(wǎng)關(guān)系統、各種傳感器、服務(wù)器和手機終端,如圖1所示。網(wǎng)關(guān)系統由電源部分、STM32控制器、ZigBee模塊、GSM模塊、WiFi模塊、藍牙模塊以及網(wǎng)口構成。傳感器包括溫濕度傳感器、氣體傳感器、人體感應傳感器、繼電器模塊等。各傳感器分別通過(guò)ZigBee傳送數據到網(wǎng)關(guān),網(wǎng)關(guān)通過(guò)WiFi以UDP協(xié)議上傳數據到服務(wù)器。手機終端既可以訪(fǎng)問(wèn)服務(wù)器檢測各傳感器的狀態(tài)而且可以發(fā)送控制指令到達網(wǎng)關(guān),再從網(wǎng)關(guān)通過(guò)ZigBee控制繼電器,從而實(shí)現遠程家電控制。
2 硬件原理設計
2.1 網(wǎng)關(guān)硬件原理設計
網(wǎng)關(guān)采用輸出為5 V的電源適配器供電,通過(guò)LM117電源芯片穩壓到3.3 V給系統供電。主控制器芯片采用意法半導體公司的STM32F107芯片;ZigBee芯片采用TI公司的CC25 30,用于SMS和CPRS功能的模塊采用SIM900A;WiFi芯片采用TI的CC3200;藍牙芯片采用TI公司的BLE低功耗藍牙芯片CC2540;網(wǎng)口驅動(dòng)芯片采用以太網(wǎng)控制芯片DP83848CVV;Zig Bee芯片、WiFi芯片和藍牙芯片都以模塊化的形式通過(guò)RS232串口和STM32主控器連接,SIM900模塊也通過(guò)RS232串口和STM32主控器連接,硬件框圖如圖2所示。
2.2 溫濕度子系統硬件原理設計
溫濕度子系統采用可充電鋰電池供電,通過(guò)TP4054充電芯片實(shí)現給鋰電池充電。鋰電池輸出3.7 V,通過(guò)TPS63031電源穩壓芯片將電壓穩到3.3 V,從而給系統供電??刂破餍酒捎肨I公司的CC2530,溫濕度傳感器采用SHT1x,測量的溫室度值傳送給控制器,然后顯示在OLED顯示屏并且通過(guò)ZigBee發(fā)送到網(wǎng)關(guān)。網(wǎng)關(guān)硬件框圖如圖3所示。

2.3 人體感應和氣體探測系統硬件原理
人體感應與氣體傳感器系統除了傳感器不同以外,其他部分都相同。系統采用可充電鋰電池供電,可通過(guò)TP4054充電芯片實(shí)現給鋰電池充電。鋰電池輸出3.7 V,通過(guò)TPS63031電源穩壓芯片可將電壓穩到3.3 V,從而給控制部分供電;通過(guò)CN5136升壓穩壓芯片將電壓穩定到5 V給傳感器模塊供電。人體感應傳感器采用HC—SR501人體感應模塊;氣體傳感器采用MQ-2氣體傳感器模塊,可檢測液化氣、丁烷、丙烷、甲烷、酒精、氫氣、煙霧等。各傳感器的狀態(tài)通過(guò)ZigBee發(fā)送到網(wǎng)關(guān),硬件框圖如圖4所示。

2.4 家電控制子系統硬件設計
家電控制室通過(guò)控制繼電器的開(kāi)關(guān)來(lái)實(shí)現,家電控制子系統采用可充電鋰電池供電,通過(guò)TP4054充電芯片實(shí)現給鋰電池充電。鋰電池輸出3.7 V,通過(guò)TPS63031電源穩壓芯片可將電壓穩定到3.3 V,從而給控制部分供電;通過(guò)CN5136升壓穩壓芯片將電壓穩定到5 V給繼電器模塊供電。CC2530單片機將本地按鍵控制和遠程控制繼電器的狀態(tài)傳送到網(wǎng)關(guān);另外也接受網(wǎng)關(guān)發(fā)來(lái)的指令控制繼電器的開(kāi)閉,硬件框圖如圖5所示。

3 系統軟件功能設計
系統中各傳感器子系統通過(guò)ZigBee把數據傳送到網(wǎng)關(guān),網(wǎng)關(guān)通過(guò)WiFi傳送到服務(wù)器,當溫度超過(guò)設定值、室內有人或無(wú)人、氣體濃度超標或正常,家電打開(kāi)與關(guān)閉時(shí)網(wǎng)關(guān)會(huì )通過(guò)SMS方式通知用戶(hù)。手機終端可訪(fǎng)問(wèn)服務(wù)器查看各傳感器的值和狀態(tài),還可以通過(guò)SMS發(fā)送控制指令到達網(wǎng)關(guān),然后網(wǎng)關(guān)通過(guò)ZigBee控制家電的開(kāi)關(guān)。
3.1 網(wǎng)關(guān)子系統軟件設計
網(wǎng)關(guān)子系統實(shí)現兩個(gè)功能:一是ZigBee模塊接收各傳感器子系統的狀態(tài),通過(guò)串口發(fā)送到STM32處理器,處理器通過(guò)組幀、判斷,然后通過(guò)GPRS/WiFi上傳到服務(wù)器;二是接收手機終端的指令然后通過(guò)ZigBee下發(fā)到各傳感器。網(wǎng)關(guān)功能程序流程如圖6所示。

3.2 溫濕度子系統軟件設計
溫濕度子系統可以獲得環(huán)境溫濕度值,系統上電后,CC2530控制器每隔5 s獲得數字溫濕度傳感器SHT1采集到環(huán)境的溫濕度值,通過(guò)I2C發(fā)送到OLED顯示屏顯示,并且進(jìn)行溫濕度組幀通過(guò)ZigBee把溫度和濕度值實(shí)時(shí)傳送到網(wǎng)關(guān)。網(wǎng)關(guān)判斷當兩次傳送的溫度值或濕度值有變化時(shí),會(huì )把變化的溫濕度值組幀后上傳到服務(wù)器。當網(wǎng)關(guān)判斷溫度值超過(guò)40 ℃時(shí)會(huì )發(fā)送報警短信通知用戶(hù)。溫度和濕度值可精確到個(gè)位數,如溫度25℃,濕度56%。溫濕度子系統框圖如圖7所示。

3.3 人體感應和氣體探測系統軟件設計
人體感應和氣體探測子系統可以得到室內是否有人和室內氣體濃度狀況。MQ-2氣體傳感器模塊檢測到氣體濃度超標后會(huì )在輸出端輸出低電平,氣體濃度正常時(shí)會(huì )在輸出端輸出3.3 V高電平。當系統上電后控制器CC2530部分會(huì )每隔5 s檢測傳感器的輸出端,并會(huì )把傳感器的輸出通過(guò)ZigBee傳送到網(wǎng)關(guān),網(wǎng)關(guān)判斷兩次傳送值不相同時(shí),會(huì )把數據組幀后上傳到服務(wù)器并短信通知用戶(hù)氣體濃度超標或者正常。人體感應傳感器HC-SR501,人進(jìn)入其感應范圍則輸出端輸出3.3 V高電平,人離開(kāi)感應范圍則自動(dòng)延時(shí)關(guān)閉3.3 V高電平,輸出端輸出低電平。系統上電后控制部分會(huì )每隔5 s檢測傳感器的輸出端,并把傳感器的輸出通過(guò)ZigBee傳送到網(wǎng)關(guān),網(wǎng)關(guān)判斷兩次傳送到網(wǎng)關(guān)的值同時(shí)會(huì )把數據上傳到服務(wù)器,并短信通知用戶(hù)有人進(jìn)入或人離開(kāi)。子系統框圖如圖8所示。

3.4 家電控制子系統軟件設計
家電控制子系統可實(shí)現對室內燈和家電的開(kāi)關(guān)控制。繼電器可外接燈和家電,對燈和家電的開(kāi)關(guān)控制室通過(guò)控制繼電器的開(kāi)關(guān)來(lái)實(shí)現??刂评^電器的開(kāi)閉有兩種方式:一種是通過(guò)本地按鍵,當短按按鍵時(shí)CC2530輸出低電平,繼電器開(kāi)關(guān)閉合;當長(cháng)按按鍵時(shí)CC2530單片機輸出3.3 V電平時(shí)繼電器開(kāi)關(guān)斷開(kāi);按鍵控制繼電器開(kāi)關(guān)閉合和斷開(kāi)時(shí)會(huì )通過(guò)ZigBee把繼電器的這兩種狀態(tài)傳送到網(wǎng)關(guān),網(wǎng)關(guān)再通過(guò)WiFi傳送到服務(wù)器。另一種是手機軟件通過(guò)SMS發(fā)送開(kāi)關(guān)指令到達網(wǎng)關(guān),網(wǎng)關(guān)再通過(guò)ZigBee控制繼電器的開(kāi)閉,從而實(shí)現遠程控制家電和燈的開(kāi)關(guān),通過(guò)遠程控制繼電器,繼電器打開(kāi)和閉合后控制部分會(huì )把這兩種狀態(tài)傳送到網(wǎng)關(guān),網(wǎng)關(guān)再通過(guò)WiFi傳送到服務(wù)器并通過(guò)短信告知用戶(hù)。子系統框圖如圖9所示。

3.5 手機監控軟件設計
手機終端用于遠程監測氣體濃度是否超標、屋里是否有人、室內溫濕度值和家電的開(kāi)關(guān)狀態(tài)以及遠程控制家電的開(kāi)關(guān)。監控軟件主要包括注冊本機手機號碼到網(wǎng)關(guān)、通過(guò)刷新訪(fǎng)問(wèn)服務(wù)器獲得各傳感器的最新?tīng)顟B(tài)和遠程控制燈的開(kāi)關(guān),軟件框圖如圖10所示。

4 系統運行測試
系統以手機終端為用戶(hù)操作界面,可以實(shí)時(shí)遠程監測溫濕度、家電狀態(tài)、室內是否有人和室內氣體濃度是否超標,還可以遠程控制家電開(kāi)關(guān),從而實(shí)現遠程家庭安防,遠程火災報警、遠程家電控制等家庭基本的家居控制功能。系統操作過(guò)程簡(jiǎn)單,運行系統前需要進(jìn)行設置,網(wǎng)關(guān)設置主要使WiFi能加入WiFi熱點(diǎn)從而接通互聯(lián)網(wǎng),設置服務(wù)器的IP和端口號,使數據能上傳到服務(wù)器。手機終端設置主要是需要注冊用戶(hù)手機號碼,通過(guò)發(fā)送短信給網(wǎng)關(guān)使網(wǎng)關(guān)保存用戶(hù)的手機號碼,以便網(wǎng)關(guān)給用戶(hù)發(fā)送報警短信。
網(wǎng)關(guān)設置主要是對WiFi模塊的設置,WiFi模塊需要設置無(wú)線(xiàn)熱點(diǎn)的SSID和密碼、數據傳輸協(xié)議以及服務(wù)器的IP和端口號。
(1)打開(kāi)串口調試助手,選擇波特率為115 200bit·s-1,數據位為8位,停止位為1位。在字符串輸入框輸入“+++”點(diǎn)擊發(fā)送,在看到數據接收框中收到“+OK”后表示設置成功,如圖11所示。
(2)關(guān)閉串口調試助手,打開(kāi)UART—WIFI配置管理程序,點(diǎn)擊搜索,就會(huì )出現WiFi的設備ID,在右邊設置無(wú)線(xiàn)熱點(diǎn)名稱(chēng)和數據傳輸協(xié)議以及服務(wù)器的IP和端口號如圖12所示,設置完成后點(diǎn)擊提交修改,出現參數修改完成的提示,WiFi模塊設置成功。

在網(wǎng)關(guān)設置完成后,給網(wǎng)關(guān)上電運行。然后手機安裝掌上樂(lè )居APP,打開(kāi)應用程序,出現如圖13所示界面,點(diǎn)擊設置,在號碼輸入框輸入網(wǎng)關(guān)SIM卡的11位手機號碼點(diǎn)擊注冊新號碼,收到網(wǎng)關(guān)發(fā)回來(lái)的“號碼注冊成功”短信內容后,表明網(wǎng)關(guān)存儲用戶(hù)手機號碼成功。

當用戶(hù)手機號碼改變時(shí),打開(kāi)手機終端,輸入原有的網(wǎng)關(guān)手機號碼,點(diǎn)擊“清除所有號碼”,當收到網(wǎng)關(guān)發(fā)來(lái)的短信“號碼清除成功”,此時(shí)網(wǎng)關(guān)存儲的用戶(hù)原來(lái)的手機號碼就被擦出。接下來(lái)可重新向網(wǎng)關(guān)注冊新的手機號碼。
開(kāi)啟在WiFi模塊里設置的無(wú)線(xiàn)熱點(diǎn),給網(wǎng)關(guān)上電運行,WiFi會(huì )加入此熱點(diǎn),然后開(kāi)啟各傳感器子系統,傳感器子系統會(huì )加入網(wǎng)關(guān)ZigBee的網(wǎng)絡(luò )中。手機終端可以查看室內各傳感器的狀態(tài)并控制家電的開(kāi)關(guān)。如圖14所示。
5 結束語(yǔ)
系統采用目前主流的ZigBee無(wú)線(xiàn)技術(shù)、移動(dòng)通信技術(shù)、互聯(lián)網(wǎng)技術(shù)和嵌入式系統與接口技術(shù)。ZigBee無(wú)線(xiàn)技術(shù)具有近距離、低復雜度、自組網(wǎng)、低功耗、低數據速率、低成本的特點(diǎn)。系統采用ZigBee無(wú)線(xiàn)技術(shù)實(shí)現了各傳感器與網(wǎng)關(guān)的數據傳送。網(wǎng)關(guān)采用意法半導體生產(chǎn)的STM32F107單片機作為主控制器組成嵌入式控制系統,實(shí)現了數據的傳輸鏈路轉換和系統控制;采用WiFi/CPRS模塊實(shí)現了網(wǎng)關(guān)接入互聯(lián)網(wǎng),從而把數據上傳到服務(wù)器中,實(shí)現了手機終端實(shí)時(shí)監測與控制;采用SIM900A模塊把網(wǎng)關(guān)接入移動(dòng)通信網(wǎng)絡(luò )中,實(shí)現短信報警功能。
評論