劉榮鋒
摘要:該文以示例形式介紹了GSM TC35i Modem從基本測試到中文短消息收發(fā)的過程,讓使用者拿到TC35i Modem后,以最快速度實現(xiàn)短消息收發(fā)工作。
關鍵詞:GSM TC35i Modem;短消息;AT指令
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2016)04-0050-02
TC35i是西門子公司推出的無線通信GSM模塊,以它為核心的GSM TC35i Modem常被用來作短消息收發(fā)。TC35i成本相對低廉,只要有手機信號的地方就可以工作。它在控制領域被廣泛應用,作為遠程控制的重要手段之一。TC35i使用AT指令,如何在繁雜的AT指令集中找到最常用的指令,讓使用者在拿到TC35i Modem后,以最快速度實現(xiàn)短消息收發(fā)工作,是初次接觸它的使用者最關心的問題。下面就以拿到一個TC35i Modem后最常用的操作入手,以示例形式介紹GSM TC35i Modem從基本測試到中文短消息收發(fā)的過程。
1 測試前準備
1.1 設備連接
TC35i Modem插入SIM卡,TC35i Modem的RS232與PC機的RS232直連,給TC35i Modem通電。從PC機RS232口向TC35i Modem發(fā)送AT命令并接收返回數(shù)據(jù)。
1.2 格式說明
本文命令與返回串中的字符以實際發(fā)送和接收字符形式表示,
1.3 了解測試短消息格式
因為要發(fā)送漢字等字符,所以本文短消息格式為PDU模式。
1.4 了解信息編碼方式:
TC35i的用戶數(shù)據(jù)有三種編碼方式:7BIT、8BIT和UCS2,它們的編碼類型編號分別為00、04、08。7BIT編碼一般用于只包含普通ASCII字符的短消息,8BIT碼一般用于發(fā)送數(shù)據(jù)流,UCS2編碼一般用于發(fā)送Unicode字符。在這三種編碼方式下,PDU串的用戶數(shù)據(jù)段可以發(fā)送的短消息的最大字符數(shù)分別是160、140和70。
7BIT編碼就是將ASCII編碼的最高位利用起來,把其他的有效位放在這個第8位上。這樣,如果有8個ASCⅡ字符(即8個字節(jié)),通過7BIT轉(zhuǎn)碼后就變成7個字節(jié)。7BIT編碼和解碼可以用轉(zhuǎn)換工具或編程實現(xiàn)。
8BIT編碼使用原始數(shù)據(jù),且在本文中沒有被用到,這里不作介紹。
UCS2編碼,有以下三種途徑進行編碼和解碼:1)用GB2312與Unicode轉(zhuǎn)換工具。2)在Windows系統(tǒng)下調(diào)用API函數(shù)進行轉(zhuǎn)換。3)在無Windows系統(tǒng)支持的情況下,比如單片機中,可采用查表法,實現(xiàn)GB2312與Unicode相互轉(zhuǎn)換。
在本文的測試中,對于中文短消息收發(fā),使用UCS2編碼,可以使用GB2312與Unicode轉(zhuǎn)換工具對用戶數(shù)據(jù)進行編碼與解碼。用編程實現(xiàn)的編碼與解碼這里不作具體介紹,請參閱相關資料。
2 測試示例
2.1 測試與TC35i Modem的連接
命令:AT
返回:OK
說明:返回正確表明與TC35i Modem通訊正常。
2.2 檢測網(wǎng)絡信號質(zhì)量
命令:AT+CSQ
返回:+CSQ: 26,99
說明:26為檢測到的網(wǎng)絡信號質(zhì)量,數(shù)值在10到31之間,數(shù)值越大代表網(wǎng)絡信號質(zhì)量越高。
2.3 從電話卡中讀取短消息中心(SMSC)號碼
命令:AT+CSCA?
返回:+CSCA: "+8613800771500",145
說明:8613800771500即是讀到的短消息中心號碼。在發(fā)送信息時,要用到短消息中心號碼。短消息中心號碼可以通過查詢電話運營商得到,也可以從電話卡中讀到。
2.4 TC35i Modem初始化
第一次拿到TC35i Modem,在不確定里面的設置值的情況下,可以依次向TC35i Modem發(fā)送如下AT命令完成對它的初始化:
命令:AT&F
返回:OK
命令:AT+CNMI=2,1,2,0,1
返回:OK
命令:AT&W
返回:OK
說明:1) TC35i恢復為出廠設置后,短消息使用PDU模式。
2)按上述方法設置短消息提示方式后,當TC35i收到信息后,會向外發(fā)送AT信息
2.5 發(fā)送短消息
命令:AT+CMGS=19
返回:>
命令:
0891683108701705F011000D91683173172341F80008AA044E2D56FD
返回:+CMGS: 136
說明:短消息的發(fā)送分為兩步,第一步發(fā)送CMGS命令串,等待TC35i返回“>”,接下來就可以發(fā)送PDU串了。這個例子發(fā)送短消息“中國”到號碼13377132148,SMSC號碼為+86 13800771500,采用PDU模式,發(fā)送內(nèi)容編碼格式為UCS2。發(fā)送長度為19,即從PDU的11起共19個字節(jié)。下面對這個PDU串進行說明。
讀者在發(fā)送自已的信息時,只要把SMSC地址、目標地址、用戶數(shù)據(jù)換成自已的數(shù)據(jù)即可,其它數(shù)據(jù)不變。
2.6 讀取短消息
命令:AT+CMGL=4
返回:+CMGL: 1,1,,24
0891683108701705F0240D91683173172341F7000861209121515323044EBA6C11
說明:命令中參數(shù)4表示接收所有短消息。這個例子收到從號碼13377132147發(fā)來的短消息“人民”,SMSC號碼為+86 13800771500。短消息采用PDU模式,內(nèi)容編碼格式為UCS2。下面對這個PDU串進行說明。
用戶數(shù)據(jù)編碼方式段,表明了這條短消息中用戶數(shù)據(jù)的編碼方式。對用戶數(shù)據(jù)要用相應解碼方式進行解碼。
2.7 刪除短消息
命令:AT+CMGD=3
返回:OK
說明:刪除第3條短消息,如果這條信息不存在,TC35i Modem也會返回OK。
參考文獻:
[1] TC35i AT Command Set Siemens Cellular Engines.Version 01.03[Z]. Siemens AG 2003.
[2] TC35i Engineering Samples.Version 00.10[Z].Siemens AG 2003.