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