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