gsm短信息发送接收步骤

时间:2024.4.7

短消息发送接收步骤

一、发送短信PDU格式

AT十CMGS ( Send SMS command)发送短消息指令。

PDU模式中,首先发送短消息数据的长度。AT+CMGS=<Length><CR>。等待返回ASCII字符“>”,则可将PDU数据输入,PDU数据以<Ctrl>+<Z>作为结束符,短消息发送成功,模块返回 步骤1.发送AT<回车>连接测试

返回OK。

步骤2. 设置短信息发送格式

AT+CMGF=0 (选择短消息信息格式:0-PDU;1-TEXT)

步骤3. 发送PDU短消息数据的长度(从11开始,不包括短信中心的号码)

AT+CMGS=25 (<length><cr>) (十六进制 41542B434D47533D32350D)

返回>

步骤4.输入PDU数据

在>后输入(十六进制 0D 0A 3E 20)

0891683108200905F011000D91683103190019F00008A7106C344F4D003D00357C73(ASCII码) 步骤5.按ctrl+z发送短消息。短消息的内容为:水位=5米

如果短消息发送成功,则返回“OK”,并显示信息号:+CMGS: [,] +CMGS: 000

如果短消息发送失败,则返回如下信息号:+CMS ERROR:

HEX发送PDU数据格式为:ASCII转换为HEX,最后输入1A (1A= <ctrl+z>)

30 38 39 31 36 38 33 31 30 38 32 30 30 39 30 35 46 30 31 31 30 30 30 44 39 31 36 38 33 31 30 33 31 39 30 30 31 39 46 30 30 30 30 38 41 37 31 30 36 43 33 34 34 46 34 44 30 30 33 44 30 30 33 35 37 43 37 33 1A(HEX)

PDU数据格式分析:PDU式支持汉字,汉字的十六进制PDU编码直接采用汉字Unicode编码。 例如,我们要将字符“水位=5米”字符发送到目的地“133xxxxxxxx”

08 91 683108200905F0 11 00 0D 91 683103190019F0 00 08 A7 10 6C 34 4F 4D 00 3D 00 35 7C 73

gsm短信息发送接收步骤

gsm短信息发送接收步骤

发送短信息的PDU格式

1.SCA:短信息服务中心地址08 91 683108200905F0

(1) 08-短信息服务中心地址长度指(91)+(683108200905F0)8个字节的长度。

(2)91—短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加‘+’号;此外还有其它数值,但91最常用,91指国际类型,81指国内类型。 91—10010001

号码类型

数值类型(Type of Number):000—未知,001—国际,010—国内,111—留作扩展;

号码鉴别(Numbering plan identification):0000—未知,0001—ISDN/电话号码(E.164/E.163),1111—留作扩展;

⑶683108200905F0—短信息中心号码。对于短消息中心号码的编码采用的是半位码。取十六进制的 ASCII 码,8 的 ASCII 码是 38,6 的 ASCII码是 36,所以数字编码只要取相应的二进制的后四位就可以有效的表示一个数字,也就是十六进制的右边一位。所有数字都取二进制的后四位,然后两两合并,后面的字符是高四位,前面的字符是低四位。依此原则,短消息中心号码的前两位号码为 86,编码后为 68,同样的 13 编码为 31,但是最后只剩下一个 0,用 F 补齐,编码为 F0。其中 86 为中国的国际区号。注:西安短信中心号码 86 138xxxxxxxx ⑴、⑵、⑶通称短消息中心地址SCA。

2.FO—文件头字节,发短信时设为“11”。

gsm短信息发送接收步骤

11&h=00010001&b

文件头格式

应答路径—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)

3、MR—信息类型(TP-Message-Reference),一般为00。

4、DA—被叫号码。0D 91 683103190019F0

0D-被叫号码长度“86133xxxxxxxx”共 13 位,实际号码长度

91—被叫号码类型,为国际类型。

683103190019F0—被叫号码,经过了位移处理,实际号码为“86133xxxxxxxx”。

短消息中心号码相同。 编码方式与

5、PID—协议标识TP-PID(TP-Protocol-Identifier),一般为00

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。

6、DCS—数据编码方案TP-DCS(TP-Data-Coding-Scheme)

gsm短信息发送接收步骤

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)

08-使用UNICODE编码类型,00-7位编码

7、VP-相应的有效期 value(&h) A7为24小时

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 周

8、UDL-用户数据长度(TP-User-Data-Length)即实际短信息内容长度。

10-短信内容长度

9、UD—用户数据(TP-User-Data),即短信内容。

“水位=5米” UNICODE编码为“6C 34 4F 4D 00 3D 00 35 7C 73”,

水的UNICODE编码为“6C 34”,位的UNICODE编码为“4F 4D”,=的UNICODE编码为“00 3D“,

5的UNICODE编码为“00 35”, 米的UNICODE编码为“7C 73”

如要发送英文字符,短消息的编码格式为(DCS—数据编码方案为00):

设需要发送的短消息内容为“Hi”,使用的GSM字符集为7位编码。首先将字符转换为7位的二进制,然后,将后面字符的位调用到前面,补齐前面的差别。例如:H翻译成1001000,i翻译成1101001,显然H的二进制编码不足八位,那么就将i的最后一位补足到H的前面。那么就成了11001000(C8),i剩下六位110100,前面再补两个0,变成00110100(34),于是“Hi”就变成了两个八进制数 C8 34。

2)用TEXT格式发送短信(用超级终端)”(Chr(34))

步骤1.发送AT<回车>(vbCr)

返回OK

AT+CMGF=1(TEXT格式)

步骤2.发送AT+CMGS="+861xxxxxxxx"

返回〉(返回的16进制为0D 0A 3E 20)

步骤3.在〉后输入

Let me try汉字!!

步骤4.按ctrl+z(Chr(26))发送短消息。

返回?

+CMGS: 000

OK

其对应的十六进制数据是:

0D 0A 2B 43 4D 47 53 3A 20 30 30 30 0D 0A 0D 0A 4F 4B 0D 0A

如果发送失败,返回的数据是:

ERROR

对应的十六进制数据是:

0D 0A 45 52 52 4F 52 0D 0A

/******************************************************************

函数名称:GSMSendSMS

函数功能:发送短消息

输入参数:

输出参数:

创建日期:2007.4.6

*******************************************************************/

void GSMSendSMS(uchar *str)

{

} if(GSMSMSFlag==0)return; if(GSMCnt!=0)return; switch(GSMSMSPro) { case 0: GSMCnt = GSMCntConst;//装入超时记录时间 GSMReCmd = 0; GSMSendData("AT+CMGS=\""); GSMSendData(GSMPhoneNum);//对方电话号码 GSMSendData("\"\r"); break; case 1: GSMCnt = GSMCntConst2;//装入超时记录时间 GSMReCmd = 0; GSMSendData(str);//发送短消息数据 GSMSendChar(0x1A);//Ctrl^z break; default: } break;

二、接收短信

+CMTI:“SM”,X (X表示接收短消息的SIM卡存储号码)

AT+CMGR=X回车 (从X存储区读短消息)

AT+CMGD=X回车 (从X存储区删除短消息)

当有新的短消息到来时,需要TC35T产生提示,使用指令“AT+CNMI”。该指令的完整语法如下: AT+CNMI=[<mode>][,<mt>][,<bm>][,<ds>][,<bfr>]

方括号表示参数是可选的,简要说明下:

<mode>用来选择来了新短信,提示信息是否需要从串口直接打出,一般取2。

<mt>用来选择新短信的提示方式,取1的话,就比较简单,比如“+CMTI:"SM",3”,告诉你新短信存在SIM卡里,序号是3,稍后告诉你怎样读取。取2的话,来了新短信就会不作存储,直接从串口显示出来。

<ds>用来选择传送回报,如果想看回报的话,一般取1(同AT+CSMP结合使用)。

其他参数不作说明。

GSM Modem一般都支持一条“AT+CNMI”指令,用于设定当有某类短消息到达时,如何处理它——只储存在制定的内存(易失的/非易失的)中;先储存后通知TE;直接转发到TE,等等。 “AT+CNMI”指令语法为:

AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>

(1)<mode>用来选择来了新短信,提示信息是否需要从串口直接打出,一般取2。 0——先将通知缓存起来,再按照<mt>的值进行发送。

1——在数据线空闲的情况下,通知TE,否则,不通知TE。

2——数据线空闲时,直接通知TE;否则先将通知缓存起来,待数据线空闲时再行发送。 3——直接通知TE。在数据线被占用的情况下,通知TE的消息将混合在数据中一起传输。

(2)<mt>设置短消息存储和通知TE的内容。用来选择新短信的提示方式,取1的话,就比较简单,比如“+CMTI:"SM",3”,告诉你新短信存在SIM卡里,序号是3,稍后告诉你怎样读取。取2的话,来了新短信就会不作存储,直接从串口显示出来。

0——接受的短消息存储到默认的内存位置(包括class 3),不通知TE。

1——接收的短消息储存到默认的内存位置,并且向TE发出通知(包括class 3)。通知的形式为:

+CMTI:”SM”,<index>

2——对于class 2短消息,储存到SIM卡,并且向TE发出通知;对于其他class,直接将短消息转发到TE:

+CMT:[<alpha>],<length><CR><LF><pdu>(PDU模式)

或者+CMT:<oa>,[<alpha>,]<scts>[,<tooa>,<fo>,<pid>,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>(text模式)

3——对于class 3短消息,直接转发到TE,同<mt>=2;对于其他class,同<mt>=1。

(3)<ds>用来选择传送回报,如果想看回报的话,一般取1(同AT+CSMP结合使用)。

(4)bm、bfr的含义,请参考相关标准文档。一般不需要去关心它们,设置为0即可。 综合以上分析,若使短消息不经过SIM卡,直接发送至TE,可以设置:

AT+CNMI=2,2,0,0,0

但是这样还有一个问题,class 2的短信,还是会存入SIM卡中,并发送+CMTI:”SM”,<index>。那么,接收程序需要处理短信通知和内容两种情况,增加了复杂性。如果发送方也由程序控制,可以只发no class和class 1的短信。这里选用no class的配置。PDU模式下,令TP-DCS的bit7-bit4为00x0,即可设置发送的短信为no class。通常用手机发送的短信,也是无类别的。 通信时,发送接收双方要统一短信格式。在发送方设置AT+CMGF=0,确定短信发送格式为PDU方式。

在接收方设置:

AT+CMGF=0 //短信接收格式为PDU方式

AT+CSMS=0

如果AT+CSMS=1,接收到短信时,TE需在一定的时间内发送反馈消息至模块;若超时,<mode>和<mt>的值会强制复位到0。那么,再有新的短信将不能被正确处理,需要用“AT+CNMI”指令重新设置参数才行。这增加了程序处理的复杂性。AT+CSMS=0时,省去了这些麻烦。

这里提供3组参数可以供你使用:

1)AT+CNMI=2,1,,1

这组参数可以提供新信息提示,以及传送回报的功能

2)AT+CNMI=2,2,,1

这组参数来了新信息直接显示到串口,不作存储,仍然打开传送回报。

3)AT+CNMI=2,1

4)AT+CNMI=1,2 短消息直接从串口输出

这组参数,一般的模块都会有新信息提示,不会打开回报功能(打开可能会干扰单片机处理), 以上仅供参考,不同厂家模块实现形式以及支持参数可能会有不同,需要实际测试。

AT+CMGR=1

+CMGR: 000,,026

0891683108200945F124 0D91683103190019F0 0000705022114402000631D98C56B301(收到)

0891683108200905F011000D91683103190019F00008A7106C344F4D003D00357C73(发送) OK

设置短消息到达自动提示: 设置短消息到达提示当短消息被接收,令: +CMTI:"SM",INDEX(信息存储位置)

AT+CNMI=1,1,0,0,1();

获取短消息内容(Once more),假设INDEX=8。

AT+CMGR=8

返回信息如下:

+CMGR: "REC UNREAD","+861xxxxxxxx",,"01/07/16,15:37:28+32",Once more

将获取指

更多相关推荐:
短信发送状态报告流程分析

短信发送状态报告流程分析应用层分析1SmsSingleRecipientSenderjava2publicbooleansendMessagelongtokenthrowsMmsException3ifmMes...

信息发布系统报告

合肥学院计算机科学与技术系课程设计报告20xx20xx学年第一学期课学学专指业导班教生姓程JAVA语言信息发布系统09网络工程2班张贯虹张艳明名号级师课程设计名称2012年09月一需求分析随着网络的飞速发展和普...

信息发送者沟通的四个层次

信息发送者沟通的四个层次,内容附图。

应急信息报告和信息发布制度

西充县人民医院应急信息报告和信息发布工作制度为规范西充县人民医院急应急信息报告和信息发布工作提高对应急事件的应对处置能力特制定本工作制度一应急信息报告制度1医院建立应急工作制度公布应急报告电话以保证应急信息畅通...

《网络商务信息采编与发布》实训报告

无锡商业职业技术学院20xx20xx学年第一学期网络商务信息采编与发布实训报告系部工商管理学院专业电子商务班级电商121学号12431128姓名黄莉指导教师成淼1项目一网络商务信息采编基础认知23项目二网店信息...

突发事件信息报告

济南市卫生局文件济卫应急发20xx6号关于进一步加强突发事件信息报告工作的通知各县市区卫生局局直各单位根据市政府通知要求现就进一步做好突发公共事件信息报告工作提出如下意见一进一步加强突发事件信息报告的时效性接到...

突发事件信息报告制度

突发事件信息报告制度xxxxxx有限责任公司20xx年1月突发事件信息报告制度一依据根据中华人民共和国突发事件应对法国务院办公厅关于加强和改进突发公共事件信息报告工作的意见国办发20xx105号河南省人民政府办...

突发公共卫生事件信息报告

突发公共卫生事件信息报告李灵辉广东省疾病预防控制中心一突发公共卫生事件国家突发公共卫生事件应急预案对我国突发公共卫生事件定义为突然发生造成或者可能造成社会公众身心健康严重损害的重大传染病群体性不明原因疾病重大食...

肥东县医院应急信息报告和信息发布制度

肥东县医院应急信息报告和信息发布制度为规范肥东县人民医院应急信息报告和信息发布工作及时准确掌握应急事件事态提高对应急事件的应对处置能力特制定本工作制度一应急信息报告制度1医院建立应急信息报告制度公布应急报告电话...

突发事件预警信息发布平台建设调研报告

突发事件预警信息发布平台建设调研报告随着我国经济社会的快速发展自然灾害事故灾难公共卫生事件社会安全事件四大类突发公共事件呈现多发态势严重影响了经济的健康发展对百姓的生命财产安全也造成了严重威胁筹建突发事件预警信...

《突发环境事件信息报告办法》解读

规范信息报告提高应对能力突发环境事件信息报告办法解读20xx0510根据环境应急管理工作的实际需要为规范突发环境事件信息报告工作提高环境保护主管部门应对突发环境事件的能力切实保障人民群众生命健康和财产安全环境保...

鼎力推荐厦门市信息化发展报告

11111厦门市信息化发展报告厦门市信息产业局20xx目录前言01第一章20xx年厦门市信息化发展概况03第二章信息化环境07一网络环境07二社会环境10三信息安全16第三章经济领域信息化19一工商信息化19二...

信息发送报告(26篇)