微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机控制来实现手机收发短信息

基于单片机控制来实现手机收发短信息

时间:08-26 来源:互联网 点击:

片机发送和接收(手机回答)均为ASCII码。所用手机为SIEMENS S3508i。

  操作过程如下({}内为注释):

  发送:ATE

  手机回答:OK {已建立联接}

  发送:AT+CMGF=0 {选用PDU格式}

  手机回答:OK {允许选择PDU格式}

  发送:AT+CMGL=2 {列出已有的短信息}

  手机回答:+CMGL:1,2,,24{1表示信息个数,2表示未发信息,24表示信息总容量}

  0D71683108370105F004000D81683179133208F1000002608041003380263218

4CF682D

  95E0DC2B36D3D170A0243106933D97A0243106933D97A02451068B1983492608

  OK

  以上这组PDU格式的十六进制字符串,不但包含了短消息的内容,同时包含了发送者的手机号码、短信息中心号码、短消息发送时间等。

  下面对信息内容进行分析:

  0D:短信息中心地址(号码)长度。

  91:短信息中心号码类型,91是TON/NPI。TON/NPI遵守International/E.164标准,指在号码前需加"+"号;此外还可直有其他数值,但91最常用。

  683108370105F0:SMSC 短信息所使用的服务中心号码13807310500。它经过十六进制以字节为单位的高低半字节换位处理,号码是奇数的添F,构成一个HEX字节。

  04:PDU类型,文件头字节。

  0B:主叫号码长度。

  81:主叫号码类型。

  3179133208F1:0A主叫号码,也经过了处理,实际号码为13973123801。

  00:PID,为协议标识。

  00:DCS短信息编码类型是GSM Default Alphabet,即由7位ASCII码移位组成8位十六进制码(octet),其方法见表2。

  1sthex

  B0

  A6

  A5

  A4

  A3

  A2

  A1

  A0

  2ndhex

  C1

  C0

  B6

  B5

  B4

  B3

  B2

  B1

  3rdhex

  D2

  D1

  D0

  C6

  C5

  C4

  C3

  C2

  4thhex

  E3

  E2

  E1

  E0

  D6

  D5

  D4

  D3

  5thhex

  F4

  F3

  F2

  F1

  F0

  E6

  E5

  E4

  6thhex

  G5

  G4

  G3

  G2

  G1

  G0

  F6

  F5

  6thhex

  H6

  H5

  H4

  H3

  H2

  H1

  H0

  G6

  02608041003380:SCTS短信息发送时间,02/06/08/14:00:33.08。

  26:UDL经处理后的8位码(octet)短信息字节长度,它小于消息ASCII码的长度。

  32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D97A0245

1068B1983492608:UD 编码后的PDU数据,短信息内容“2002/06/08/13:48ID102OKID103OK ID201FAIL”。

  3 短信息的发送

  与接收短信息一样,发送时也要先建立联接,传送一些初始化指令,然后发送短消息内容。下面是用SIEMENS S3508i发送一个短信息的例子,内容为:“2002/06/08/13:48 ID102OK ID103OK ID201FAIL”。其ASCII码为:“32030322F30362F30382F31333A34382049443130324F4B

  2049443130334F4B2049443230314641494C20”。

  发送:ATE {请求建立联接}

  手机回答:OK {已建立联接}

  发送:AT+CMGF=0 {选择PDU模式}

  手机回答:OK

  发送:AT+CSMS=0{检测手机是否支持SMS命令}

  手机回答:OK

  发送:AT+CMGS=52{发送短信息,52 octets(不包括最初9个短信息元字节)}

  手机回答:>{允许上传数据,ASCII码是($20H,$2EH)}

  发送:0891683108701305F011000B813179133208F10000AA2632184CF682D95

  E30DC2B36D3D170A0243106933D97A0243106933D97A02451068B19834926081A

  不计最初9个短消息信元字节,本短信息有52字节(104个字符)。

  

  AT+CMGS仅说明了SMSC信息内容的长度,在收到手机回答的>符号手才发送PDU数据串,并以(CTRL^Z)结束。

  PDU数据串的内容说明如下:

  08:短信息信元SMSC(短信息中心号码)的字节长度

  91:短信息中心号码类型,91表明中心号码是国际通用电话号码。

  683108701305F0:短信息中心号码:8613807310500。

  11:PDU SMS发送的文件头字节。这里11指正常发送短信息。

  00:信息类型。这里00指让手机自动加上主叫号码。

  0B:被叫号码长度。

  81:被叫号码类型。

  3179133208F1:被叫号码13973123801。

  00:协议标识。

  00:短信息编码类型是GSM Default Alphabet。

  AA:短信息被保留的时间为4天,其计算方法依照表3。

  VP值

  短消息有效时间长度

  0~143

  (VP+1)%26;#215;5分钟

  144~167

  12时+(VP-143)%26;#215;30分

  168~196

  1天%26;#215;(VP-166)

  197~255

  1周%26;#215;(VP-192)

  26:PDU格式短信息编码后字节长度。

  32184CF682D95E30DC2B36D3D170A0243106933D97A0243106933D

  97A02451068B1983492608:编码后的PDU数据,短信息内容为“2002/06/08/13:

  48ID102OKID103OK ID201FAIL”。

  1A:ASCII码CTRL^Z:报文结束标志。

  4 应用情况及常见主要问题的解决

  笔者用MCS-51系列的单片机研制了一个手持式的数据采集产品,通过SIMEENS手机,利用GSM的SMS传输数据。经过在国内多个省市较大数量长期广泛的使用,性能良好,没有出现数据丢失的现象。证明上述设计用,性能良好,没有出现数据丢失的现象。证明上述设计是正确的。但在调试和试用阶段也遇到了如下问题:

  (1)接口电平

手机的电缆接口电平一般是3V左右,单片机系统的工作电压一般为2.7~5.5V,范围较宽,

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top