一種基于STM32的智能家居系統(tǒng)設(shè)計
STM32的軟件控制流程如圖4所示。
(1)藍(lán)牙子進(jìn)程程序設(shè)計,KEY位置高電平進(jìn)入AT指令模式,通過發(fā)送AT指令進(jìn)行藍(lán)牙模塊的設(shè)置,例如USART_Send_Cmd(“%srn”,atstr);設(shè)置完成后KEY位置低進(jìn)入數(shù)據(jù)透傳模式,進(jìn)行數(shù)據(jù)傳輸。接受到指令后返回數(shù)據(jù),手機(jī)端對返回數(shù)據(jù)進(jìn)行分析,如果接受錯誤數(shù)據(jù),則手機(jī)端重新發(fā)送數(shù)據(jù)。接收到正確數(shù)據(jù)后發(fā)送給相應(yīng)的模塊,執(zhí)行相應(yīng)的操作。藍(lán)牙軟件設(shè)計流程如圖5所示。
(2)紅外子進(jìn)程程序設(shè)計,先初始化紅外模塊,對要發(fā)送的數(shù)據(jù)解碼后編碼再經(jīng)過紅外模塊發(fā)送出去。判斷是否發(fā)送結(jié)束,未發(fā)送完整則繼續(xù)發(fā)送。紅外軟件設(shè)計流程如圖6所示。
(3)報警子進(jìn)程程序設(shè)計,初始化報警模塊,將一個家用煙感探測器與報警模塊相連,一旦超過設(shè)定值報警模塊通過STM32系統(tǒng)將報警信息,發(fā)送送到手機(jī)或其他終端設(shè)備上實現(xiàn)智能報警。判斷是否有報警信息,如果有報警信息則通過串口1將數(shù)據(jù)發(fā)送給STM32芯片,再執(zhí)行報警函數(shù)。
2.3 該系統(tǒng)在智能家居系統(tǒng)中的應(yīng)用
要控制紅外設(shè)備必須先學(xué)習(xí)控制該設(shè)備的紅外碼。首先,通過半口工具連接到該模塊,將該設(shè)備的遙控器對準(zhǔn)紅外接收頭,通過半口工具發(fā)送對應(yīng)的報文,按下需要學(xué)習(xí)的鍵,然后就可以收到該控制鍵對應(yīng)的紅外碼。將學(xué)習(xí)到的紅外碼保存在QT的槽函數(shù)內(nèi)。實現(xiàn)了一個手機(jī)或終端設(shè)備智能的控制家電,并且實現(xiàn)了智能報警。
3 結(jié)束語
綜上所述,可知基于STM32的智能家居系統(tǒng)實現(xiàn)簡單,應(yīng)用廣泛。而藍(lán)牙技術(shù)的成熟和普及,可以將各種遙控器由一個Android手機(jī)軟件所代替,實現(xiàn)了智能化的控制電視、風(fēng)扇、空調(diào)等設(shè)備。通過在室內(nèi)安裝多個STM32系統(tǒng),可以實現(xiàn)對每間房間的控制?;赟TM32的智能家居系統(tǒng)綜合了多門技術(shù),主要包括視藍(lán)牙通信、紅外遙控技術(shù)、433報警等,隨著這些技術(shù)的發(fā)展,該智能家居系統(tǒng)將擁有更為廣闊的發(fā)展空間。
紅外遙控器相關(guān)文章:紅外遙控器原理萬能遙控器相關(guān)文章:萬能遙控器代碼
c語言相關(guān)文章:c語言教程
評論