通过串口发送手机短信

通过串口发送手机短信

ID:34500683

大小:69.67 KB

页数:13页

时间:2019-03-07

通过串口发送手机短信_第1页
通过串口发送手机短信_第2页
通过串口发送手机短信_第3页
通过串口发送手机短信_第4页
通过串口发送手机短信_第5页
资源描述:

《通过串口发送手机短信》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、通过串口发送手机短信(C#版)原理篇  短信编码  在收发短信方面,按时间产生先后,共产生了三种模式:BlockMode、基于AT指令的TextMode、基于AT指令的PDUModem,TextMode比较简单,多款诺基亚手机均支持该模式。西门子的手机大多只支持PDU模式,PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDU已取代BlockMode,因我们主要探讨PDU模式的发送。以西门子3508手机为例。  SMS是由Etsi所制定的一个规范(GSM03.40和GSM03.38)。当使用7-bits编码

2、时,它可以发送最多160个字符;但用8-bit编码,最多可以发送140个字符,通常无法直接通过手机显示;还有用16-bit编码时,最多70个字符,被用来显示Unicode(UCS2)文本信息,可以被大多数的手机所显示。我们今天讨论的是UCS2编码,也就是说,最多只能发送70个字符,不管英文还是中文。  现例如我们现在要发送如下信息,向我的手机13715342642发送"你好,Hello!"。在没有发送之前,你要清楚,手机SIM卡所在地的短信中心号,并不是你现在所在地方的短信中心号,像我在深圳,深圳的短信中心号是:8613800755000,即使我现

3、在到外地,短信中心号仍是深圳。从上面我们得到了下面的信息:  接收的手机号:13715342642  短信中心号:8613800755000  短信内容:你好,Hello!  在实际使用中,上面这些信息并不为手机所执行,要进行编码手机才会执行,先不管,看看编码后的信息:0891683108705500F011000D91683117352446F2000800124F60597DFF0C00480065006C006C006F0021  看不懂吧,我来解释一下:  08-指的是短信中心号的长度,也就是指(91)+(683108705500F0)的长

4、度  91-指的是短信息中心号码类型。91是TON/NPI遵守International/E.164标准,指在号码前需加'+'号;此外还有其它数值,但91最常用。  683108705500F0-短信息中心号码。由于位置上略有处理,实际号码应为:8613800731500(字母F是指长度减1)。这需要根据不同的地域作相应的修改。前面的(08)+(91)+(683108705500F0)实际上就构成了整个短信的一部份,通称短消息中心地址(AddressoftheSMSC)。  11-文件头字节  00-信息类型(TP-Message-Referenc

5、e)  0D-被叫号码长度  91-被叫号码类型  其实在实际处理中,我们通常把11000D91写死在程序中,因为在国内,这些数据都是不会改变的。  683117352446F2-被叫号码,经过了位移处理,实际号码为"8613715342642"。上面的(00)+(0D)+(91)+(683117352446F2),构成了整个短信的第二部份目的地址(TP-Destination-Address)。  00-协议标识TP-PID,这里一般为00  08-数据编码方案TP-DCS(TP-Data-Coding-Scheme),采用前面说的USC2(16

6、bit)数据编码  00-有效期TP-VP(TP-Valid-Period)  12-长度TP-UDL(TP-User-Data-Length),也就是4F60597DFF0C00480065006C006C的长度36/2=18的十六进12  4F60597DFF0C00480065006C006C006F0021-这里就是短信内容了,实际内容为:"你好,Hello!"程序实现,请参考本文章所带源程序的PDUdecoding.cs。 AT指令  说到AT指令可多了,有厚厚的一本书,不属于我们今天讨论的范围,在这里我仅讨论在发送短信中必须要用的几个A

7、T指令。  与SMS有关的GSMAT指令(fromGSM07.05)如表1所示:AT指令功能AT+CMGCSendanSMScommand(发出一条短消息命令)AT+CMGDDeleteSMSmessage(删除SIM卡内存的短消息)AT+CMGFSelectSMSmessageformate(选择短消息信息格式:0-PDU;1-文本)AT+CMGLListSMSmessagefrompreferredstore(列出SIM卡中的短消息PDU/text:0/"RECUNREAD"-未读,1/"RECREAD"-已读,2/"STOUNSENT"-待发

8、,3/"STOSENT"-已发,4/"ALL"-全部的)AT+CMGRReadSMSmessage(读短消息)AT+CMG

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。