中心議題:
- 智能家居系統(tǒng)控制的工作原理
- 智能家居系統(tǒng)的設計方案
解決方案:
- GSM 通信模塊設計
- 紅外無線通信模塊設計
- 模擬控制設計
- 單片機主程序設計
- 中斷程序設計
本文研究和設計了一種應用于智能家居環(huán)境中的遠程自動控制系統(tǒng)方案。它將操作指令由GSM 手機經GSM網絡傳至家中的值守GSM 模塊,再由該GSM 模塊通過由單片機控制的紅外無線局域網傳輸紅外信息來控制家電動作,完成對信息家電的控制意圖,并可將信息家電的信息反饋回來, 以便進行下一步的控制。系統(tǒng)安全可靠,性能穩(wěn)定。同時該系統(tǒng)除用于家庭設備遠程自動控制外,也可用于家庭通信、家庭安全防范,共同組建智能家居控制系統(tǒng)。
1 智能家居系統(tǒng)控制的工作原理
本系統(tǒng)是基于紅外和GSM 網絡的用于智能家居環(huán)境中的一種遠程自動控制系統(tǒng)。其工作原理為:用戶通過自身的手機發(fā)出命令短消息,在家值守的GSM模塊接收到命令后發(fā)送給主機(單片機),主機通過對命令的處理,把命令通過紅外傳輸?shù)较鄳姆謾C(單片機)上,分機對命令處理后,啟動相應設備,完成用戶給出的命令并向主機回復應答,主機收到應答后,通過GSM 模塊發(fā)出回復短消息,報告用戶完成命令。若在規(guī)定的時間內(這里定時60s)主機沒有接收到分機的回復信息,即把該操作認為無效,回復操作無效短消息給用戶手機,要求用戶重新發(fā)出命令。若收到的短信息有誤,主機便立刻回復用戶該操作無效,請求重新發(fā)出命令。系統(tǒng)構成如圖1所示。
圖1 系統(tǒng)構成圖
[page]
2 硬件設計
2.1 MCU與GSM 通信模塊
本單片機通過RS232串行通信接口與GSM 模塊通信,提取GSM 設備的短信,發(fā)送相關的信息,并通過串行通信接口與紅外模塊相連,利用紅外模塊,達到主、分機之間的通信,因此,選用AT89S52芯片??刂粕闲枰玫絻蓚€串行接口,但89S52只有一個串口,故還需要在程序中進行模擬串行接口通信。其最簡外部接線電路如圖2所示。
圖2 AT89S52外部接線
89S52與TC35之間通過異步串行接口進行通信,通信速率為9 600b/s,具有1位起始位、8位數(shù)據位、1位停止位,無奇偶校驗。
單片機啟動后,便發(fā)出AT+CMGD一2指令,清除第二存儲空間的數(shù)據,然后不斷地發(fā)出指令讀取第二存儲空間。若有數(shù)據,即表示接收到數(shù)據,并開始對數(shù)據進行處理,處理完畢后再把該空間數(shù)據刪除。當單片機向手機發(fā)出短消息時,單片機會向GSM 模塊發(fā)出AT、AT+CMGF=0、AT+CMGS=X一系列的指令,當接收到回復信息后,最后發(fā)出短消息的內容。
2.2 紅外無線通信模塊
紅外發(fā)送器電路如圖3所示包括38kHz晶體振蕩器、反相器、與非門、驅動門Q1和紅外發(fā)射管D1等部分。其中38kHz晶體振蕩器、電阻R3和反相器組成脈沖振蕩器,用以產生38kHz的脈沖序列作為載波信號,紅外發(fā)射管D1選用Vishay公司生產的TSAL6238,用來向外發(fā)射950nm 的紅外光束。
圖3 紅外發(fā)射器電路圖。
[page]
紅外接收器電路如圖4所示,當接收器收到數(shù)位"O"時,Q2管導通,使得RXD接收到低電平,收到數(shù)位"1"時,Q2管截至,RXD接收到高電平。
圖4 紅外接收器電路圖
2.3 模擬控制
本系統(tǒng)將以不同的電機做出不同的動作,來模擬說明智能家居對系統(tǒng)控制的響應。如圖5所示,當分機的單片機收到本機的地址信息,便提取信息中的數(shù)據,根據數(shù)據的命令,若把P0.0,P0.1腳置成低電平,其他為高電平,則Q3、Q4管導通,電機便正向旋轉,若把P0.2,P0.3腳置成低電平,其他為高電平,則Q5、Q6管導通,電機便反向旋轉(以前一情況為正向時)。若一臺分機上連多個電機,有多臺分機,便可以實現(xiàn)在智能家居環(huán)境中對家庭各個設備的同步控制。
圖5 電機驅動電路
[page]
3 軟件設計
3.1 單片機主程序設計
主機上電復位后進行初始化,然后不斷地對GSM模塊進行掃描查詢。當查詢到GSM 模塊接收到用戶發(fā)送的短信時,便對短信進行處理,提取相關信息,然后通過紅外模塊相分機發(fā)送相應的命令數(shù)據。接著就在一定時間(可根據用戶需要調整,這里設為60s)內等待分機的回復信息。當接收到回復信息或規(guī)定時間內沒有接收到分機的回復信息,主機都返回到掃描查詢狀態(tài)。主機主程序流程圖如圖6所示。
圖6 主程序流程圖。
分機上電復位后進行初始化,然后等待接收主機發(fā)送的命令信息。接收到命令信息后,從中提取地址和數(shù)據信息,若為本分機地址,則對數(shù)據進行處理并作出響應,同時向主機發(fā)送確定信息;若非本分機地址,則返回,繼續(xù)等待主機發(fā)送的命令信息。分機主程序流程圖如圖6(b)所示。
3.2 中斷程序設計
本系統(tǒng)需要模擬串行數(shù)據發(fā)送和接收,所以需要用上外部中斷來接收數(shù)據,確保數(shù)據傳輸?shù)耐叫院蛯崟r性。每接收一位數(shù)據,中斷都會響應一次,接收8位為一個有效數(shù)據,接收8個數(shù)據為一個數(shù)據幀。外部中斷流程圖如圖7(a)所示。
圖7 中斷程序流程框圖。
為了確保主機正常工作。加入主機等待分機回復的等待時間。而為了時間的實時性和準確性,用到單片機內部的定時器1.設定其工作模式為模式1,初值為Ox4bff(5Oms)。中斷20次為1s,60次循環(huán)為60s,當60s到時,標志位置位后返回。時間中斷流程圖如圖7(b)所示。
4 結論
本系統(tǒng)安全可靠,性能穩(wěn)定。同時本系統(tǒng)除用于家庭設備遠程自動控制外,也可用于家庭通信、家庭安全防范,共同組建智能家居控制系統(tǒng)。