基于GSM的家用電器及家居環(huán)境監(jiān)控系統(tǒng)的設計
引 言
目前的家用電器遠程控制系統(tǒng)一般是通過互聯(lián)網(wǎng)或公共交換電話網(wǎng)來實現(xiàn)遠程控制的。然而, 隨著手機日益普及, 使得利用GSM 短信息實現(xiàn)家居環(huán)境和家電的遠程監(jiān)控成為可能。它相對于電話遠程控制方式而言, 擺脫了電話線對設備的束縛; 相對于電腦遠程控制而言, 降低了設備和使用成本。
利用GSM 網(wǎng)絡來實現(xiàn)家居安防、溫室、路燈、自動售貨機等監(jiān)控的研究已很多,這些研究大都是通過使用GSM 網(wǎng)絡遠程控制繼電器而實現(xiàn)的。而本文設計的基于GSM 的家用電器及家居環(huán)境監(jiān)控系統(tǒng)主要是針對目前許多帶有紅外遙控器的家用電器( 如熱水器、空調(diào)、電視、機頂盒等) , 通過GSM 網(wǎng)絡和對家用電器遙控器的復制來實現(xiàn)家用電器的控制。
1 系統(tǒng)工作原理
基于GSM 的家用電器及家居環(huán)境監(jiān)控系統(tǒng), 由作為上位機的能收發(fā)短信的GSM 短信模塊、智能控制器( 單片機) 、溫度傳感器和作為下位機的具有紅外遙控器的家用電器( 如熱水器、空調(diào)、電視、機頂盒等)組成。
首先系統(tǒng)進行初始化, 單片機從鍵盤讀入用戶所設定的溫度上限值和發(fā)送報警短信的目標號碼, 并通過LCD 顯示器顯示出來。當單片機檢測到用戶按下紅外學習鍵, 則進入紅外線學習中斷服務程序, 讀取外部家電遙控器發(fā)射的紅外信號, 并將該紅外信號解碼, 重定義碼長, 分組, 保存, 從而學習該遙控器[ 728] .
初始化工作完成后, 單片機循環(huán)讀取溫度傳感器DS1820 數(shù)值, 并將用戶事先設定的溫度上限值與之比較, 一旦發(fā)現(xiàn)當前溫度超過溫度上限, 則控制GSM 模塊TC35i 通過GSM 網(wǎng)絡向用戶手機發(fā)送報警短信。
同時, 單片機循環(huán)查詢串口是否收到信息, 如果收到就將信息讀入單片機, 解析出短信中的內(nèi)容是要求單片機向家用電器發(fā)送何種指令, 并將代表該指令的紅外信號通過紅外發(fā)射管發(fā)射出去, 從而控制家用電器。該系統(tǒng)框圖見圖1。
圖1 系統(tǒng)方框圖
2 系統(tǒng)硬件設計
基于GSM 的家用電器及家居環(huán)境監(jiān)控系統(tǒng)主要以AT 89S52 單片機為智能控制中心, 4 @4 鍵盤和1602LCD 顯示器作為人機交互設備, GSM 通信模塊選用TC35i, DS1820 溫度傳感器用于溫度采集; 通過HS0038B 紅外接收頭接收紅外信號, 完成紅外信號的解調(diào)與放大; 同時, 利用AT89S52 單片機P1. 0 口的方波發(fā)生器功能構成了紅外信號的調(diào)制裝置, 并使用紅外LED 作為紅外發(fā)射裝置。
2. 1 GSM 模塊與單片機的連接
GSM 模塊TC35i 是3. 3 V CMOS 元器件, 要求對電源的啟動電流超過2 A, 啟動電壓達到4. 2 V.因此, 采用最大能提供3 A 電流的電源芯片LM2596.TC35i 的1~ 5 腳接LM2596 的電源輸出管腳, 6~ 10 腳接地, 25~ 27 腳與SIM 卡相連接。為了能顯示TC35i 的工作狀態(tài), 在32 腳接一個LED 指示燈到地。
TC35i 啟動之后就可以通過單片機由串口發(fā)送數(shù)據(jù)和命令到TC35i, TC35i 的波特率是自適應的, 這里采用9600 的波特率, 只要將TC35i 的RXD 和TXD 分別和單片機的TXD 和RXD 相連接就可以了。電路圖見圖2.
圖2 TC35i 與單片機的連接
2. 2 紅外接收頭與單片機的連接
紅外接收頭HS0038B 是一個集成解調(diào)、濾波、放大等功能的紅外接收芯片, 它將調(diào)制在38 kHz 方波上的紅外信號解調(diào)出來, 并通過OUT 管腳將方波輸出。HS0038B平時輸出高電平, 當有遙控信號輸入時, 其輸出為高低電平脈沖, 故接收時一個碼由一個低電平后跟一個高電平構成。利用不同長短高低電平的組合, 可構成不同的碼。在本系統(tǒng)中將使用中斷的方式讀取紅外信號, 因此將HS0038B 的OUT 管腳與單片機的外中斷0 相連接。HS0038B與單片機的連接見圖3。
圖3 紅外接收頭H S0038B 與單片機的連接[!--empirenews.page--]3 系統(tǒng)軟件設計
TC35i 可以發(fā)送中文短信或英文短信, 本系統(tǒng)使用中文短信格式即PDU 格式。先將短信的相關信息做到一個PDU 數(shù)據(jù)包里, 該包的開頭是短信中心號碼。其后的是目標手機號碼, 該號碼是將實際電話號碼相鄰的奇數(shù)位與偶數(shù)位對調(diào)最后加F 得到。如原手機號碼為12345678901, 按上述方法得到2143658709F1。
然后是該號碼的長度0D, 中國國家接入碼91, 譯碼方式00, 編碼方式08, 再往后是短信在信息中心保留時間, 一般選擇保存10 天, 即A0.最后分別是短信內(nèi)容長度和短信內(nèi)容。如要發(fā)送/ 火警0, 則短信長度為4 個16 進制為04, / 火警0經(jīng)過unicode 碼轉換程序轉換得到16 進制數(shù)據(jù)為706B 8B66.
這樣整個PDU 數(shù)據(jù)包的內(nèi)容就是:0011000D91682143658709F130008A004706B8B66.
單片機對TC35i 所有的控制都是通過串口發(fā)送AT 指令進行的, TC35i 的每一個動作都對應了一個AT 指令, 而且每一個指令之后都要有一個回車符以告訴TC35i 該條命令已經(jīng)發(fā)完。一些常用的AT 指令如表1。
表1 常用AT 指令表
當UDP 數(shù)據(jù)包打好后, 要對TC35i 進行聯(lián)機并通過TC35i 發(fā)送短信。首先通過串口發(fā)送代表聯(lián)機的指令AT , 然后設定TC35i 發(fā)送UDP 格式的短信, 其次將該PDU 數(shù)據(jù)包的長度發(fā)給TC35i, 接著將做好的PDU 發(fā)送給TC35i, 最后在后面加上ctrl+ z 的ASC 碼0x1A 和回車的ASC 碼0x0D.這樣一條中文短信就發(fā)送出去了, 發(fā)送短信程序流程見圖4。
圖4 發(fā)送短信流程圖
紅外線遙控器所發(fā)射的紅外信號的信息是以不同時長的高低電平來表示的。以NEC 編碼為例, 從9 ms 高電平開始, 以4. 5 ms低電平結束的是前導碼; 從0. 56 ms 高電平開始, 以0. 56 ms 低電平結束的是0 碼;從0. 56 ms 高電平開始, 以1. 69 ms 低電平結束的是1 碼。而由于HS0038 紅外接收頭接收紅外信號之后將把紅外信號取反, 因此高低電平延遲時間正好相反。所以一旦紅外接收頭的輸出信號引發(fā)外中斷, 延時9 ms 之后如果單片機從輸入腳讀到低電平則說明這是引導碼, 系統(tǒng)需要啟動紅外碼采集程序: 先延時4. 5 ms 放掉引導碼的低電平, 再延時0. 56 ms, 放掉第一個碼的低電平部分, 最后延時0. 8 ms, 讀輸入管腳的電壓, 如果為低, 則說明該信號為0 碼, 將其保存, 并使累加器加一, 如果為高, 則說明該信號為1 碼, 將其保存, 并把累加器加一。依次類推循環(huán)32 次后就是整個紅外信號的編碼。
根據(jù)上述思路, 開啟1 中斷, 并設置其為下降沿觸發(fā), 同時開啟T0 定時計數(shù)器, 并設置其為16 位重裝計時器。一旦紅外接收頭收到紅外信號就會引起單片機的1 號中斷, 隨即進入中斷服務子程序,在中斷服務子程序中關閉計數(shù)器并將計數(shù)器中的數(shù)值記錄下來; 然后, 判斷該數(shù)值是否在0 碼、1 碼或前導碼的時間范圍內(nèi), 如果是, 則將該數(shù)值記入存儲區(qū)。以此類推, 當記錄完32 個碼后, 所有紅外信息已經(jīng)記錄完畢。程序流程圖見圖5。
圖5 紅外解碼流程圖
紅外遙控信號的發(fā)射需要將代表紅外信號的高低電平調(diào)制在一個38 kHz 的方波上通過紅外LED 發(fā)射出去, 因此一方面通過編程單片機T2 定時器的T2MOD 和T 2CON 兩個寄存器, 使T 2 工作在可編程方波發(fā)生器模式下, 在P1. 0 口輸出38 kHz 的方波, 另一方面依據(jù)NEC 編碼的格式通過延時程序在P1. 4 口產(chǎn)生代表紅外信號的不同時長的高低電平。兩個IO 口輸出的信號在與門上相與就將紅外遙控信號調(diào)制在了38 kH z 的方波上。
4 結 語
GSM 作為公用陸地移動通信網(wǎng), 具有其他通信方式所不可比擬的優(yōu)越性, 它通信范圍廣、傳輸數(shù)據(jù)可靠性高、短消息業(yè)務經(jīng)濟實惠, 是遠程無線數(shù)據(jù)傳輸系統(tǒng)比較好的一種數(shù)據(jù)傳輸方式?;贕SM 的家用電器及家居環(huán)境監(jiān)控系統(tǒng), 充分利用了現(xiàn)有的GSM 網(wǎng)和相關的成熟技術, 由單片機、GSM 模塊TC35i、紅外接收裝置和溫度傳感器等構成的移動終端, 可以很好地完成短信息的收發(fā), 適合遠程控制帶有紅外遙控器的家用電器, 并可及時報告家中的火警信息。實驗證明, 本系統(tǒng)可以成功地對華為C3100 機頂盒、科龍KFR226GW/ ND1 空調(diào)、及長虹CHD29300 電視機進行遠程控制。隨著手機的普及, 本系統(tǒng)具有較好的推廣前景和實用價值。