《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > GSM網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)家電中的應(yīng)用
GSM網(wǎng)絡(luò)技術(shù)在網(wǎng)絡(luò)家電中的應(yīng)用
摘要: 由GSM模塊TC35及單片機(jī)構(gòu)成GSM網(wǎng)關(guān),,可以很好的完成短消息收發(fā)和數(shù)據(jù)通信,,由此構(gòu)成的GSM網(wǎng)絡(luò)空調(diào)控制系統(tǒng)是其應(yīng)用的一個實例,,其它網(wǎng)絡(luò)家電,,嵌入相應(yīng)協(xié)議后就可使用。通過較長時間的可靠性試驗和用戶試用,,目前系統(tǒng)運(yùn)行穩(wěn)定,,用戶反映良好。
Abstract:
Key words :
  1前言

  隨著經(jīng)濟(jì)的迅猛發(fā)展及生活質(zhì)量的不斷提高,,人們對居住環(huán)境的舒適度,、安全性以及操作的便捷性等要求也越來越高。比如在炎熱的酷暑,,希望一上班就能享受到空調(diào)帶來的涼爽,;人們旅游在外時,希望能將家中的燈,、電視機(jī)打開一段時間再關(guān)閉以造成有人在家的假象,,提高家居的安全性;當(dāng)小偷破壞車主的汽車防盜報警系統(tǒng)時,,能觸發(fā)另一系統(tǒng)自動給正在外地辦事的車主手機(jī)或當(dāng)?shù)鼐靾缶?;還有半小時就下班了,現(xiàn)在就將家中電熱器打開燒水等等,。再比如,,現(xiàn)在很多商用空調(diào)(如電信基站用的空調(diào))安裝在遙遠(yuǎn)、偏僻,、荒蕪人煙的場合,,這些地方的氣候條件非常惡劣,且終年無人職守,,要確保里面的設(shè)備能正常穩(wěn)定運(yùn)行,,就必須時刻監(jiān)控機(jī)房中的環(huán)境溫度、濕度,、空調(diào)運(yùn)行狀況,,當(dāng)遇到空調(diào)發(fā)生故障時應(yīng)能及時、自動向控制中心或值班人員手機(jī)報警等,。

  在這些應(yīng)用中,,通過有線網(wǎng)絡(luò)(如有線Internet網(wǎng)絡(luò)和PSTN網(wǎng)絡(luò))需要專用網(wǎng)線,實現(xiàn)起來不經(jīng)濟(jì)也不方便,。由于GSM網(wǎng)絡(luò)覆蓋范圍廣,,用戶無需另外組網(wǎng),且用戶數(shù)量無限制,,因此比起傳統(tǒng)的有線集群系統(tǒng)具有無法比擬的優(yōu)勢,,加上GSM的SMS功能不受時間、地點的局限,,使得利用GSM網(wǎng)絡(luò)構(gòu)筑的網(wǎng)絡(luò)家電的應(yīng)用前景越來越廣,。為此,,公司于2004年立項并成功開發(fā)出基于GSM網(wǎng)絡(luò)的網(wǎng)絡(luò)家電-GSM網(wǎng)絡(luò)空調(diào)系統(tǒng)。

  2 系統(tǒng)簡介

  系統(tǒng)示意如圖1,。

  圖中系統(tǒng)可分為4部分,;(1) PC(包括一個通過串口連接的無線調(diào)制調(diào)解器)或手機(jī),通過GSM網(wǎng)絡(luò)發(fā)送或接收數(shù)據(jù),;(2)GSM網(wǎng)絡(luò),;(3) GSM網(wǎng)關(guān),是PC和家電通訊的橋梁,;(4) 網(wǎng)絡(luò)家電,,可以是網(wǎng)絡(luò)空調(diào)、冰箱,、電熱器具,、電動窗簾等(下以空調(diào)為例)。

  在該系統(tǒng)中,,1臺PC可帶任意多個網(wǎng)關(guān),,通訊時根據(jù)網(wǎng)關(guān)的電話號碼(SIM卡號)來識別;1個網(wǎng)關(guān)可帶128臺(受485總線限制)網(wǎng)絡(luò)家電,,根據(jù)網(wǎng)絡(luò)家電的地址來識別,。網(wǎng)絡(luò)家電的高位地址表示家電的類別,如空調(diào)為1,、熱水器為2等,而低位地址是由網(wǎng)關(guān)根據(jù)各類家電已登陸注冊的臺數(shù)按順序自動分配的,。

  網(wǎng)關(guān)是整個系統(tǒng)的技術(shù)關(guān)鍵,,因此下面介紹GSM網(wǎng)關(guān)的設(shè)計。

  3 GSM網(wǎng)關(guān)硬件設(shè)計

  圖2是GSM網(wǎng)關(guān)原理圖,。其中D101為89C58單片機(jī),;D106、D107一起組成外擴(kuò)RAM,,主要用于存貯網(wǎng)關(guān)下所有空調(diào)的即時狀態(tài)信息,;GP101的型號為TC35模塊,與單片機(jī)通過RS232(D102)連接,。該模塊是西門子為嵌入式設(shè)備設(shè)計的GSM雙頻通訊核心模塊,,支持語音通訊、數(shù)據(jù)通訊和短信功能,,具有GSM07.05定義的標(biāo)準(zhǔn)AT命令接口,;D105為EEPROM,用于存儲通訊密碼,、電話號碼,、空調(diào)信息碼等,,同時起到外部Watchdog作用;X102通過485總線(D101)接網(wǎng)絡(luò)空調(diào),。

GSM網(wǎng)關(guān)原理圖

  由于GSM模塊在撥號及收發(fā)短信時有較強(qiáng)的射頻干擾,,因此在設(shè)計PCB時應(yīng)注意抗干擾問題。

  4 GSM網(wǎng)關(guān)軟件設(shè)計

  4.1 Modem初始化

  4.1.1 將Modem給單片機(jī)的返回結(jié)果碼初始化為數(shù)字模式(用“ATV0”命令),,可簡化程序,。如在數(shù)字模式時鈴聲的返回為“2r”;而在參數(shù)V的默認(rèn)設(shè)置時返回結(jié)果為字符模式,,因此鈴聲的返回就變成“RINGr”,。(r為回車符,下同),。

  4.1.2 因需發(fā)送漢字,,短信必須采用PDU(protocol description unit)模式(用“AT+CMGF=0r”命令)。PDU模式支持所有的手機(jī),。PDU串僅由數(shù)字或大寫字母的ASCII符組成,。中文或中英文混合短信須用UCS2編碼方式,短信內(nèi)容需轉(zhuǎn)化成Unicode碼,。

  4.1.3 在收到新短信時要求Modem提示(用“AT+CNMI=1,,1,0,,0,,1r”命令)以便及時處理。

  4.1.4 單片機(jī)在收到規(guī)定次數(shù)的打鈴信號后,,要求手工摘機(jī)(用“ATS0=0r”)

  4.2 數(shù)據(jù)通訊

  網(wǎng)關(guān)與空調(diào)之間,,網(wǎng)關(guān)是主機(jī)空調(diào)是從機(jī);PC與網(wǎng)關(guān)之間,,PC是主機(jī)網(wǎng)關(guān)是從機(jī),。

  PC用數(shù)據(jù)撥號方式(TC35分語間撥號和數(shù)據(jù)撥號,見參考資料4)和網(wǎng)關(guān)建立連接后,,必須先驗證通訊密碼,,如密碼不對,系統(tǒng)將掛機(jī),。密碼通過后,,用戶可對本網(wǎng)絡(luò)所轄空調(diào)進(jìn)行開停、設(shè)置,、查詢等操作,;PC會每隔一定時間發(fā)一個命令給網(wǎng)關(guān)以表明系統(tǒng)連接正常,如在規(guī)定時間內(nèi)網(wǎng)關(guān)沒有收到任何數(shù)據(jù),則網(wǎng)關(guān)認(rèn)為PC出現(xiàn)故障(如PC突然斷電),,網(wǎng)關(guān)將掛機(jī),;PC還可設(shè)置網(wǎng)關(guān)報警電話號碼、通訊密碼,、短信密碼,、信息服務(wù)中心碼等。

  網(wǎng)關(guān)收到PC命令后,,先判斷該命令是給空調(diào)的還是給網(wǎng)關(guān)本身的,,如是給空調(diào)的,則轉(zhuǎn)發(fā)給空調(diào),,待空調(diào)返回后最終將返回結(jié)果發(fā)給PC,。在轉(zhuǎn)發(fā)PC命令給空調(diào)時,須等待正在進(jìn)行的網(wǎng)關(guān)掃描空調(diào)的命令發(fā)送完畢且已返回或延時一段時間才能執(zhí)行,,否則將降低通訊成功率,。

  PC與網(wǎng)關(guān)之間采用UART口通訊,波特率為9600(TC35的波特率是自適應(yīng)的),。當(dāng)收到PC一幀正確數(shù)據(jù)后,,對數(shù)據(jù)的處理我們將其視為一個任務(wù)。

  程序采用任務(wù)堆棧結(jié)構(gòu),,最大任務(wù)數(shù)10個,,超出的部分自動丟棄(一般任務(wù)數(shù)不會超過3個)。每增加一個新任務(wù),,任務(wù)壓棧:任務(wù)數(shù)加1,,并記下該任務(wù)的命令、地址,。程序檢查目前有無待處理的任務(wù),,如有,則依次彈棧處理,,每處理1個,任務(wù)數(shù)減1,,直到任務(wù)都處理完畢,。這些任務(wù)包括處理PC命令,轉(zhuǎn)發(fā)PC命令給空調(diào),,處理空調(diào)返回數(shù)據(jù),,回應(yīng)PC命令,網(wǎng)關(guān)掃描空調(diào),,容錯處理等,。

  網(wǎng)關(guān)處理完所有任務(wù)后(任務(wù)數(shù)為0),才對已登陸的空調(diào)狀態(tài)進(jìn)行輪詢掃描,同時,,每隔一定時間查詢一次是否有新空調(diào)加入網(wǎng)關(guān),,如有,則由網(wǎng)關(guān)自動分配空調(diào)地址(低位)使其登陸,,登錄是以信息碼區(qū)分的,,所以不會出現(xiàn)不同空調(diào)具有相同地址的情況。

  由于既要與PC通訊又要與空調(diào)通訊,,因此我們將與空調(diào)的通訊采用I/O口模擬,,波特率為1200??照{(diào)數(shù)量越多,,網(wǎng)關(guān)輪詢一遍所需時間越長,按照我們的協(xié)議100臺空調(diào)輪詢一遍的時間約在550ms*100即1min左右,,但這已能滿足空調(diào)等家電實時性要求不高的場合,。網(wǎng)關(guān)將輪詢時得到的空調(diào)狀態(tài)保存在外擴(kuò)RAM中,當(dāng)PC要求刷新所有空調(diào)狀態(tài)時,,網(wǎng)關(guān)將這些數(shù)據(jù)按每15臺一組整體打包發(fā)給PC,,這樣既提高了PC的查詢速度,又保證了空調(diào)狀態(tài)的實時性,。

  通過PC設(shè)定報警電話(如PCModem模塊的SIM卡號)后,,在網(wǎng)關(guān)查詢到某臺空調(diào)發(fā)生故障且網(wǎng)關(guān)Modem處于不忙狀態(tài)時,網(wǎng)關(guān)會主動向該電話撥號,,連接成功后可由PC自動查詢到空調(diào)故障,。也可以短信形式向用戶報警。

  4.3 短信處理

  4.3.1讀短信

  收到PC或用戶發(fā)來的新短信時,,TC35模塊會告知網(wǎng)關(guān)該短息的index,如index=0x31(ASCII符),,則通過“AT+CMGR=1r”命令可讀到該信息的內(nèi)容。如SMSC的號碼是13800765500(順德地區(qū)信息服務(wù)中心碼),,發(fā)送方手機(jī)號碼為13690673365,,信息內(nèi)容為“123空調(diào)10開”(123為密碼,10為空調(diào)低位地址),,則網(wǎng)關(guān)收到的短信PDU串可以為:08 91683108705605F0 840D 91683196603763F5 0008 4060915135930010 0031003200337A7A8C03003100305F00

  單片機(jī)讀到上述短信后,,需要進(jìn)行以下幾項工作:

  (1)記錄發(fā)送方手機(jī)號碼(上表第6,、7部分),,以便回復(fù)短信;

 ?。?)根據(jù)短信編碼方式(第8部分),,對短信內(nèi)容進(jìn)行解析。因編碼方式有7位、8位和16位(USC2),,解碼程序也就不一樣(程序略),;

  (3)進(jìn)行密碼校驗,,如密碼不正確,,則直接將其刪除;

 ?。?)進(jìn)行密碼校驗通過,,且短信內(nèi)容符合相關(guān)約定,則將短信命令以特定協(xié)議格式轉(zhuǎn)發(fā)給相應(yīng)空調(diào),,并將該短信刪除,。因此,網(wǎng)關(guān)收到上面短信后,,就將開機(jī)命令發(fā)給10號空調(diào),;

  (5)在規(guī)定時間內(nèi),,空調(diào)未返回執(zhí)行結(jié)果,,網(wǎng)關(guān)將重發(fā)。如重發(fā)3次仍沒返回,,則識系統(tǒng)通訊故障,。

  4.3.2寫短信

  仍以上述短信為例??照{(diào)收到網(wǎng)關(guān)的開機(jī)命令后執(zhí)行開機(jī)操作,,并將執(zhí)行結(jié)果返回給網(wǎng)關(guān)。如網(wǎng)關(guān)判斷該返回是回應(yīng)短信的,,則網(wǎng)關(guān)以中文短信形式將結(jié)果發(fā)到PC或用戶手機(jī)上(此例中號碼為13690673365),,從而方便而又廉價地實現(xiàn)了對空調(diào)的雙向短信控制。發(fā)觸的PDU串為:08 91683108705605F0 1100 0091 6831966037635F 00 0801 107A7A8C03003100305F00

  發(fā)送短信的格式如表1

  經(jīng)測試(小靈通手機(jī)除外),,回復(fù)短信時,,為簡化程序,上述第1,、2,、4、5,、6、7,、9,、10、11部分可用表中的固定字段。

  由于網(wǎng)關(guān)是用單片機(jī)控制來實現(xiàn)短信收發(fā)的,,因此在對信息內(nèi)容編碼時,,需用到GB2312到Uni-code編碼的轉(zhuǎn)換表,即對每個GB2312字符,,根據(jù)它是中文字符還是英文字符分別進(jìn)行查表轉(zhuǎn)換,,這樣也就要求單片機(jī)的ROM容量要在60k以上。我們使用的單片機(jī)才32k ROM,,沒有外擴(kuò),,因此程序中的漢字列表只能根據(jù)實際使用需要選擇2000個左右的常用漢字,這已能滿足絕大多數(shù)家電控制的要求,。

  5 結(jié)束語

  由GSM模塊TC35及單片機(jī)構(gòu)成GSM網(wǎng)關(guān),,可以很好的完成短消息收發(fā)和數(shù)據(jù)通信,由此構(gòu)成的GSM網(wǎng)絡(luò)空調(diào)控制系統(tǒng)是其應(yīng)用的一個實例,,其它網(wǎng)絡(luò)家電,,嵌入相應(yīng)協(xié)議后就可使用。通過較長時間的可靠性試驗和用戶試用,,目前系統(tǒng)運(yùn)行穩(wěn)定,,用戶反映良好。



 

此內(nèi)容為AET網(wǎng)站原創(chuàng),,未經(jīng)授權(quán)禁止轉(zhuǎn)載,。