EDN首页   博客首页

日志档案

发表于 2008-8-5 20:47:44

13

标签: stm32  sms  pdu  text  编码  

基于stm32的GSM抄表系统之二--sms短信基本知识

昨天把原理图整理好了之后,发现其实这个系统关键部分应该在GSM的短信收发这块。如果熟悉了stm32的一些使用之后,再来对tc35i的短信收发做个大体的说明和以下短信基本知识好了。

首先来看看短信的基本编码方式

目前通过mcu控制gsm模块收发短信有2中主要方式,基于at命令的text格式和pdu格式。(最初还有被block mode的,现在基本上被pdu取代了,逐步退出历史舞台了。)

1、text模式

所谓text模式就是通查个你所说的文本模式,这种模式对于初学者来说比较容易搞懂短信的收发。

具体at命令如下:

1、1设置发送模式-text模式

at+cmgf=1(回车,换行)

如果设置成功,会返回 OK的。

这里说明一下,每次发送at命令的时候,结尾一定要加一个回车换行符,要不然,模块不会认识这个at命令。

1、2 然后发送短信

AT+CMGS=“+8613xxxxxxxxx”回车
>输入短消息。Crtl+Z 结束并发送。

说明:13xxxxxxxxx是接收方手机号码,输入发送短信at命令之后,会让你接着输入短信你内容(在超级终端进行的,不能输入中文,中文编码以后再说),然后以Crtl+Z结束。如果发送完成了,会返回

+CMGS: 01
OK

哈哈,是不是发现手机模块发送短信很方便?

2、下面再说说重点pdu模式把

pdu模式是发送或接收手机SMS 消息的一种方法,消息正文经过十六进制编码后进行传送。所以,pdu进行发送和接受,比text模式麻烦很多。

2.1 基本pdu的at命令

基本的PDU 命令是AT+CMGR,AT+CMGL,AT+CMGS。例如读取电话上全部未读过的SMS 消息,最简单的办法是用AT+CMGL=0;而用AT+CMGL=4 则可读取全部SMS 消息,无论已读过与否。

2.2 pdu读取短信

at+cmgf=0(回车换行)(这个设置成pdu模式)

然后发送at+cmgr=1(回车换行)(如果有短信,表示读取第一条短信)

返回如下值:

AT+CMGR=2+CMGR: 1,,35
0891683108200705F0040BA13178512534F4000850103101934220106CA14E8B002C0020660E5929518D8BF4

OK

0891后面一串数字就是我们pdu编码,需要解析的内容很多哦。

短信涉及到的东西很多,在本文不能详细解读,以后会慢慢介绍的。

 

 

系统分类: 单片机   |   用户分类: STM32学习   |   来源: 原创   |   【推荐给朋友】   |   【添加到收藏夹】

    阅读(2938)    回复(7)  

投一票您将和博主都有获奖机会!

最新评论

  • YEELOEW

    2008-8-6 10:31:28

    顶!支持!!

  • hawk05

    2008-8-6 10:56:57

    text模式,可以接收短信吗?

  • 3sc44b0x

    2008-8-6 14:39:23

    支持

  • zhonghuahun212

    2008-8-6 18:48:48

    text模式当然支持接收短信,text就是一种比较直观的看到短信!

  • zhonghuahun212

    2008-8-6 18:49:07

    为什么浏览的人多,帮我顶的人少呢?5555555555

  • stm32hello

    2008-8-6 23:56:30

    够入门的了,深入一点,你会得到莫大的快感!

  • bingoc0c0

    2008-8-7 9:38:26

    顶不了哦,是黑的