解析GSM網絡技術在網絡家電中的應用
發布時間:2012-03-07
中心議題:
- 網絡家電係統簡介
- GSM網關硬件設計
- GSM網關軟件設計
- 短信處理機製解析
解決方案:
- 采用GSM模塊TC35
1 前言
隨著經濟的迅猛發展及生活質量的不斷提高,人們對居住環境的舒適度、安全性以及操作的便捷性等要求也越來越高。比如在炎熱的酷暑,希望一上班就能享受到空調帶來的涼爽;人們旅遊在外時,希望能將家中的燈、電視機打開一段時間再關閉以造成有人在家的假象,提高家居的安全性;當小偷破壞車主的汽車防盜報警係統時,能觸發另一係統自動給正在外地辦事的車主手機或當地警察報警;還有半小時就下班了,現在就將家中電熱器打開燒水等等。再比如,現在很多商用空調(如電信基站用的空調)安裝在遙遠、偏僻、荒(huang)蕪(wu)人(ren)煙(yan)的(de)場(chang)合(he),這(zhe)些(xie)地(di)方(fang)的(de)氣(qi)候(hou)條(tiao)件(jian)非(fei)常(chang)惡(e)劣(lie),且(qie)終(zhong)年(nian)無(wu)人(ren)職(zhi)守(shou),要(yao)確(que)保(bao)裏(li)麵(mian)的(de)設(she)備(bei)能(neng)正(zheng)常(chang)穩(wen)定(ding)運(yun)行(xing),就(jiu)必(bi)須(xu)時(shi)刻(ke)監(jian)控(kong)機(ji)房(fang)中(zhong)的(de)環(huan)境(jing)溫(wen)度(du)、濕度、空調運行狀況,當遇到空調發生故障時應能及時、自動向控製中心或值班人員手機報警等。
在這些應用中,通過有線網絡(如有線Internet網絡和PSTN網絡)需要專用網線,實現起來不經濟也不方便。由於GSM網絡覆蓋範圍廣,用戶無需另外組網,且用戶數量無限製,因此比起傳統的有線集群係統具有無法比擬的優勢,加上GSM的SMS功能不受時間、地點的局限,使得利用GSM網絡構築的網絡家電的應用前景越來越廣。為此,公司於2004年立項並成功開發出基於GSM網絡的網絡家電 - GSM網絡空調係統。
2 係統簡介
係統示意如圖1。

圖1 GSM係統示意圖
圖中係統可分為4部分;(1) PC(包括一個通過串口連接的無線調製調解器)或手機,通過GSM網絡發送或接收數據;(2)GSM網絡;(3) GSM網關,是PC和家電通訊的橋梁;(4) 網絡家電,可以是網絡空調、冰箱、電熱器具、電動窗簾等(下以空調為例)。
在該係統中,1台PC可帶任意多個網關,通訊時根據網關的電話號碼(SIM卡號)來識別;1個網關可帶128台(受485總線限製)網絡家電,根據網絡家電的地址來識別。網絡家電的高位地址表示家電的類別,如空調為1、熱水器為2等,而低位地址是由網關根據各類家電已登陸注冊的台數按順序自動分配的。
網關是整個係統的技術關鍵,因此下麵介紹GSM網關的設計。
3 GSM網關硬件設計
圖2是GSM網關原理圖。其中D101為89C58單片機;D106、D107一起組成外擴RAM,主要用於存貯網關下所有空調的即時狀態信息;GP101的型號為TC35模塊,與單片機通過RS232(D102)連接。該模塊是西門子為嵌入式設備設計的GSM雙頻通訊核心模塊,支持語音通訊、數據通訊和短信功能,具有GSM07.05定義的標準AT命令接口;D105為EEPROM,用於存儲通訊密碼、電話號碼、空調信息碼等,同時起到外部Watchdog作用;X102通過485總線(D101)接網絡空調。

圖2 GSM網關原理圖
[page]
由於GSM模塊在撥號及收發短信時有較強的射頻幹擾,因此在設計PCB時應注意抗幹擾問題。
4 GSM網關軟件設計
4.1 Modem初始化
4.1.1 將Modem給單片機的返回結果碼初始化為數字模式(用“ATV0”命令),可簡化程序。如在數字模式時鈴聲的返回為“2r”;而在參數V的默認設置時返回結果為字符模式,因此鈴聲的返回就變成“RINGr”。(r為回車符,下同)。
4.1.2 因需發送漢字,短信必須采用PDU(protocol descriptiON unit)模式(用“AT+CMGF=0r”命令)。PDU模式支持所有的手機。PDU串僅由數字或大寫字母的ASCII符組成。中文或中英文混合短信須用UCS2編碼方式,短信內容需轉化成Unicode碼。
4.1.3 在收到新短信時要求Modem提示(用“AT+CNMI=1,1,0,0,1r”命令)以便及時處理。
4.1.4 單片機在收到規定次數的打鈴信號後,要求手工摘機(用“ATS0=0r”)
4.2 數據通訊
網關與空調之間,網關是主機空調是從機;PC與網關之間,PC是主機網關是從機。
PC用數據撥號方式(TC35分語間撥號和數據撥號)和網關建立連接後,必須先驗證通訊密碼,如密碼不對,係統將掛機。密碼通過後,用戶可對本網絡所轄空調進行開停、設置、查詢等操作;PC會每隔一定時間發一個命令給網關以表明係統連接正常,如在規定時間內網關沒有收到任何數據,則網關認為PC出現故障(如PC突然斷電),網關將掛機;PC還可設置網關報警電話號碼、通訊密碼、短信密碼、信息服務中心碼等。
網關收到PC命令後,先判斷該命令是給空調的還是給網關本身的,如是給空調的,則轉發給空調,待空調返回後最終將返回結果發給PC。在轉發PC命令給空調時,須等待正在進行的網關掃描空調的命令發送完畢且已返回或延時一段時間才能執行,否則將降低通訊成功率。
PC與網關之間采用UART口通訊,波特率為9600(TC35的波特率是自適應的)。當收到PC一幀正確數據後,對數據的處理我們將其視為一個任務。
程序采用任務堆棧結構,最大任務數10個,超出的部分自動丟棄(一般任務數不會超過3個)。每增加一個新任務,任務壓棧:任務數加1,並記下該任務的命令、地址。程序檢查目前有無待處理的任務,如有,則依次彈棧處理,每處理1個,任務數減1,直到任務都處理完畢。這些任務包括處理PC命令,轉發PC命令給空調,處理空調返回數據,回應PC命令,網關掃描空調,容錯處理等。
網關處理完所有任務後(任務數為0),才對已登陸的空調狀態進行輪詢掃描,同時,每隔一定時間查詢一次是否有新空調加入網關,如有,則由網關自動分配空調地址(低位)使其登陸,登錄是以信息碼區分的,所以不會出現不同空調具有相同地址的情況。
由於既要與PC通訊又要與空調通訊,因此我們將與空調的通訊采用I/O口模擬,波特率為1200。空調數量越多,網關輪詢一遍所需時間越長,按照我們的協議100台空調輪詢一遍的時間約在550ms*100即1min左右,但這已能滿足空調等家電實時性要求不高的場合。網關將輪詢時得到的空調狀態保存在外擴RAM中,當PC要求刷新所有空調狀態時,網關將這些數據按每15台一組整體打包發給PC,這樣既提高了PC的查詢速度,又保證了空調狀態的實時性。
通過PC設定報警電話(如PCModem模塊的SIM卡號)後,在網關查詢到某台空調發生故障且網關Modem處於不忙狀態時,網關會主動向該電話撥號,連接成功後可由PC自動查詢到空調故障。也可以短信形式向用戶報警。
4.3 短信處理
4.3.1讀短信
收到PC或用戶發來的新短信時,TC35模塊會告知網關該短息的index,如index=0x31(ASCII符),則通過“AT+CMGR=1r”命令可讀到該信息的內容。如SMSC的號碼是13800765500(順德地區信息服務中心碼),發送方手機號碼為13690673365,信息內容為“123空調10開”(123為密碼,10為空調低位地址),則網關收到的短信PDU串可以為:08 91683108705605F0 840D 91683196603763F5 0008 4060915135930010 0031003200337A7A8C03003100305F00單片機讀到上述短信後,需要進行以下幾項工作:
(1)記錄發送方手機號碼(上表第6、7部分),以便回複短信;(2)根據短信編碼方式(第8部分),對短信內容進行解析。因編碼方式有7位、8位和16位(USC2),解碼程序也就不一樣(程序略);(3)進行密碼校驗,如密碼不正確,則直接將其刪除;(4)進(jin)行(xing)密(mi)碼(ma)校(xiao)驗(yan)通(tong)過(guo),且(qie)短(duan)信(xin)內(nei)容(rong)符(fu)合(he)相(xiang)關(guan)約(yue)定(ding),則(ze)將(jiang)短(duan)信(xin)命(ming)令(ling)以(yi)特(te)定(ding)協(xie)議(yi)格(ge)式(shi)轉(zhuan)發(fa)給(gei)相(xiang)應(ying)空(kong)調(tiao),並(bing)將(jiang)該(gai)短(duan)信(xin)刪(shan)除(chu)。因(yin)此(ci),網(wang)關(guan)收(shou)到(dao)上(shang)麵(mian)短(duan)信(xin)後(hou),就(jiu)將(jiang)開(kai)機(ji)命(ming)令(ling)發(fa)給(gei)10號空調;(5)在規定時間內,空調未返回執行結果,網關將重發。如重發3次仍沒返回,則識係統通訊故障。
4.3.2寫短信
仍reng以yi上shang述shu短duan信xin為wei例li。空kong調tiao收shou到dao網wang關guan的de開kai機ji命ming令ling後hou執zhi行xing開kai機ji操cao作zuo,並bing將jiang執zhi行xing結jie果guo返fan回hui給gei網wang關guan。如ru網wang關guan判pan斷duan該gai返fan回hui是shi回hui應ying短duan信xin的de,則ze網wang關guan以yi中zhong文wen短duan信xin形xing式shi將jiang結jie果guo發fa到daoPC或用戶手機上(此例中號碼為13690673365),從而方便而又廉價地實現了對空調的雙向短信控製。發觸的PDU串為:08 91683108705605F0 1100 0091 6831966037635F 00 0801 107A7A8C03003100305F00
[page]
表1 發送短信的格式

經測試(小靈通手機除外),回複短信時,為簡化程序,上述第1、2、4、5、6、7、9、10、11部分可用表中的固定字段。
由於網關是用單片機控製來實現短信收發的,因此在對信息內容編碼時,需用到GB2312到Uni-code編碼的轉換表,即對每個GB2312字符,根據它是中文字符還是英文字符分別進行查表轉換,這樣也就要求單片機的ROM容量要在60k以上。我們使用的單片機才32k ROM,沒有外擴,因此程序中的漢字列表隻能根據實際使用需要選擇2000個左右的常用漢字,這已能滿足絕大多數家電控製的要求。
5 結束語
由GSM模塊TC35及單片機構成GSM網關,可以很好的完成短消息收發和數據通信,由此構成的GSMwangluokongtiaokongzhixitongshiqiyingyongdeyigeshili,qitawangluojiadian,qianruxiangyingxieyihoujiukeshiyong。tongguojiaochangshijiandekekaoxingshiyanheyonghushiyong,muqianxitongyunxingwending,yonghufanyinglianghao。
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
- IAR作為Qt Group獨立BU攜兩項重磅汽車電子應用開發方案首秀北京車展
- 構建具有網絡彈性的嵌入式係統:來自行業領袖的洞見
- 數字化的線性穩壓器
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall



