摘要:
介绍用MCS-51系列单片机控制手机收发短信息的原理、硬件电路、PDU数据格式和符合GSM07.05协议要求的短信息发送/接收程序,同时给出了一个应用实例。
GSM(Global System for Mobile communication)系统是目前基于时分多址技术的移动通讯体制中比较成熟、完善、应用最广泛的一种系统。目前已建成的覆盖全国的GSM数字蜂窝移动通信网,是我国公众移动通信网的主要方式。主要提供话音、短信息、数据等多种业务。基于GSM短消息功能可以做成传输各种检测、监控数据信号和控制命令的数据通信系统,能广泛用于远程监控、定位导航、个人通信终端等。由于公众GSM网络在全球范围内实现了联网和漫游,建立上述系统不须再组建专用通信网络,所以具有实时传输数据功能的短消息应用将得到迅速普及。
目前,人们设计的各类DTE设备基础上以微处理器为核心,带有RS232/RS485等通信接口,在物理层上很容易实现与GSM设置(如手机等)的连接。但对SMS协议的研究文献却较少,特别是用单片机控制手机的SMS(Short Message Service)收发的研究更少。笔者在用单片机设计基于GSM的SMS数据采集器时,对怎样用单片机控制手机收发短信息进行了探讨。
1 串口控制SMS的工作原理
单片机与手机一般采用串行异步通信接口,具有红外和通信电缆两种连接方式,通信速度可设定,通常为19200bps。采用红外接口的优点是单片机系统与手机电气隔离,相互不干扰,接口各自独立,使用方便;缺点是通信距离较短,红外传播的方向性对接口相对位置有要求。采用电缆连接时,数据传输的可靠性较好;其主要缺点是接口的电气参数不兼容,设计不当时会对手机的通信质量产生影响。笔者经过实践设计的接口电平转换电路如图1。
GSM的短信息业务SMS利用信令信道传输,这是GSM通信网所特有的。它不用拨号建立连接,把要发的信息加上目的地址发送到短信息服务中心,经短消息服务中心完成存储后再发送给最终的信宿。所以当目的GSM终端没开机时信息不会丢失。每个短消息的信息量限制为160字节。
现在市场上大多数手机均支持GSM07.05规定的AT指令集。该指令集是ETSI(欧洲通信技术委员会)发布的,其中包含了对SMS的控制。利用GSM手机的串行接口,单片机向手机收发一系列的AT命令,就能达到控制手机收发SMS的目的。ETSI的GSM07.05中用于SMS收发控制的主要AT命令见表1。
表1 常用AT指令
GSM07.05 |
Function(功能) |
ATE0 |
RESET |
AT+CSMS |
选择短信息服务 |
AT+CPMS |
选择短信息内存 |
AT+CMGF |
选择短信息格式 |
AT+CSCA |
短信息中心地址 |
AT+CNMI |
显示新收到的短信息 |
AT+CMGR |
读短信息 |
AT+CMGS |
发送短信息 |
AT+CMGL |
列出SIM卡中短信息 |
AT+CMSS |
从SIM内存中发短信息 |
AT+CMGW |
向SIM内存中写入待发短信息 |
AT+CMGD |
删除SIM内存中的短信息 |
AT+CSCB |
选择蜂窝广播信息 |
GSM手机通过异步通信接口实现对SMS的控制共有三种接入协议:Block Mode;基于AT命令的TextMode;基于AT命令的PDU Mode。PDU模式是发送或接收手机SMS信息的一种方法,短信息正文经过十六进制编码后被传送。目前,PDU Mode应用最为广泛,基本上全国所有的电信局都提供支持PDU Mode的短消息业务。有些地址则不支持Text Mode和Block Mode,这就限制了这两种接入协议的应用,而且PDU Mode已有取代Block Mode的趋势。为了保证系统具有广泛的适用性,本文采用PDU模式收发SMS。
PDU相当于一个数据包,它由构成消息(SMS)的信息组成。作为一种数据单元,它必须包含源/目的地址、保护(有效)时间、数据格式、协议类型和正文,正文长度可达140字节,它们都以十六进制表示。PDU结构根据短消息由移动终端发起或以移动终端为目的而不同。
最新评论