智能家居控制系統設計方案
文章出處:http://5052h112.com 作者:中國一卡通收錄 人氣: 發表時間:2011年12月20日
21世紀是信息化的世紀,各種通信和互聯網等技術推動了人類文明的巨大進步。智能家居控制系統的出現使得人們可以通過手機或者互聯網在任何時候、任意地點對家中的任意電器(空調、熱水器、電飯煲、燈光、音響、DVD錄像機)進行遠程控制;可以在下班途中,預先將家中的空調打開、讓熱水器提前燒好熱水、電飯煲煮好香噴噴的米飯……而這一切的實現都僅僅是輕輕的點幾下手機按鍵或鼠標。此外,該系統還可使家庭具有多途徑報警、遠程監聽、數字留言等多種功能,如果不幸出現某種險情,您和110可以在第一時間獲得通知以便進一步采取行動。舒適、時尚的家居生活是社會進步的標志,智能家居系統能夠在不改變家中任何家電的情況下,家內家外(在家內通過無線局域網,在家外通過電信或互聯網)都能對家里的電器、燈光、電源、家庭環境進行方便的控制,使人們盡享高科技帶來的簡便而時尚的現代生活。
1 智能家居系統控制的工作原理
本系統是基于紅外和GSM 網絡的用于智能家居環境中的一種遠程自動控制系統。其工作原理為:用戶通過自身的手機發出命令短消息,在家值守的GSM模塊接收到命令后發送給主機(單片機),主機通過對命令的處理,把命令通過紅外傳輸到相應的分機(單片機)上,分機對命令處理后,啟動相應設備,完成用戶給出的命令并向主機回復應答,主機收到應答后,通過GSM 模塊發出回復短消息,報告用戶完成命令。若在規定的時間內(這里定時60s)主機沒有接收到分機的回復信息,即把該操作認為無效,回復操作無效短消息給用戶手機,要求用戶重新發出命令。若收到的短信息有誤,主機便立刻回復用戶該操作無效,請求重新發出命令。系統構成如圖1所示。
圖1 系統構成圖
2 硬件設計
2.1 MCU與GSM 通信模塊
本單片機通過RS232串行通信接口與GSM 模塊通信,提取GSM 設備的短信,發送相關的信息,并通過串行通信接口與紅外模塊相連,利用紅外模塊,達到主、分機之間的通信,因此,選用AT89S52芯片。控制上需要用到兩個串行接口,但89S52只有一個串口,故還需要在程序中進行模擬串行接口通信。其最簡外部接線電路如圖2所示。
圖2 AT89S52外部接線
89S52與TC35之間通過異步串行接口進行通信,通信速率為9 600b/s,具有1位起始位、8位數據位、1位停止位,無奇偶校驗。
單片機啟動后,便發出AT+CMGD一2指令,清除第二存儲空間的數據,然后不斷地發出指令讀取第二存儲空間。若有數據,即表示接收到數據,并開始對數據進行處理,處理完畢后再把該空間數據刪除。當單片機向手機發出短消息時,單片機會向GSM 模塊發出AT、AT+CMGF=0、AT+CMGS=X一系列的指令,當接收到回復信息后,最后發出短消息的內容。
2.2 紅外無線通信模塊
紅外發送器電路如圖3所示包括38kHz晶體振蕩器、反相器、與非門、驅動門Q1和紅外發射管D1等部分。其中38kHz晶體振蕩器、電阻R3和反相器組成脈沖振蕩器,用以產生38kHz的脈沖序列作為載波信號,紅外發射管D1選用Vishay公司生產的TSAL6238,用來向外發射950nm 的紅外光束。
圖3 紅外發射器電路圖。
紅外接收器電路如圖4所示,當接收器收到數位"O"時,Q2管導通,使得RXD接收到低電平,收到數位"1"時,Q2管截至,RXD接收到高電平。
圖4 紅外接收器電路圖
2.3 模擬控制
本系統將以不同的電機做出不同的動作,來模擬說明智能家居對系統控制的響應。如圖5所示,當分機的單片機收到本機的地址信息,便提取信息中的數據,根據數據的命令,若把P0.0,P0.1腳置成低電平,其他為高電平,則Q3、Q4管導通,電機便正向旋轉,若把P0.2,P0.3腳置成低電平,其他為高電平,則Q5、Q6管導通,電機便反向旋轉(以前一情況為正向時)。若一臺分機上連多個電機,有多臺分機,便可以實現在智能家居環境中對家庭各個設備的同步控制。
圖5 電機驅動電路
3 軟件設計
3.1 單片機主程序設計
主機上電復位后進行初始化,然后不斷地對GSM模塊進行掃描查詢。當查詢到GSM 模塊接收到用戶發送的短信時,便對短信進行處理,提取相關信息,然后通過紅外模塊相分機發送相應的命令數據。接著就在一定時間(可根據用戶需要調整,這里設為60s)內等待分機的回復信息。當接收到回復信息或規定時間內沒有接收到分機的回復信息,主機都返回到掃描查詢狀態。主機主程序流程圖如圖6所示。
圖6 主程序流程圖。
分機上電復位后進行初始化,然后等待接收主機發送的命令信息。接收到命令信息后,從中提取地址和數據信息,若為本分機地址,則對數據進行處理并作出響應,同時向主機發送確定信息;若非本分機地址,則返回,繼續等待主機發送的命令信息。分機主程序流程圖如圖6(b)所示。
3.2 中斷程序設計
本系統需要模擬串行數據發送和接收,所以需要用上外部中斷來接收數據,確保數據傳輸的同步性和實時性。每接收一位數據,中斷都會響應一次,接收8位為一個有效數據,接收8個數據為一個數據幀。外部中斷流程圖如圖7(a)所示。
圖7 中斷程序流程框圖。
為了確保主機正常工作。加入主機等待分機回復的等待時間。而為了時間的實時性和準確性,用到單片機內部的定時器1.設定其工作模式為模式1,初值為Ox4bff(5Oms)。中斷20次為1s,60次循環為60s,當60s到時,標志位置位后返回。時間中斷流程圖如圖7(b)所示。
4 結論
本系統安全可靠,性能穩定。同時本系統除用于家庭設備遠程自動控制外,也可用于家庭通信、家庭安全防范,共同組建智能家居控制系統。