首页 > 代码库 > 使用 AT 命令实现西门子短信猫收发短信实例

使用 AT 命令实现西门子短信猫收发短信实例

通过AT指令对西门子短信猫收发短信的控制共有三种实现途径: (1) 最初的 Block 模式(2) 基于 AT 命令的 Text 模式 (3) 基于 AT 命令的 PDU 模式 本文记录的大量的TC35/TC35T 实验数据,总结了使用TC35/TC35T 短信猫收发短信的方法。


技术分享


准备工作:


  使用 TC35 收发短信息,用户必须准备一张已开通短信息服务 SIM 卡,并将其插入

MC2002 之 TC35 扩展模块 SIM 卡座中或 TC35T 的 SIM 卡座中。

  使用 PC 配合 TC35T 收发短信,用户需开启 TC35T 电源,通过串行数据线联接到 PC 机, 并在 PC 端安装串口读写软件,如超级终端,Telix 等。通过终端软件发送 AT 命令,察看返 回数据。

  通过 MC2002 使用 TC35 扩展模块时,用户需编程选用 MODEM 端口,TC35 将自动上电, 再通过编程发送 AT 命令和处理返回数据。MC2002 在关闭 TC35 电源前,首先要向其发送 “AT^SMSO”命令,并确认返回为“OK”或 0 (即中断与 TC35 网络连接) 后,才可关闭 MODEM 端口。

 

1  收发短信及相关操作 AT 命令

ATZ软复位;

 

ATE本地回线设置;

 

ATV设置返回结果码形式;

 

AT+CMEE错误报告设置;

 

AT+CSCA短消息中心地址;

 

AT+CMGR读短消息;

 

AT+CMGS发送短消息;

 

AT+CMGC发出一条短消息命令;

 

AT+CMGL列出 SIM 卡中的短消息;

 

AT+CMGF选择短消息信息格式:0 PDU1 文本;

AT+CSCS设置字符集;

 

AT+CSMP设置短消息文本模式参数;

 

AT+CMGW SIM 内存中写入待发的短消息;

AT+CMNI显示新收到的短消息;

 

AT+CMGD删除 SIM 卡内存的短消息;

AT+CPBR读取当前电话本信息;

 

AT+CSQ检查信号质量;

 

AT^SMSO中断网络连接。

 

TC35 提供 Text  PDUProtocol Data Unit)两种模式来处理短信。在 Text

 

式下可进行 GSM 字符集与 8Bit 数据的收﹑发等操作,但不支持中文或 UCS2 字符集字符的 收发操作;在 PDU 模式下可支持上述所有操作,但需要理解收发 PDU 数据格式。在 Text  式与 PDU 模式下,上述命令使用方法会有所不同。详细的内容请参阅相关资料。

下面就根据收发不同编码类型的数据进行最简单易行的设置,用户在实际应用中需根据

 

实际需要进行设置。

 

2  发送短信实例

 

SMS 是由 ETSI 所制定的一个规范(GSM 03.40  GSM 04.11),规定当使用 7Bits

 

编码(GSM 字符集)时最多可以发送 160 个字符;当使用 8Bit 编码(数据消息,如:铃音、图 ) 时最多可以发送 140 个字符(通常无法直接通过手机终端显示);当使用 16Bit 编码 (UCS2) 时最多可以发送 70 个字符,此编码用来显示 Unicode 文本信息,可以被大多数的 手机终端支持。实例:

 

1)发送英文短信

 

AT+CMGF=1设置为 Text 模式

 

AT+CSMP=17,167,0,0 设置 Text 模式参数。最后一个参数是数据编码类型 DCS—Data Coding Scheme,0 表示默认字符集(GSM.

 

AT+CSCS=GSM  设置为 GSM 字符集

AT+CMGS输入对方电话号码

 

><SP> TC35 提示,”TEST LINE!”短信息内容,<Ctrl+Z>表示结束.

 

数据实录:


 

 

3


AT<CR> OK

 

AT+CMGF=1<CR> OK

 

AT+CSMP=17,167,0,0<CR> OK

 

AT+CSCS=GSM<CR> OK

 

AT+CMGS=13699809470<CR> ><SP>TEST LINE!<CTRL+Z> +CMGS: 86

 

OK

 

 

2)发送 8Bit 数据

 

AT+CMGF=1 设置为 Text 模式 AT+CSCS=GSM 设置为 GSM 字符集

 

AT+CSMP==17,167,0,4 设置 Text 模式参数。最后一个参数是数据编码类型 DCS—Data Coding Scheme, 4 表示 8Bit 数据.

AT+CMGS输入对方电话号码

 

><SP> TC35 提示,”3534454345STD6456576”短信息内容,<Ctrl+Z>表示 结束.

 

数据实录:

 

AT<CR> OK

 

AT+CMGF=1<CR> OK AT+CSCS=GSM<CR> OK

 

AT+CSMP=17,167,0,4<CR> OK AT+CMGS=13699809470<CR>

 

><SP>3534454345STD6456576<CTRL+Z>. +CMGS: 88

 

OK

 

 

3)发送 Unicode 编码字符串

 

AT+CMGF=0 设置为 PDU 模式 AT+CSCS=GSM 设置为 GSM 字符集.

 

AT+CSMP=17,167,0,8 设置模式参数。最后一个参数是数据编码类型 DCS—Data Coding Scheme,8 表示 Unicode 编码。.

AT+CMGS=22 输入 PDU 长度


 

 

4


 

><SP> TC35 提示, “0011000B913196899074F00008AA0862116210529F4E86” PDU 内容,

 

<Ctrl+Z>表示结束.其中,62116210529F4E86”为“我成功了”中文字符 串的 Unicode.

 

数据实录:

 

AT<CR> OK

 

AT+CMGF=0<CR> OK AT+CSCS=GSM<CR> OK

 

AT+CSMP=17,167,0,8 OK

 

AT+CMGS=22<CR> ><SP>0011000B913196899074F00008AA0862116210529F4E86<CTRL+Z>

 

//PDU 内容

 

+CMGS: 89

 

OK

 

 

 

3  接收短信实例

 

1 接收英文短信

 

AT+CMGF=1 设置为 Text 模式 AT+CSCS=GSM 设置为 GSM 字符集 AT+CMGL=ALL 列出所有短信息

 

请注意其中第一条及第三条为中文短信,它们在 Text 模式下无法显示出正确的内 容,只能列出其中的英文字符; +CMGL 后的数字(如 1)表示记录号,"REC READ"表示已读,(未读为"REC UNREAD"),"+8613699809470"表示发方 号码,"02/05/19,22:17:31+00"表示时间邮截。

 

AT+CMGL=UNREAD 可以列出所有未读短信息,注意:未读短信一旦列出一次即变 为已读短信

 

数据实录:

 

AT<CR> OK

 

AT+CMGF=1<CR> OK AT+CSCS=GSM<CR> OK AT+CMGL=ALL<CR>

 

+CMGL: 1,"REC READ","+8613699809470",,"02/05/19,22:17:31+00"



本文出自 “GSM短信模块开发应用” 博客,请务必保留此出处http://wavecomcn.blog.51cto.com/12434418/1886127

使用 AT 命令实现西门子短信猫收发短信实例