摘 要:本文提出了利用現有GSM網絡的短消息業務實現的遠程通信的種種優勢,并將這種方式應用于本設計系統。采用先進的GSM通信模塊和單片機互連的終端系統,通過AT指令,實現了數據的發送。在PC機端通過串口調試軟件與單片機實現串口通訊,通過連接GSM模塊實現接收終端發出的數據的功能。
關鍵詞:GSM網絡;短消息;單片機;AT指令;GSM模塊
1 引言
近年來,隨著科技的飛速發展和人民生活水平的不斷提高,手機的普及率越來越高,無線網絡覆蓋范圍廣,信息傳遞性能穩定,所以把手機作為信息傳遞的載體,與單片機結合起來構成應用系統有著強大的生命力和廣闊的應用空間,特別是在遠程數據傳輸、遠程監控等領域的應用。
2 系統概述
2.1 結構
本設計其主要功能是可實現用一個低電平觸發單片機,把單片機里存入需要發送的內容,通過串口通信與GSM模塊相連,單片機通過AT指令來控制GSM模塊,通過GSM模塊中的SIM卡把內容發送出去。單片機接收數據也是一樣,把無線MODEM模塊接收到的數據,傳輸到單片機里,具體的處理由單片機來操作,傳輸的數據一般是以ASCII碼的形式。
本系統共分兩個部分:由單片機控制的GSM終端數據發送部分和PC機端數據接收部分。具體分成五個部分:電源部分、輸入部分、輸出部分、單片機控制部分和無線MODEM模塊部分。
2.2 模塊設計方案
◆電源部分:通過電源模塊輸出5V,再通過電壓轉換電路將電壓轉換為4.2V,供給單片機及無線MODEM模塊。
◆電平部分:單片機和無線MODEM模塊相連接的電平是統一的,都是TTL電平。
◆單片機部分:接收PC機發送的信息,轉化成ASCII碼,形成數據包,用程序控制單片機通過AT指令集來達到發送和接收短信(數據包)的功能。
◆輸出和輸入部分:用簡單的按鈕和LED燈來表現出來或者通過串口調試軟件發送數據給單片機進行控制。
3 系統的軟件電路設計
3.1 GSM AT指令介紹
GSM引擎模塊提供的命令接口符合GSM07.05和GSM07.07規范。GSM07.07中定義的AT Command接口,提供了一種移動平臺與數據終端設備之間的通用接口;GSM07.05對短消息作了詳細的規定。在短消息模塊收到網絡發來的短消息時,能夠通過串口發送指示消息,數據終端設備可以向GSM模塊發送各種命令。
3.2 計算機與TC35的通信
計算機與TC35的通信由RS232串口連接。打開超級終端,選擇相應的串口,將端口參數設置為:速率-4800、奇偶校驗位-無、數據位-8、停止位-1、流量控制-硬件。
單片機串口設置成模式1(9600,N,8,1),依次將AT+xxx以ASCII碼形式輸出到UART口;接收TC35的數據采用中斷方式。
3.3 短消息編碼
與接收短信息一樣,發送時也要先建立聯接,傳送一些初始化指令,然后發送短消息內容。下面是用SIEMENS S3508i發送一個短信息的例子,內容為:“2002/06/08/13:48 ID102OK ID103OK ID201
FAIL”。其ASCII碼為:“32030322F30362F30382F31333A3438204944
3130324F4B2049443130334F4B2049443230314641494C20”。
發送:ATE {請求建立聯接}
手機回答:OK {已建立聯接}
發送:AT+CMGF=0 {選擇PDU模式}
手機回答:OK
發送:AT+CSMS=0{檢測手機是否支持SMS命令}
手機回答:OK
發送:AT+CMGS=52{發送短信息,52octets(不包括最初9個短信息元字節)}
手機回答:>{允許上傳數據,ASCII碼是($20H,$2EH)}
發送:
0891683108701305F011000B813179133208F10000AA2632184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B19834926081A
不計最初9個短消息信元字節,本短信息有52字節(104個字符)。AT+CMGS僅說明了SMSC信息內容的長度,在收到手機回答的>符號手才發送PDU數據串,并以(CTRL^Z)結束。
4 軟硬件調試
4.1 輸入輸出部分調試
此部分調試結果為當控制手機A發送短信至GSM手機模塊時,手機模塊通過單片機將所發內容顯示在PC機上,此時按照短信內容,控制電機的轉動或者停止,相應的LED指示燈也會亮起或者熄滅。此時單片機控制手機模塊,將此時電機的狀態發送給控制手機A。
4.2 單片機控制部分調試
單片機接收到手機模塊的信息后能控制電機轉動或者停止,控制此時的指示燈的亮與滅。同時還將此時電機的狀態——轉動/停止發送給外部指定的手機。
4.3 無線MODEM模塊部分調試
任何一個TC35模塊首次使用時,必須要測試其工作是否正常,由于其自帶RS232接口,所以我們可以用PC機的串口調試軟件進行調試。
4.3.1 啟動串口調試軟件
串口調試軟件有許多,可以使用任意一款軟件,也可以使用WINDOWS自帶的“超級終端”。設置波特率19.2k,這是TC35的默認波特率,首次連機可以從2400~57.6k不斷測試,直到TC35有應答。
4.3.2 發送“AT”,AT 回車。
4.3.3 改變波特率“AT+IPS=XXXX”
TC35的默認波特率是19.2k,實際使用時,可以改成9600或38.4K,方法如下:AT+IPR=9600 回車。
4.3.4 短信模式的設置
GSM模塊的短信模式有2種。第1種是:TEXT模式;第2種是:PDU模式。PDU模式可以采用unicode編碼發送英文、漢字。但合成PDU碼比較復雜,而TEXT模式只能發送英文,但無須編碼。實際使用可以采用TEXT模式。設置如下:AT+CMFG=1回車。
4.4 指標調試及結果
4.4.1 單片機控制無線MODEM模塊,能實現短信息的收發。
4.4.2 手機發送控制電機開啟的短信內容“1”給無線MODEM模塊上SIM卡的號碼,PC上顯示發送指令內容為發送短信的手機號碼及發送的日期時間和短信內容“1”,此時電機開啟并回傳已開啟短信給手機“1號開”。
4.4.3 手機發送控制電機開啟的短信內容“0”給無線MODEM模塊上SIM卡的號碼,PC上顯示發送指令內容為發送短信的手機號碼及發送的日期時間和短信內容“0,此時電機開啟并回傳已開啟短信給手機“1號關”。
4.4.4 開啟時指示燈會亮起,關閉時指示燈關閉狀態。
參考文獻
[1]薛棟梁.單片機原理與應用[M].北京:北京水利水電出版社,2001.
[2]李鴻.用單片機控制手機收發短信息電子技術應用[Z].2002.
[3]馬潮.嵌入式GSM短信息接口的軟硬件設計單片機及嵌入式應用[Z].2002.
[4]李艷華,陳慧明.單片機與嵌入式系統應用[Z].2005(2).
[5]王騏,何嘉斌.單片機與嵌入式系統應用[Z].2005(1).
作者簡介:金勇(1979,6-),男,漢,江蘇泰州,本科,工程師,長江泰州通信管理處,通信工程。