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