摘 要 本設(shè)計通過結(jié)合了ARM和ZigBee兩大技術(shù),搭建了一個智能家居環(huán)境監(jiān)測系統(tǒng)。實(shí)現(xiàn)了對家居中的溫度、濕度、煙霧濃度的監(jiān)控。硬件方面,采用了STM32采集數(shù)據(jù),ZigBee模塊傳輸信息,ARM9作為處理器進(jìn)行統(tǒng)一處理信息。軟件方面,利用Qt編寫上位機(jī)程序。然后移植到ARM,平臺,實(shí)現(xiàn)了ARM板對家居的監(jiān)測。
【關(guān)鍵詞】STM32 智能家居 ZigBee 監(jiān)測
1 引言
隨著人們生活需求的提高,家居智能化控制已成為一種必然趨勢。本系統(tǒng)在研究了嵌入式開發(fā)技術(shù)和ZigBee網(wǎng)絡(luò)技術(shù)的基礎(chǔ)上,使用ARM9微處理器芯片設(shè)計為核心,實(shí)現(xiàn)大面積的多點(diǎn)溫度、濕度以及煙霧濃度進(jìn)行實(shí)時監(jiān)測,并將數(shù)據(jù)通過無線網(wǎng)絡(luò)傳輸?shù)娇刂破鬟M(jìn)行數(shù)據(jù)存儲和分析,最終實(shí)現(xiàn)了家居室內(nèi)監(jiān)測系統(tǒng)。
2 智能家居環(huán)境檢測系統(tǒng)總體設(shè)計
系統(tǒng)主要以STM32嵌入式控制芯片為主,外接各種控制模塊電路,利用溫濕度傳感器、煙霧傳感器以及光照傳感器對室內(nèi)狀況進(jìn)行檢測,并將檢測到的數(shù)據(jù)發(fā)送到嵌入式控制器進(jìn)行數(shù)據(jù)分析,當(dāng)有異常狀況發(fā)生時,嵌入式控制器立即做出相應(yīng)的處理并發(fā)出報警。并通過ZigBee發(fā)送給ARM端的上位機(jī)中,同時將數(shù)據(jù)保存到sqlite數(shù)據(jù)庫中,方便用戶直觀的查看室內(nèi)狀態(tài)。外圍電路則由光敏傳感器、溫度傳感器、濕度傳感器、煙霧傳感器模塊組成,與嵌入式器件相連接,實(shí)現(xiàn)了控制芯片的通信。
3 系統(tǒng)硬件設(shè)計
本系統(tǒng)電路設(shè)計主要包括以下幾個功能模塊的設(shè)計:
3.1 光強(qiáng)檢測模塊
通過光敏二極管電路接收裝置來檢測光照強(qiáng)度,將光值轉(zhuǎn)換為電信號,以供單片機(jī)處理判斷關(guān)照條件,決定是否自動開啟燈光。
3.2 煙霧濃度采集模塊
通過驅(qū)動MQ_2傳感器實(shí)現(xiàn)對環(huán)境中液化氣、丁烷、丙烷、甲烷、酒精、煙霧等敏感氣體的檢測,及時傳輸給單片機(jī)后進(jìn)行條件判斷,環(huán)境煙霧濃度值是否超過閥值。
3.3 溫度數(shù)據(jù)采集模塊
使用靈敏度系數(shù)比較高的DS18B20芯片。該芯片檢測靈敏度高、穩(wěn)定性好、價格便宜,因此很適合用于本系統(tǒng)。
3.4 濕度采集模塊
溫濕度采集使用DHT11傳感器,該傳感器可以同時輸出溫度和濕度,只需按照規(guī)定的時序進(jìn)行讀寫即可。
3.5 LED電路的設(shè)計
本次系統(tǒng)通過模擬LED實(shí)現(xiàn)對家庭照明燈的控制,所有的燈均是共陽,控制時只需要給對應(yīng)控制管腳低電平即可實(shí)現(xiàn)。
3.6 ZigBee通信接口電路
ZigBee通信接口為串口,因此只需留出對應(yīng)的串口接口即可,系統(tǒng)使用串口2作為通信接口。
3.7 控制部分功能的實(shí)現(xiàn)
系統(tǒng)中硬件控制部分主控芯片選擇STM32F103C8T6。該芯片具有64KB的SRAM和32位地址數(shù)據(jù)線,其性能和傳統(tǒng)的8位51單片機(jī)相比提高了數(shù)倍,因此足以實(shí)現(xiàn)本系統(tǒng)控制部分功能。輔助電路的設(shè)計:復(fù)位電路、振蕩電路、按鍵電路及初始位置定位設(shè)計,還有額外添加的串口輸出模塊,方便調(diào)試和維護(hù)。
4 系統(tǒng)軟件設(shè)計
本系統(tǒng)軟件方面,利用Qt編寫上位機(jī)程序。然后移植到ARM平臺,實(shí)現(xiàn)了ARM板對家居的監(jiān)測。軟件設(shè)計總體上分為STM32數(shù)據(jù)采集、ZigBee網(wǎng)絡(luò)數(shù)據(jù)發(fā)送和接收、嵌入式平臺的搭建以及基于Qt技術(shù)的系統(tǒng)主控軟件的設(shè)計。上位機(jī)部分的軟件設(shè)計實(shí)時顯示當(dāng)前家居內(nèi)的溫濕度、煙霧濃度以及LED燈的狀態(tài)燈信息,還可以實(shí)現(xiàn)實(shí)時控制LED燈的狀態(tài)。下位機(jī)STM32單片機(jī)中移植了一款嵌入式操作系統(tǒng)μC/OS-II,所以的傳感器都是以獨(dú)立任務(wù)的形式在運(yùn)行,使得整個程序比較流暢、效率比較高,系統(tǒng)的穩(wěn)定性也得到了調(diào)高。
5 通信協(xié)議設(shè)計
ZigBee網(wǎng)絡(luò)中傳遞的是信息叫ZigBee消息,一個ZigBee消息由127個字節(jié)組成, 在本智能家居系統(tǒng)設(shè)計中,采用的ZigBee協(xié)議幀格式為MsG格式。通信協(xié)議作為一個比較重要的部分,它完成了系統(tǒng)中數(shù)據(jù)的封裝和解析依據(jù)。本系統(tǒng)中通信協(xié)議使用自定義的,數(shù)據(jù)幀結(jié)構(gòu)體的定義如下:
typedef struct Protocol{
u8 send_begin; //起始標(biāo)志 以“#”開始
u8 potocol_len; //信息長度 可變長
u8 device; //設(shè)備名
u8 device_cmd; //設(shè)備命令
u8 date_len; //數(shù)據(jù)長度 沒有為0
u8 *date; //數(shù)據(jù) 沒有指向空
u8 send_end; //結(jié)束標(biāo)志 以“*”結(jié)束
}protocol;
不僅在上位機(jī)和下位機(jī)通信過程中始終保持著同一份協(xié)議,數(shù)據(jù)的發(fā)送和解析都是嚴(yán)格按照此協(xié)議進(jìn)行的。
6 系統(tǒng)測試
系統(tǒng)硬件平臺的搭建以及軟件的開發(fā)完畢后,需要對系統(tǒng)進(jìn)行性能測試,以驗證整個智能家居系統(tǒng)運(yùn)行的可靠性和穩(wěn)定性。在硬件連接測試,可以點(diǎn)擊上位機(jī)中的LED燈開關(guān),發(fā)送開燈或者關(guān)燈命令,查看下位機(jī)STM32板上所連接的LED燈狀態(tài)是否改變,若改變了則證明整個硬件連接正確。此外測試系統(tǒng)是否死機(jī)的一個辦法是用手擋住光敏傳感器,若此時旁邊的LED燈亮,說明系統(tǒng)正常運(yùn)行。通過測試最終實(shí)現(xiàn)本系統(tǒng)監(jiān)測功能要求。
參考文獻(xiàn)
[1]柯國琴.基于單片機(jī)的智能家居系統(tǒng)的研究[D].合肥:合肥工業(yè)大學(xué),2010.
[2]孫常清,趙英濤.數(shù)字家庭網(wǎng)絡(luò)發(fā)展分析[J].電信科學(xué),2007(06):23-27.
[3]穆秀春著.Altium Designer原理圖與PCB設(shè)計[M].北京:電子工業(yè)出版社,2011.
[4]師振偉.基于ARM和ZigBee的智能家居無線終端控制系統(tǒng)的設(shè)計[D].西安:西安工業(yè)大學(xué),2013.
[5]馮承金.基于ZigBee和ARM9的智能家居系統(tǒng)的研究與設(shè)計[D].湖北:武漢理工大學(xué),2010.
作者簡介
劉云萍(1980-),女,山西省太原市人。碩士學(xué)位?,F(xiàn)為太原工業(yè)學(xué)院計算機(jī)工程系講師。主要從事數(shù)據(jù)庫系統(tǒng)設(shè)計研究。
作者單位
太原工業(yè)學(xué)院計算機(jī)工程系 山西省太原市 030008