文/王爽
隨著電子技術的發展,電器的使用越來越智能化,而對電器的遠程控制的應用需求也越來越多。對于電器的遠程控制,我們可以使用專用的遠程控制端和通過其他無線設備進行控制兩種方法實現。利用專用遠程控制端進行控制需要針對每個電器開發一個控制端,并且控制距離也會受到無線信號的影響。因此利用手機及現有的移動通信網絡就成為一個很好的選擇,然而在某些情況下的遠程控制是無法或者不方便使用數據網絡進行控制,這就需要通過手機的話音系統進行控制。本文中主要討論了通過GSM模塊,利用手機的話音系統傳遞按鍵對應的DTMF(雙音多頻)信號,實現遠程手機對電源控制的系統設計。
DTMF(雙音多頻)是由貝爾實驗室開發的信令方式,通過承載語音的話音系統傳送電話撥號信息。每個數字利用兩個特定的單音組合信號來表示,并且DTMF信號的抗干擾性較強,一般情況下,聲音信號很難造成對DTMF接收器的錯誤觸發。
本系統的設計是使用DTMF技術作為控制信號的載體,因此作為遠程控制端的手機,只需要是按鍵正常并且可以正常撥打電話,就可以實現遠程控制。而受控端通過一個合理的算法,運用程序實現通過GSM模塊接收并解析遠程控制手機的按鍵控制信號,并根據控制信號對相應的電源進行控制,進而實現對電器的遠程控制。
2.1.1 硬件框架設計
本系統使用的主要芯片包括:單片機89C52、GSM模塊、DTMF解碼芯片MT8870,DTMF信號發生器HT9200A。GSM模塊采用BenQ的M22,M22通過串行通信接口與單片機進行鏈接。單片機的重點是通過DTMF解碼芯獲取并解析用戶命令,通過Ι/Ο口控制繼電器實現對電源的控制,并通過DTMF信號發生器給予用戶反饋(圖1)。
2.1.2 硬件接口設計

圖1:系統總體框架

圖2:系統流程圖

圖3:控制命令解析流程圖
單片機89C52通過串行通訊接口與GSM模塊M22連接,用于AT命令的發送與M22反饋信號的接收;單片機89C52通過P0.0至P0.4五個接口與DTMF解碼模塊MT8870連接,用于接收與MT8870傳回的DTMF解碼信號;單片機89C52通過P2.1至P2.3三個接口與DTMF發生模塊HT9200A連接,用于向HT9200A發送需要向用戶發送的反饋信號,供HT9200A生成DTMF反饋信號。GSM模塊M22的AUXΙ接口與DTMF發生模塊HT9200A連接,用于接收HT9200A生成的需要向用戶發送的DTMF反饋信號;GSM模塊M22的AUXΟP接口與DTMF解析模塊MT8870連接,用于向MT8870發送控制命令的DTMF信號,供MT8870解析。
2.2.1 基本算法
本系統是通過單片機對GSM模塊和其他模塊進行控制從而達到目的。因此在開始通電之后單片機應先通過AT命令,查看GSM模塊是否正常啟動,SΙM卡插槽內是否有SΙM卡,在確定正常啟動之后單片機轉入待機狀態。當外界有電話打入時,GSM模塊會給單片機發送一個信號,這時單片機通過AT命令將電話接起,同時給DTMF模塊一個信號使其發出一個已接通電話的聲音。當用戶通過手機發送命令時,通過DTMF解碼芯片解析GSM模塊接收到的用戶命令并反饋回單片機,單片機通過DTMF模塊發送一個信號告訴用戶其按的是哪個命令的同時,向相應的電源控制模塊發送信號,打開/關閉相應的電源。在電源接通后,向M22發送掛機的AT命令。這樣一次的操作就結束了(圖2)。
算法的重點在于正確的解析用戶的按鍵命令。用戶通過手機按鍵發送信號,這里本系統使用的命令具體格式為:*數字1*數字2#。其中“數字1”為要控制的電源編號,在本系統使用了3路電源控制,序號分別為01,02,03;“數字2”為開關命令,1為開,0為關。
2.2.2 控制命令解析算法
由于M22不支持直接將DTMF信號轉換發送給89C52。所以我們在這使用了MT8870芯片的解碼功能,將手機按鍵命令的DTMF信號進行解析成單片機89C52可識別的數據。再由單片機89C52分析這些數據是否符合命令規則,并根據命令執行相應的指令(圖3)。
本文所介紹的系統通過單片機控制GSM模塊接聽用戶來電,并解析用戶按鍵命令,按照用戶命令控制相應的電器電源以實現電器的遠程控制。因為GSM模塊M22同時支持短信的收發功能,在后期可以進行二次開發,增加短信解析算法,實現用戶通過短信實程控制,并且也可以利用單片機剩余接口增加傳感器,向用戶反饋電器運行狀況。