GSM模块,顾名思义就是用来与手机进行点对点发送短信(文字、图片以及各种数据),需要将手机卡插入模块中,再用串口线与PC机相连(嵌入式方面,与单片机或者ARM相连)。
GSM短信编码。一种是文本模式(text模式),另一种是PDU模式;
(1)文本模式,发送的数据只能是ASCII码,即普通字母和其他符号,国内不支持中文发送。通过串口通信发送"AT+CMGF=1",将GSM短信发送方式更改为文本模式。文本模式下接收的数据会自动解码,比如你收到一条短信息,GSM会返回:+CMGR: "REC UNREAD","+8613806XXXXXX",,"11/10/21,13:22:13+32"
hello;不需要自己解码,便可得到短信的发送者、发送时间和短信内容
(2)PDU模式,短信编码方式包括三种,即7-bit 编码、8-bit 编码和UCS2 编码。
PDU接收串(接收到信息的字符串)的编制原理:
08//SMSC地址信息的长度共8 个八位字节(包括91)
91//国际号码格式即"+"
683108505905F0//服务号码,即8613800595500
04 //基本参数发送
0D //13个发送号码的信息长度
91//国际号码格式即"+"
683151558321F5 //发送者的号码,即8613155538125
00 //协议标识
08 //编码方式,08--USC2,00--7-bit
01704271612023 //接收时间戳,即2010-07-24/17:16:02
04 //10进制的位数转化为16进制数
64E64F60//消息内容编码
PDU发送串(发送信息的字符串)的编制原理:
00//服务号码信息长度为0
11//没有多余信息的发送,即不包括服务号码信息
00//消息基准值(TP-MR) 0
0D//13个发送号码的信息长度
91//国际号码格式即"+"
683151558321F5//发送者的号码,即8613155538125
00//协议标识是普通GSM 类型,点到点方式
08//编码方式,08--USC2,00--7-bit
00//有效期
06//信息长度
4F60597D0021//信息内容,USC2编码
(a)、7-bit 编码:用于发送和接收ASCII编码(普通的字母和其他符号),当你收到的短信都是ASCII时,这时你的编码方式就是7-bit编码。
7-bit编码方式:就是将上面表中的源串转为目标十六进制。
源串 H e l l o ! 源十六进制 0x48 0x65 0x6c 0x6c 0x6f 0x21 源二进制 1001000 1100101 1101100 1101100 1101111 100001 编码过程 不足位时,由下一位的末尾数字补足 目标二进制 11001000 00110010 10011011 11111101 00001110 01 目标十六进制0xc8 0x32 0x9B 0xFD 0x0E 0x01 目标串 C8 32 9B FD 0E 01
7-bit解码方式:就是将上面表中的目标十六进制转为源串。
(b)、8-bit编码:用于发送和接收数据消息,如图片或铃声等,普通的短信不回用到;
(c)、UCS2编码:用于发送和接收Unicode字符,即含有中文的信息;
接收
UCS2编码方式:
1、将字符串转为unicode编码
2、将unicode编码转为UCS2编码。首先我们知道UCS2编码是将单个字符转化为16位的宽字符,即由这个字符的unicode转化为十六进制,高二位补0(注意:字符串的长度为2位的16进制数,PDU模式中字符串长度为原始消息的2倍,我要发的消息UCS2编码的头两位位字符串的长度)。
上面的内容为GSM模块接收信息的发送信息的处理,我们要怎么接收和发送信息呢?
我们需要用AT指令来操作。关于AT指令的介绍,这里不多加描述。
查看GSM是否连接正常:
AT
返回OK
设置短息存储以及提醒:
"AT+CNMI=2,1,0,0,1\r\n";
//2: 通知TE。在数据线被占用的情况下,先缓冲起来,待数据线空闲,再行通知。
//1:储存到默认的内存位置,并且向TE发出通知(包括class3)
设置回显:
ATE0 //不可回显
ATE1 //可回显
选择发送消息的格式:
AT+CMGF=0//PDU
AT+CMGF=1//TEXT
发送信息:
PDU模式:
AT+CMGS=21 ,(pdu约定固定长度15+发送的报文的长度(16进制数))
>0011000D91683169512363F1000800064F60597D0021//末尾加0x1a
TEXT模式:
AT+CMGS="号码"
>内容//末尾加0x1a
查看短信
AT+CMGR=index //短信存储的索引号
删除短信
AT+CMGD=index
GSM模块的知识就讲到这里,欢迎评价指出不足的地方
转载请注明本文章地址:
http://blog.csdn.net/hsl17/article/details/6895100