PC机控制短信收发设备原理及实现(1)
2010-12-13 09:06
387 查看
最近公司某部门要在管理系统中集成短信收发功能,任务落到我头上,虽然短信平台并不是什么新鲜事,买设备也能提供二次开发库,但之前没接触过,于是也很投入地作了学习和研究。起初很神秘很刺激,在网上一通搜,发现纯收发短信功能其实并不复杂,也就是通过串口把AT
指令发送到短信收发设备,然后从串口读取传回的数据,解析其内容可以判断是指令响应还是返回的数据。
这里附带说一下测试的工具,如果只是用来测试一般的AT指令,手头又没有可用的串口测试工具,windows自带的超级终端工具是个不错的选择,但是超级终端没法对已经编码的短信息进行解码,因此读取短信只能看到一堆乱码。
说到短信息的编码,现在各类终端支持能支持Text和PDU两种模式,据说Text模式对中文支持不好,因此被我直接忽略,PDU模式要掌握也并不复杂,一是要了解PDU编码后的报文格式,二是要掌握编码解码的特定规则,一般的
PDU
编码分为十三段,由
A
到
M
十三个英文字母表示,各段的简单说明我列了个表
:
关于PDU更详细的内容,可以到非犬犬的Blog(http://xinos.cn/downloads/sms/manual/index.shtml
)下载《SMS PDU 手册》
。
和短信相关的AT指令也能在非犬犬这找到,在此表示感谢。
最后把串口操作、AT指令封装、PDU编解码一通搅和做了一个实现,
在普通手机、短信Modem、移动上网卡都测试成功
了
本想附上实现的源码,但没找到上传的地方,如果遇到有兴趣的,可以发邮件到dubing.lee@gmail.com问我索取...
指令发送到短信收发设备,然后从串口读取传回的数据,解析其内容可以判断是指令响应还是返回的数据。
这里附带说一下测试的工具,如果只是用来测试一般的AT指令,手头又没有可用的串口测试工具,windows自带的超级终端工具是个不错的选择,但是超级终端没法对已经编码的短信息进行解码,因此读取短信只能看到一堆乱码。
说到短信息的编码,现在各类终端支持能支持Text和PDU两种模式,据说Text模式对中文支持不好,因此被我直接忽略,PDU模式要掌握也并不复杂,一是要了解PDU编码后的报文格式,二是要掌握编码解码的特定规则,一般的
PDU
编码分为十三段,由
A
到
M
十三个英文字母表示,各段的简单说明我列了个表
:
序号 | PDU 分段号 | 说明 |
1 | A | 短信息中心地址长度, 2 位十六进制数 (1 字节 ) |
2 | B | 短信息中心号码类型, 2 位十六进制数。 |
3 | C | 短信息中心号码, B+C 的长度将由 A 中的数据决定。 |
4 | D | 文件头字节, 2 位十六进制数。 |
5 | E | 信息类型, 2 位十六进制数。 |
6 | F | 被叫号码长度, 2 位十六进制数。 |
7 | G | 被叫号码类型, 2 位十六进制数,取值同 B 。 |
8 | H | 被叫号码,长度由 F 中的数据决定。 |
9 | I | 协议标识, 2 位十六进制数。 |
10 | J | 数据编码方案, 2 位十六进制数。 |
11 | K | 有效期, 2 位十六进制数。 |
12 | L | 用户数据长度, 2 位十六进制数。 |
13 | M | 用户数据,其长度由 L 中的数据决定。 J 中设定采用 UCS2 编码,这里是中英文的 Unicode 字符。 |
)下载《SMS PDU 手册》
。
和短信相关的AT指令也能在非犬犬这找到,在此表示感谢。
最后把串口操作、AT指令封装、PDU编解码一通搅和做了一个实现,
在普通手机、短信Modem、移动上网卡都测试成功
了
本想附上实现的源码,但没找到上传的地方,如果遇到有兴趣的,可以发邮件到dubing.lee@gmail.com问我索取...
相关文章推荐
- 如何用java语言控制短信设备实现短信收发?
- iOS远程真机之非越狱iOS设备的远程控制实现原理
- 通过sim900短信收发控制stm32设备
- 单片机控制GSM模块实现短信收发的软件设计
- 单片机控制GSM模块实现短信收发的软件设计
- GSM短信猫设备及相应短信猫软件下载(支持空号、短信收发、二次开发)
- 远程桌面、远程控制的实现原理
- .Net/C# 实现 中国移动 CMPP v3.0 ISMG SP 收发短信的 SP 客户端 (第2版) (CMPP SP Client)
- Android下实现短信的收发
- Linux开发中GSM 中文短信 SMS PDU编码原理及实现
- 多口短信猫池做二次开发应用实现过程与原理
- 在Java中操作串口实现短信收发 收藏
- android【打电话,收发短信实现】
- 海康、大华设备搜索大概实现原理
- 自行控制loadrunner的socket协议性能测试 (转) 一前言 二任务的提出 三实现方案讨论 四技术要点讲解 如何开始录制一个最简单的收发数据包脚本 写日志文件 一行一行读数据包文件 字
- IE的安全設置中設成“啟用,運行,下载activeX控件”程序控制的实现的原理
- 控制短信猫收发短信 (调用WebServices)
- 修改底层文件,实现修改Android设备屏幕亮度和控制led灯
- [原创] 用Delphi实现控制IE窗体的大小——IESizer程序原理分析 (2003-12)
- Delphi实现串口编程收发短信