GPRS模塊短消息發(fā)送方法_第1頁
GPRS模塊短消息發(fā)送方法_第2頁
GPRS模塊短消息發(fā)送方法_第3頁
GPRS模塊短消息發(fā)送方法_第4頁
GPRS模塊短消息發(fā)送方法_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、GPRS模塊短消息發(fā)送方法最近做了一個(gè)GPRS模塊的簡單測試,其中短消息方式比較簡單,同時(shí)也與其他GPRS模塊通用,現(xiàn)在將我的調(diào)試筆記寫下來。短消息方式:一、與短信相關(guān)的 AT 指令 AT+CMGC Send an SMS command(發(fā)出一條短消息命令) AT+CMGD Delete SMS message(刪除 SIM 卡內(nèi)存的短消息) AT+CMGF Select SMS message formate (選擇短消息信息收發(fā)格式: 0-PDU;1-文本) AT+CMGL List SMS message from preferred store(列出 SIM 卡中的短消息AT+CMG

2、R Read SMS message(讀短消息) AT+CMGS Send SMS message(發(fā)送短消息) AT+CMGW Write SMS message to memory(向 SIM 內(nèi)存中寫入待發(fā)的短消息) AT+CMSS Send SMS message from storage(從 SIN M 內(nèi)存中發(fā)送短消息) AT+CNMI New SMS message indications(顯示新收到的短消息) AT+CPMS Preferred SMS message storage(選擇短消息內(nèi)存) AT+CSCA SMS service center address(短消息

3、中心地址) AT+CSCB Select cell broadcast messages(選擇蜂窩廣播消息) AT+CSMP Set SMS text mode parameters(設(shè)置短消息文本模式參數(shù))AT+CSMS Select Message Service(選擇短消息服務(wù))發(fā)送短消息有兩種方式:PDU和TEXT 模式二、 PDU 模式下發(fā)送中英文短消息AT+CMGF=0 首先將短信息格式設(shè)為PDU 模式AT+CSCS=“UCS2” 設(shè)置字符格式為UCS2 模式AT+CSCA=”+86138XXXXXXXX”,145 設(shè)置短消息服務(wù)中心地址注:對于中國移動(dòng)的短信服務(wù)中心號是+8613

4、80xxxx500,其中xxxx是你所在的長途電話區(qū)號,不足4位就補(bǔ)0,比如我所在的北京是010,補(bǔ)0后是0100,就應(yīng)該+8613800100500。PDU數(shù)據(jù)單元格式定義為:以下例子發(fā)送“你好”發(fā)送數(shù)據(jù)是:你好 Unicode譯碼為:4F60597D AT+CMGS=019 15(PDU 規(guī)約頭固定長度 15 字節(jié))4(報(bào)文長度 4 個(gè)字節(jié)) 0011000D91683119325476F8000801044F60597D ctrl-Z 00 為SCA預(yù)留 11 FO 設(shè)置PDU 類型 00 MR 發(fā)送參考號 0D DA 目的號碼長度 91 DA 目的號碼類型 6

5、8 DA 中國的區(qū)號3119325476F8 DA 目的號碼編碼 00 PID 發(fā)送方式 08 DCS 編碼模式 01 VP 有效期 PDU 中用戶數(shù)據(jù)前的PDU 頭的長度是15 字節(jié) 04 UDL 數(shù)據(jù)長度 4F60597D UD 數(shù)據(jù)內(nèi)容Unicode 譯碼 例子中目的號碼是一種內(nèi)存編碼方式,將每兩位數(shù)據(jù)位置互換,余下最后單位的補(bǔ) F ,編碼為3119325476F8。用戶使用PDU 模式發(fā)送中文短消息時(shí)只需按照上述例子,改變 TPDU 的十進(jìn)制長度、手機(jī)號碼編碼、報(bào)文長度和報(bào)文內(nèi)容Unicode 譯碼即可。 設(shè)置DCS 編碼模式改變短消息發(fā)送等級:按照GSM08

6、.38 協(xié)議約定,PDU 中的DCS 字段(Bit70)用于設(shè)置短消息內(nèi)容的編碼方式 和發(fā)送等級, 具體為Bit4 用于決定Bit1 和 Bit0 的設(shè)置是否有效 (1 為有效, 0 為無效) ;Bit1和Bit0 均設(shè)置為0 表示短消息發(fā)送等級為0 等級, 即直接發(fā)送至終端而不存放在SIM卡; Bit3 設(shè)置為 1 且Bit2 設(shè)置為 0 表示短消息內(nèi)容為 UCS2 編碼。上例中 DCS 字段為 08,即表示短消息內(nèi)容為 UCS2 編碼且無發(fā)送等級;若改為 18 則表示短消息內(nèi)容為 UCS2 編碼且按0 等級發(fā)送,即直接發(fā)送至目的終端。三、TEXT 模式發(fā)送短消息 TEXT模式只支持傳送英文

7、及數(shù)字信息,但它的編碼要比PDU模式簡單很多,所以建議采用TXET模式發(fā)送和接受短消息。1、TEXT模式下發(fā)送中文短消息AT+CMGF=1 首先將短信息格式設(shè)為 TEXT 模式AT+CSCS=“UCS2” 設(shè)置字符格式為UCS2 模式:AT+CSCA=”+86138XXXXXXXX”,145 設(shè)置短消息服務(wù)中心地址注:對于中國移動(dòng)的短信服務(wù)中心號是+861380xxxx500,其中xxxx是你所在的長途電話區(qū)號,不足4位就補(bǔ)0,比如我所在的北京是010,補(bǔ)0后是0100,就應(yīng)該+8613800100500。AT+CSMP=17,167,0,24 設(shè)置短消息發(fā)送相關(guān)參數(shù):四參數(shù)分別為 FO、VP

8、、PID 和 DCS,代表意義與 PDU 模式中參數(shù)相同,不同的是須以十進(jìn)制表示,24 表示短消息內(nèi)容為 UCS2 編碼且直接發(fā)送至目的終端,如改為 25 則表示短消息內(nèi)容為 UCS2 編碼且發(fā)送至SIM 卡存儲。 發(fā)送:AT+CMGS= 手機(jī)號碼編碼CR 收到響應(yīng)后再發(fā)送 報(bào)文內(nèi)容Unicode 譯碼ctrl-Z以下例子發(fā)送“你好”發(fā)送數(shù)據(jù)是:你好 Unicode譯碼為:4F60597D AT+CMGS=” 00310033003900310032003300340035003600370038” 直接輸入手機(jī)號碼編碼 4F60597D ctrl-Z 用戶使用TEX

9、T 模式發(fā)送中文短消息時(shí)只需按照上述例子,改變手機(jī)號碼編碼和報(bào)文內(nèi)容的Unicode 譯碼即可。2、TEXT模式下發(fā)送英文短消息 AT+CMGF=1 首先將短信息格式設(shè)為 TEXT 模式AT+CSCS=“GSM” 設(shè)置字符格式為GSM 模式AT+CSCA=”+86138XXXXXXXX”,145 設(shè)置短消息服務(wù)中心地址注:對于中國移動(dòng)的短信服務(wù)中心號是+861380xxxx500,其中xxxx是你所在的長途電話區(qū)號,不足4位就補(bǔ)0,比如我所在的北京是010,補(bǔ)0后是0100,就應(yīng)該+8613800100500。AT+CSMP=17,167,0,240 設(shè)置短消息發(fā)送相關(guān)參數(shù):四參數(shù)分別為 FO

10、、VP、PID 和DCS,代表意義與PDU 模式中參數(shù)相同,不同的是須以十進(jìn)制表示,240 表示短消息內(nèi)容為默認(rèn) GSM 編碼且直接發(fā)送至目的終端,如改為 241 則表示短消息內(nèi)容為 GSM 編碼且發(fā)送至SIM 卡存儲。 發(fā)送:AT+CMGS= “13XXXXXXXXX” CR 收到響應(yīng)后再發(fā)送 報(bào)文內(nèi)容ctrl-Z 以下例子發(fā)送“Hello”文是:Hello AT+CMGS=” 直接輸入手機(jī)號碼 Hello ctrl-Z 使用TEXT 模式發(fā)送英文短消息時(shí)只需按照上述例子,改變手機(jī)號碼和報(bào)文內(nèi)容即可。 以上為如何發(fā)送短信的方法,那又如何接受

11、剛收到的短消息呢?接受剛收到的短消息有兩種方法:查詢終端方式和使用事件方式。查詢方式是先不處理網(wǎng)絡(luò)上發(fā)來的信息,定期使用“AT+CMGL=0”命令讀取未讀取的短信,如果有就讀入,交給上級程序處理。然后將此短消息刪除,該方法簡單,但許多時(shí)候都在做無用功,效率低下。實(shí)際中我們使用事件方式,通過AT+CNMI指令設(shè)置接收到的短信息存儲到SIM卡,并返回提示信息。短消息類(class)的概念:根據(jù)指定儲存的位置,短消息分為class 0 3四個(gè)類。也可以不指定類(no class),由ME按默認(rèn)設(shè)置進(jìn)行處理,存儲到內(nèi)存或者SIM卡中。在TPDU的TP-DCS字節(jié)中,當(dāng)bit7-bit4為00x1, 0

12、1x1, 1111時(shí),bit1-bit0指出消息所屬類: 00 class 0:只顯示,不儲存 01 class 1:儲存在ME內(nèi)存中 02 class 2:儲存在SIM卡中 03 class 3:直接傳輸?shù)絋E GSM Modem一般都支持一條“AT+CNMI”指令,可用于設(shè)定當(dāng)有某類短消息到達(dá)時(shí),如何處置它:只儲存在指定的內(nèi)存(易失的非易失的)中,先儲存后通知TE,還是直接轉(zhuǎn)發(fā)到TE,等等。 AT+CNMI指令語法為AT+CNMI=mode,mt,bm,ds,bfrmode - 通知方式:0 不通知TE。1 只在數(shù)據(jù)線空閑的情況下,通知TE;否則不通知TE。2 通知TE。在數(shù)據(jù)線被占用的情

13、況下,先緩沖起來,待數(shù)據(jù)線空閑,再行通知。3 通知TE。在數(shù)據(jù)線被占用的情況下,通知混合在數(shù)據(jù)中一起傳輸。mt - 消息儲存或直接轉(zhuǎn)發(fā)到TE:0 儲存到默認(rèn)的內(nèi)存位置(包括class 3)1 儲存到默認(rèn)的內(nèi)存位置,并且向TE發(fā)出通知(包括class 3)2 對于class 2,儲存到SIM卡,并且向TE發(fā)出通知;對于其它c(diǎn)lass,直接將消息轉(zhuǎn)發(fā)到 TE3 對于class 3,直接將消息轉(zhuǎn)發(fā)到 TE;對于其它c(diǎn)lass,同mt=1bm, ds, bfr的含義,請參考相關(guān)標(biāo)準(zhǔn)文檔。一般不需要去關(guān)心它們。在程序中具體實(shí)現(xiàn)時(shí),使用mode=2, mt=1,即AT+CNMI=2,1,0,0,0:比較簡單。對所有類型的短消息,只要在收到ME送來的+CMTI通知后,用AT+CMGR指令讀取消息內(nèi)容就行了。舉例如下:(藍(lán)色表示PC機(jī)發(fā)送的數(shù)據(jù),紅色表示模塊返回的數(shù)據(jù))AT+CMGF=1 設(shè)置短消息格式為TEXT格式OKAT+CCS=”CSM” 設(shè)置字符格式為GSM模式OKAT+CSCA=”+8613800100500”,145 設(shè)置短消息服務(wù)中心地址OKAT+CNMI=2,1,0,0,0 設(shè)置收到新短信存于SIM卡

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論