2. 不能與GSM MODEM進行正常的通信或總是在仿真終端上出現亂碼
3. 如何才能知道錯誤代碼
4. 發送短消息後,收到出錯信息+CMS ERROR 512
5. 發送短消息後,收到出錯信息+CMS ERROR 513
6. 發送短消息後,收到出錯信息+CMS ERROR 514
7. 發送短消息後,收到出錯信息+CMS ERROR 515
8. 如何才能知道您發送的短消息已被送達目的號碼
9. 如何發送中文短消息
10.如何建立壹個話音呼叫
11.如何建立壹個數據呼叫
12.當GSM MODEM作被叫時,如何顯示主叫的電話號碼
13.當GSM MODEM作被叫時,如何判別主叫發起的是話音、數據或傳真呼叫
14.當GSM MODEM作被叫時,如何使其自動應答或不能自動應答
15.如何不通過SIM卡直接讀或寫短消息
1. 如何與GSM MODEM建立通信聯系
您可用諸如Windows下的超級終端或Pcomm等終端仿真軟件,將計算機的串行口與GSM MODEM的串行口用電纜直接連接。
2. 不能與GSM MODEM進行正常的通信或總是在仿真終端上出現亂碼
檢查您的串口是否保證正常連接,計算機的串口引線與GSM MODEM的串口引線應是壹壹對應的。GSM MODEM與仿真終端應設置相同的通信速率。
但您初次使用GSM MODEM時,請在仿真終端上設置為通信速率9600bps、8位數據位、無較驗位、1位停止位。
3. 如果您想在出錯後得到錯誤代碼號,需將GSM Modem作如下設置:
AT+CMEE=1
4. 發送短消息後,收到出錯信息+CMS ERROR 512
表示您的GSM MODEM在發送短消息的同時它收到了新的短消息,發送短消息被拒絕,您需要重新發送此條短消息。
5. 發送短消息後,收到出錯信息+CMS ERROR 513
您遇上了下面問題中的壹種:
a) 您的GSM MODEM失去了無線鏈路連接;
b) 在發送完短消息後的28秒內,您的GSM MODEM沒有收到短消息中心送來的接收確認+CMGS:〈順序號〉;
c) 在送出請求建立發送短消息的控制信道指令後的42秒內,您的GSM MODEM沒有收到基站送來的確認〉。
6. 發送短消息後,收到出錯信息+CMS ERROR 514
您遇上了下面問題中的壹種:
a) 您設置的短消息中心的號碼是錯誤的;
b) 短消息將要送達的目的號碼是錯誤的;
c) 您發送的短消息被短消息中心拒絕(壹般為目的號碼不存在或目的號碼被禁用)。
7. 發送短消息後,收到出錯信息+CMS ERROR 515
如果您的GSM MODEM在初始化期間或在指令執行過程當中GSM MODEM又接受新的指令,將會出現此錯誤。您必須等到初始化完成或指令執行完畢。
8. 如何才能知道您發送的短消息已被送達目的號碼
a) 采用文本格式發送
在您采用文本格式發送短消息時,您的GSM MODEM須作以下的設置:
at+csmp=49,〈X〉,〈X〉,〈X〉
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根據您的需要您所選擇的合適的參數。
當您發送完短消息後,您將收到來自短消息中心的以下兩種確認中的壹種:
+CDS:〈X〉,〈順序號〉,"電話號碼","發送時間","接收時間",0
或:
+CDS:〈X〉,〈順序號〉,"電話號碼","發送時間","接收時間",48
確認中的最後個數代表了此短消息的傳輸狀態。(0表示已經送達目的號碼,48表示不可能將此送達目的號碼)
b) 采用PDU格式發送
在您采用PDU格式發送短消息時,您的GSM MODEM須作以下的設置:
at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉
〈X〉代表根據您的需要您所選擇的合適的參數。
在您所要發送的PDU格式的短消息中,您須將短消息中心號碼後的第壹個字節設成31
在發送完短消息後,您將收到來自短消息中心的以下確認:
+CDS:〈長度〉00〈PDU格式的確認信息〉
註意:在收到的PDU格式的確認中,順序號和傳輸狀態標誌都是以16進制數存在的,您可將其直接轉成10進制數而無需將其倒置後再轉換。
9. 如何發送中文短消息
采用現有的GSM MODEM發送中文短消息,都必須先將準備發送的中文短消息轉換成16位的Unicode編碼。
A) 采用文本方式發送
在您采用文本格式發送Unicode編碼中文短消息時,您的GSM MODEM須作的設置:
at+csmp=〈X〉,〈X〉,〈X〉,8
〈X〉代表根據您的需要您所選擇的合適的參數。
然後您就可將轉換好的Unicode編碼中文短消息按照發送普通文本短消息的方法發送出去。
B) 采用PDU方式發送
您只須在您的PDU格式的短消息中,將目的號碼字符串後的第二個字節設成08,將轉
換好的Unicode編碼中文短消息作為PDU中的發送內容壹齊發送。
10. 如何建立壹個話音呼叫
向GSM MODEM的串口送指令ATD〈電話號碼〉;〈回車〉必須確認電話號碼是壹個話音號碼而非傳真或數據號碼。
11. 如何建立壹個數據呼叫
先將您的GSM MODEM作如下設置:
at+ipr=9600
at+ifc=2,2
at+cbst=0,0,1
向GSM MODEM的串口送指令ATD〈電話號碼〉〈回車〉
必須確認電話號碼是壹個數據號碼而非傳真或話音號碼,同時必須確認您的SIM卡已開通數據通信的服務。
12.當GSM MODEM作被叫時,如何顯示主叫的電話號碼
將您的GSM MODEM作如下設置:
at+clip=1
13.當GSM MODEM作被叫時,如何判別主叫發起的是話音、數據或傳真呼叫
將您的GSM MODEM作如下設置:
at+crc=1
14.當GSM MODEM作被叫時,如何使其自動應答或不能自動應答
如果您想讓您的GSM MODEM自動應答,將您的GSM MODEM作如下設置:
ats0=〈N〉 N是代表GSM MODEM震鈴的次數的壹個整數,即GSM MODEM在N 次 震鈴後將自動應答。
如果您想讓您的GSM MODEM不能自動應答,將您的GSM MODEM作如下設置:
ats0=0
15.如何不通過SIM卡直接讀或寫短消息
因為SIM卡只有1萬到10萬次的讀寫次數和10-15條短消息的存儲空間,還涉及到SIM卡上短消息讀寫需要壹定的時間才能完成。這些因素影響了許多應用,這些應用需要通過GSM網絡進行大量的數據交換,為保證流程的順利進行,SIM卡要完成大量的讀、寫和刪除操作,SIM卡的壽命周期很快就會達到,此外,SIM卡完成這些工作所耗費的時間比外界要求的要多。為解決這些問題,有必要在終端上作壹些軟件設置,使短消息不通過SIM卡進行讀寫操作。
以下的描述介紹了如何采用這種方法在Falcom A2系列和數據終端MT4002之間不通過SIM卡交換數據,這種方法也可用與2個MT4002之間。
a) 串口上的從終端來的RTS信號可用來指示數據交換時隙是否忙,串口準備好接收數據
b) 如果終端雙方都可用來接收和發送短消息,在設置時雙方都要設同樣的命令和常數。
在接收端,設命令AT+CNMI=2,2,0,0,0
在發送端,設命令AT+CSMP=17,167,0,240 (當使用PDU格式發送時,240改成字符串DCS(F0))
c) 當程序發現短消息以前綴+CMT後跟所傳送的數據這種格式時,立即將此短消息捕獲並將其分發到原定的地址。
d) 當發送端如果沒有設置CSMP=17,167,0,240時,捕獲到的短消息應有前綴+CMTI,此時用命令AT+CMGR=n讀取並分發到原定的地址,隨後用命令AT+CMGD=n將此短消息刪除以保證SIM卡有足夠多的空間。
AT+CMGC Send an SMS command(發出壹條短消息命令)
AT+CMGD Delete SMS message(刪除SIM卡內存的短消息)
AT+CMGF Select SMS message formate(選擇短消息信息格式:0-PDU;1-文本)
AT+CMGL List SMS message from preferred store
(列出SIM卡中的短消息PDU/text: 0/“REC UNREAD”-未讀,1/“REC READ”-已讀,
2/“STO UNSENT”-待發,3/“STO SENT”-已發,4/“ALL”-全部的)
AT+CMGR Read SMS message(讀短消息)
AT+CMGS Send SMS message(發送短消息)
AT+CMGW Write SMS message to memory(向SIM內存中寫入待發的短消息)
AT+CMSS Send SMS message from storage(從SIN|M內存中發送短消息)
AT+CNMI New SMS message indications(顯示新收到的短消息)
AT+CPMS Preferred SMS message storage(選擇短消息內存)
AT+CSCA SMS service center address(短消息中心地址)
AT+CSCB Select cell broadcast messages(選擇蜂窩廣播消息)
AT+CSMP Set SMS text mode parameters(設置短消息文本模式參數)
AT+CSMS Select Message Service(選擇短消息服務)
對短消息的控制***有三種模式:
Block Mode 基於AT命令的
PDU Mode 基於AT命令的
Text Mode 使用Block模式需要手機生產廠家提供驅動支持, 目前,PDU Mode 已取代 Block Mode, Text Mode比較簡單,本文重點介紹模式PDU Mode,以西門子公司的產品TC35T為例。
TC35基本命令
1.設置短消息中心
AT+CSCA=“+8613800270500”回車(具體的號碼由當地的運營商決定。)
2.接收短消息
+CMTI:“SM”,X (X表示接收短消息的SIM卡存儲號碼)
AT+CMGR=X回車 (從X存儲區讀短消息)
AT+CMGD=X回車 (從X存儲區刪除短消息)
3.發送短消息
AT+CMGF=1回車(采用文本格式發送,如用PDU格式,則AT+CMGF=0) AT+CMGS=“+8613xxxxxxxxx”回車 >輸入短消息。Crtl+Z結束並發送。
4.重要的指令
ATZ;E 回車 Echo OFF ATZ;E1回車 Echo ON AT+CREG?回車 回答x(X=2脫網,X=1註冊,X=0狀態不明) AT+COPS?回車 表示SIM卡是否被網絡接受 AT+COPS=?回車 顯示所有可用的網絡。
5.建立語音呼叫
AT+CREG?回車(是否網絡註冊) ATD13xxxxxxxxx;回車(語音呼叫和數據呼叫建立的區別在於號碼後所接的分號上)
6.改變並保存參數
AT+IPR=2400 回車(改變RS232口的速率至2400bps) AT&W 回車 (保存已改參數)
7.輸入PIN碼
AT+CPIN=“xxxx”
2.計算機與TC35T的通信
(1)RS232串口連接由於TC35T自帶RS232串口線,故只需將其連接到計算機串口即可。打開超級終端,選擇相應的串口,將端口參數設置為:速率—4800、奇偶校驗位—無、數據位—8、停止位—1、流量控制—硬件。
(2)連接測試輸入“AT”然後回車,屏幕上返回“OK”表明計算機與TC35T已連接成功,TC35T能夠正常工作。這時就可以測試各類AT命令。
當測試命令“AT+CMGS=?<CR>”時,如果返回“OK”標明TC35T支持該指令。
該指令的完整語法如下:
如果此時TC35T處於PDU Mode(即“AT+CMGF?<CR>”返回“0”) AT+CMGS=<length><CR>PDU is given<^Z/ESC> 如果短消息發送成功,則返回“OK”,並顯示信息號: +CMGS: <mr>[,<ackpdu>] 如果短消息發送失敗,則返回如下信息號: +CMS ERROR: <err>
如果此時TC35T處於Text Mode(即“AT+CMGF?<CR>”返回“1”) AT+CMGS=<da>[,toda]<CR>text is entered<^Z/ESC> 如果短消息發送成功,則返回“OK”,並顯示信息號: +CMGS: <mr>[,<scts>] 如果短消息發送失敗,則返回如下信息號: +CMS ERROR: <err>
另外,由於使用的是TC35T,當有新的短消息到來時,需要TC35T產生提示,使用指令“AT+CNMI”。該指令的完整語法如下: AT+CNMI=[<mode>][,<mt>][,<bm>][,<ds>][,<bfr>] 如果有新的短消息來到,則TC35T將自動返回下列提示: +CMTI: “SM”, <index> 此時讀出<index>,然後用“AT+CMGR”指令即可讀出短消息內容。
3.PDU數據格式分析:
例如,我們要將字符“Hi”字符發送到目的地“13823788935” PDU字符串為: 08 91 683108701305F0 11 00 0D 91 3128738839F5 00 00 00 02 C834
⑴08—短信息中心地址長度。指(91)+(683108701305F0)的長度。
⑵91—短信息中心號碼類型。91是TON/NPI遵守International/E.164標準,指在號碼前需加‘+’號;此外還有其它數值,但91最常用。
91—10010001 BIT No. 7 6 5 4 3 2 1 0
Name 1 數值類型 號碼鑒別
數值類型(Type of Number):
000—未知,001—國際,010—國內,111—留作擴展;
號碼鑒別(Numbering plan identification):
0000—未知,0001—ISDN/電話號碼(E.164/E.163),1111—留作擴展;
⑶683108701305F0—短信息中心號碼。
由於位置上略有處理,實際號碼應為:8613800731500(字母F是指長度減1)。這需要根據不同的地域作相應的修改。 ⑴、⑵、⑶通稱短消息中心地址(Address of the SMSC)。 ⑷11—文件頭字節。
11&h=00010001&b BIT No. 7 6 5 4 3 2 1 0
Name TP-RP TP-UDHI TP-SPR TP-VFP TP-RD TP-MTI &#118alue 0 0 0 1 0 0 0 1
應答路徑—TP-RP(TP-Reply-Path):0—不設置;1—設置
用戶數據頭標識—TP-UDHL(TP-User-Data-Header-Indicator):
0—不含任何頭信息; 1—含頭信息
狀態報告要求—TP-SPR(TP-Status-Report-Request):0—需要報告; 1—不需要報告
有效期格式—TP-VPF(TP-Validity-Period-Format):
00—不提供(Not present); 10—整型(標準);01—預留; 11—提供8位字節的壹半(Semi-Octet Represented)
拒絕復制—TP-RD(TP-Reject-Duplicates):0—接受復制; 1—拒絕復制
信息類型提示—TP-MTI(TP-Message-Type-Indicator):00—讀出(Deliver); 01—提交(Submit)
⑸00—信息類型(TP-Message-Reference)
⑹0B—被叫號碼長度。
⑺91—被叫號碼類型(同⑵)。
⑻3128738839F5—被叫號碼,經過了位移處理,實際號碼為“13823788935”。
⑹、⑺、⑻通稱目的地址(TP-Destination-Address)。
⑼00—協議標識TP-PID(TP-Protocol-Identifier)
BIT No. 7 6 5 4 3 2 1 0
Bit No.7與Bit No.6: 00—如下面定義的分配Bit No.0—Bit No.5;01—參見GSM03.40協議標識完全定義;10—預留;11—為服務中心(SC)特殊用途分配Bit No.0—Bit No.5。壹般將這兩位置為00。 Bit No.5:0—不使用遠程網絡,只是短消息設備之間的協議;1—使用遠程網絡。
Bit No.0—Bits No.4:
00000—隱含;00001—電傳;00010—group 3 telefax;00100—語音;00101—歐洲無線信息系統(ERMES);00110—國內系統;10001—任何基於X.400的公用信息處理系統;10010—Email。
⑽00—數據編碼方案TP-DCS(TP-Data-Coding-Scheme)
BIT No. 7 6 5 4 3 2 1 0
Bit No.7與Bit No.6 :壹般設置為00;
Bit No.5:0—文本未壓縮,1—文本用GSM標準壓縮算法壓縮;
Bit No.4:0—表示Bit No.1、Bit No.0為保留位,不含信息類型信息,1—表示Bit No.1、Bit No.0含有信息類型信息;
Bit No.3與Bit No.2:00—默認的字母表,01—8bit,10—USC2(16bit),11—預留;Bit No.1與Bit No.0:00—Class 0,01—Class 1,10—Class 2(SIM卡特定信息),11—Class 3。
⑾00—有效期TP-VP(TP-Valid-Period)
VP &#118alue(&h) 相應的有效期 00 to 8F (VP+1)*5 分鐘 90 to A7 12小時+(VP-143)*30分鐘 A8 to C4 (VP-166)*1天 C5 to FF (VP-192)*1 周
⑿02—用戶數據長度TP-UDL(TP-User-Data-Length)
⒀C834—用戶數據TP-UD(TP-User-Data)
“Hi” 4.短消息編碼設需要發送的短消息內容為“Hi”,使用的GSM字符集為7位編碼。首先將字符轉換為7位的二進制,然後,將後面字符的位調用到前面,補齊前面的差別。
例如:H翻譯成1001000,i翻譯成1101001,顯然H的二進制編碼不足八位,那麽就將i的最後壹位補足到H的前面。那麽就成了11001000(C8),i剩下六位110100,前面再補兩個0,變成00110100(34),於是“Hi”就變成了兩個八進制數 C8 34。
5.短消息的發送與接收案例鑒於TC35(T)支持TEXT格式,我們在試驗中主要測試該格式。
(1)設置短消息中心 AT+CSCA="+8613800731500"(短消息中心);
(2)設置短消息發送格式 AT+CMGF=1 (1-TEXT; 0-PDU);
(3)發送短消息(短消息內容為“test”) AT+CMGS="13823788935"(目的地址) <cr> > test ^z ;
(4)設置短消息到達自動提示: 設置短消息到達提示當短消息被接收,將獲取指令: +CMTI:"SM",INDEX(信息存儲位置) AT+CNMI=1,1,0,0,1();
(5)獲取短消息內容(Once more),假設INDEX=8。 AT+CMGR=8 返回信息如下: +CMGR: "REC UNREAD","+8613823788935",,"01/07/16,15:37:28+32",Once more 6.註意事項 (1)短消息中心壹般不會改動,如果短消息中心號碼改動,在使用“AT+CSCA”語句時,記住TC35要重新啟動,否則TC35不能正常工作(TC35T不存在此問題)。(
2)某些SIM卡帶有密碼,啟動時需要輸入密碼。