GSM的单片机短消息收发系统设计

基于GSM的单片机短消息收发系统设计

摘要

本文是提出了一种基于GSM短消息的远程监控系统,在给出系统的总体设计的基础上,设计了系统的硬件﹑软件,并对其应用领域作了一些探讨和研究。利用GSM网络作为无线智能监控系统的信息传输平台是一种很有效的方法,其原理相对简单,安全保密性高,网络覆盖面广,因此与传统的监控系统相比有着其相对独特的优势。本文利用单片机与西门子的TC35i组成一个短信收发系统,对如何实现远程监控进行了论述。数据的传输方式最主要是短消息方式,短消息的发送和接收是通过 AT 指令来实现的,本文讲述了常见的 AT 指令及其使用方法。

在系统的硬件设计中,对主要硬件 TC35i 和单片机STC12C5A60S2及其外围电路进行了比较详细的讲述。系统硬件包括 GSM 通信单元 TC35i,经过信息处理单元STC12C5A60S2 单片机、数据采集系统等。系统的软件设计主要包括单片机初始化、模块初始化、短信提取、短信指令识别,执行指令等。论文以 GSM 短消息的远程控制系统为基础,设计出了一套基于 GSM 短消息的远程监控系统,并给出了此系统应用领域的一些探讨和研究。

关键词:GSM 单片机远程监控工业控制

THE DESIGN OF SHORT MESSAGE SENDING &

RECEIVING SYSTEM BASED ON GSM & MCU

ABSTRACT

This article is presented short message remote monitoring system based on GSM, given the overall design of the system. hardware and software of the system, and explore and study its applications. Using the GSM network as the information transmission platform of the wireless intelligent monitoring system is a very effective way. The principle is relatively simple; high security and confidentiality, network coverage, thus the GSM network has its relatively unique advantages compared with the conventional control system. In this paper, using MCU and Siemens TC35i to constitute a messaging system, how to implement remote monitoring are discussed. The most important way of data transmission is short message sending, short message sending and receiving is achieved through AT commands. the common AT commands and their usage are described.

The hardware design of the system mainly includes hardware chip STC12C5A60S2 , TC35i and its peripheral circuits ,which are described in more detail. System hardware includes GSM communication unit TC35i, information processing unit STC12C5A60S2 MCU and data acquisition systems. System software design includes single chip initialization, module initialization, SMS extraction, SMS commands recognition and execution directives. In this article, a remote monitoring system based on GSM SMS remote control was designed on base of the system of GSM short message remote control, and the explore and study of the system application areas are given.

KEY WORDS:GSM, MCU, LONG-DISTANCE INSPECT, INDUSTRY CONTROL

目录

绪论 (1)

第1章系统方案设计 (3)

§1.1系统总体方案设计 (3)

§1.2 系统硬件的选择 (3)

第2章系统硬件设计 (5)

§2.1单片机STC12C5A60S2 (5)

§2.1.1 单片机STC12C5A60S2功能简介 (5)

§2.1.2 单片机STC12C5A60S2引脚图 (6)

§2.2西门子TC35i通信模块 (7)

§2.2.1 TC35I模块介绍 (7)

§2.2.2 TC35I模块 AT指令 (9)

§2.3.1 单片机最小系统电路设计 (16)

§2.3.2 单片机串口电路设计 (16)

第3章系统软件设计 (18)

§3.1系统软件总体设计 (18)

§3.2系统软件详细设计 (19)

§3.2.1 初始化系统设计 (19)

§3.2.2 串口接收程序设计 (19)

§3.2.3手机号码以及短信内容提取程序设计 (20)

§3.2.4 用户命令解析程序设计 (21)

§3.2.5 短信发送程序设计 (22)

第4章系统调试 (23)

§4.1系统调试方法的选择 (23)

§4.2LabVIEW调试程序 (23)

§4.3系统调试内容 (24)

结论 (25)

参考文献 (26)

致谢 (27)

附录 (28)

绪论

目前的远程控制主要是以下几种方式:短距离长线控制;通过市话网;通过Internet 网络;通过自组网络(CDPD 网)[14];通过数传电台方式。短距离长线控制与通过自组网络(CDPD网)首先要自行建设通信网络,建网初期投资比较巨大,运营期间自主维护耗费人力物力也较大,信号质量得到了保证,效果好,相对运营费用高;通过市话网和Internet 方式以现有的网络为主要依托,无需自行组建通信网络,但是由于市话网和Internet 难以达到工业现场覆盖面,接入网络受到限制,局限性相对大,网络运行效果取决于网络运营商,线路安全不能得到保证,其通信效果较好,信号量相对大,运营费用相对低廉;数传电台出现比较早,应用很广泛,是一种比较不错的无线数传方式,但是建网初期投资相对巨大,数传电台的传输范围有限,而且更加容易受到空间无线信号的干扰,信号不能得到保障,但数传电台信号传输实时性好,运行费用低廉。

远程控制系统应用非常广泛,遍及了国民经济的很多领域,而目前这些控制系统无论从成本、可靠性、稳定性、使用方便性、还是维护的难易程度等很多方面都不能最大限度的让人满意。因此本文把GSM网络引入到远程控制系统中,提出了基于GSM 短消息的远程控制报警系统。GSM 网络是现在基于时分多址技术的移动通信体制中最成熟完善的、覆盖面最广的、功能最强的、用户最多的移动通信网络,GSM 短消息业务不再需要建立拨号连接,只需要把待发的消息加上目的地址发送到短消息中心,再把短消息中心转发成最终目标。运用GSM 短消息实现远程控制可靠性高、信号传播距离比较远、覆盖面积广,而且可以节省建网初期的巨额投资,运营期间不需维护网络,运行费用低。

由于工作年限、环境要求等因素,目前,GSM模块依然在广泛的工业应用领域使用,在各行各业都能看到GSM模块应用的产品。例如,在车载监控领域,使用GSM模块将车辆行驶的GPS数据传输回车辆管理中心;在电力、水务系统,通过GSM模块实现了远程智能抄表,可以实时监控用户的用电和用水量;在测绘行业,为很多偏僻的测绘点安装了GSM模块实现了实时的监

控,不必再人工收集数据;在家庭,可以安装无线报警系统,一旦发生火情或盗窃行为,可以立即通知户主和报警;在国外,很多老人小孩带了个人跟踪器,防止老人和小孩走失或意外发生,里面也是集成了GSM模块。可以说,随着GSM的网络建设的完善,GSM模块的应用范围也越来越广。本文就GSM 的工业应用前景,在GSM模块的基础上,对采用单片机搭建的GSM的远程监控系统中采集节点部分进行详细设计和论述,旨在对GSM的工业应用进行初步探索,这无疑对于GSM在教学中和工程上的应用有着特别重要的意义。

现在工农业的生产中,远程监控有着广泛的应用。进行远程监控有以下几种方式:①使用无线电收发设备;②利用有线电话网络,使用电话线路,以双音多频(CDTMF)信号为载体传送简单命令和数据;③利用计算机,借助Internet传送数据及命令;④借助PLMN(公用陆地移动网)的SMS(短信)服务平台或GPRS(通用分组无线业务)[15]的数据业务功能传送数据或命令。然而无论哪一种传输技术,对于用户来讲,最基本的要求即是要方便、快捷、安全、可靠。有线传输方式,可以通过架设专线、利用公共数据网等途经来实现,但是在很多场合下,有线方式受到了架线环境、传输距离等条件限制。无线方式实现方式也很多,比如可以通过自建无线发射接收系统,如短波、超短波电台、架设微波线路等,但是这种方式容易受到地形地貌的影响以及频率资源的限制,架设成本高、系统的架设和维护工作繁重,在业务量小、用户数量大、位置分散等应用场合中也受到很大限制。

目前主流的基于GSM远程监控系统之一,盈科互动出产的CWT5011 GSM RTU 短信报警控制器,内嵌实时操作系统,集远程I/O控制和数据传输以及报警功能为一体,具有8路开关量信号输入,8路开关信号输出(可驱动继电器)4路AD采样接口和1个用来远程数据通讯的RS-232接口,输入信号异常报警内容可由用户自定义。可监视测量以及控制安装在远程现场的传感器和设备。具有Speak及MIC接口实现喊话及监听功能,内置温度传感器(可选),内置后备电源(可选),内置报警蜂鸣器(可选),支持电话振铃控制输出功能,支持通过短信进行远程控制,支持每日定时短信报告设备状态,支持10个报警号码,支持电话振铃报警,支持报警输出联动功能,支持定时输出及定时布撤防功能,持串口配置,配有专用的配置软件,双重看门狗技术,保证设备免维护稳定运行,可支持通过短信息对所有的参数进行远程配置。

第1章系统方案设计

§1.1系统总体方案设计

图2-1体统总体设计方案图

系统由温度光照传感器、信号调理电路、开关、指示灯、STC12C5A60S2单片机、西门子TC35i通信模块以及用户手机组成。单片机对光照和温度等的模拟量和开关量进行采集,经过处理,根据用户手机通过GSM公网发送的短消息中包含的命令,把用户需要的信息以短消息的模式发送给用户,从而实现远程监控。本系统适合在远距离场所或者危险场所的状态监控。

§1.2 系统硬件的选择

传感器及信号调理部分,由于温度变化及光照的强度变化缓慢,本系统设计时采用电位器进行调试;开关量输入采用开关输入;开关量输出采用发光二极管显示;控制器选用STC12C5A60S2,该单片机具有8路10位AD,双串口,该单片机有1024字节的扩展RAM,因此可满足收发短信以及解析

字符串所需要的内存空间,同时,该单片机采用了不分频执行机器周期,同晶振频率下,运行速度是普通51单片机的12倍;GSM模块选用西门子的TC35i模块,该模块可以自动适应串口波特率,可不用进行初始化设置,就可进行在常用波特率下的串口通信[3]。

第2章系统硬件设计

§2.1单片机STC12C5A60S2

§2.1.1 单片机STC12C5A60S2功能简介

1. 增强型 8051CPU,单时钟/机器周期,指令代码完全兼容传统8051

2. 工作电压:STC12C5A60S2系列工作电压: 5.5V -

3.5V(5V单片机)

3. 工作频率范围:0~35MHz,相当于普通8051的 0~420MHz

4. 用户应用程序空间8K /16K / 20K / 32K / 40K / 48K / 52K / 60K / 62K

5. 片上集成1280字节RAM

6. 通用I/O口(36/40/44个),复位后为:准双向口/弱上拉(普通8051传统I/O口)可设置成四种模式:准双向口/弱上拉,强上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,开漏上拉,仅为输入/高阻,每个I/O口驱动能力均可达到20mA,但整个芯片最大不要超过120mA

7. ISP (在系统可编程)/ IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1 )直接下载用户程序。

8. 有EEPROM功能(STC12C5A62S2/AD/PWM无内部EEPROM)

9. 看门狗

10.内部集成MAX810专用复位电路(外部晶体12M以下时,复位脚可直接1K电阻到地)

11. 外部掉电检测电路:在P4.6口有一个低压门槛比较器5V单片机为1.33V,误差为±5%,3.3V 单片机为1.31V,误差为±3%

12. 时钟源:外部高精度晶体/时钟,内部R/C振荡器(温漂为±5% 到±10%以内)用户在下载用户程序时,可选择是使用内部R/C 振荡器还是外部晶体/时钟常温下内部R/C振荡器频率为:5.0V单片机为:11MHz ~17MHz单片机为:8MHz~12MHz。精度要求不高时,可选择使用内部时钟,但因为有制造误差和温漂,以实际测试为准。

13. 共4个16位定时器,两个与传统8051兼容的定时器/计数器,16位定时器T0和T1,没有定时器2,但有独立波特率发生器做串行通讯的波特率

发生器,再加上2路PCA模块可再实现2个16位定时器

14. 3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟

15. 外部中断I/O 口7路,传统的下降沿中断或低电平触发中断,并新增支持上升沿中断的PCA模块。16. PWM (2路)/ PCA (可编程计数器阵列,2路)也可用来当2路D/A使用,也可用来再实现2个定时器,也可用来再实现2个外部中断(上升沿中断/下降沿中断均可分别或同时支持)

17. A/D转换, 10位精度ADC,共8路,转换速度可达250K/S

18. 通用全双工异步串行口(UART),由于STC12系列是高速的8051,可再用定时器或PCA软件

19. STC12C5A60S2系列有双串口,后缀有S2标志的才有双串口,RxD2/P1.2 (可通过寄存器设置到P4.2),TxD2/P1.3 (可通过寄存器设置到P4.3)

20. 工作温度范围:-40 ~ +85℃(工业级) /0 ~ 75℃(商业级)

21. 封装:PDIP-40

§2.1.2 单片机STC12C5A60S2引脚图

图3-1 STC12C5A60S2引脚

§2.2西门子TC35i 通信模块

§2.2.1 TC35I 模块介绍

TC35i 模块的特性如表1所示。

TC35i 模块有40个引脚,通过一个ZIF(Zero Insertion Force ,零阻力插座)连接器引出。这40个引脚可以划分为5类,即电源、数据输入/输出、SIM 卡、音频接口和控制。

TC35i 的第1~5引脚是正电源输入脚通常推荐值4.2V ,第6~10引脚是电源地。11、12为充电引脚,可以外接锂电池,13为对外输出电压(共外电路使用),14为ACCU-TEMP

接负温度系数的热敏电阻,用于锂电池充电保护控制。15脚是启动脚IGT ,系统加电后为使TC35i 进入工作状态,必须给IGT 加一个大于100ms 的低脉冲,电平下降持续时间不可超过1ms 。

16~23为数据输入/输出,分别为DSR0、RING0、RxD0、TxD0、CTS0、RTS0、DTR0 和DCD0。tc35i 模块的数据输入/输

出接口实际上是一个串行异步收发器,符合ITU-T RS232接口标准。它有固定的参数:8位数据位和1位停止位,无校验位,波特率在300bps~115kbps 之间可选,默认9600。硬件握手信号用RTS0/CTS0,软件流量控制用XON/XOFF ,CMOS 电平,支持标准的AT 命令集。

特 性 说 明 信息传送内容

语音和数据 电源

单电源 3.3V ~ 4.8V 频段

双频GSM900MHz 和

DCS1800 MHz(Phase 2+) 发射功率 2W (GSM900MHz Class 4) 1W (DCS1800MHz Class 1)

SIM 卡连接方式

外接

天线

由天线连接器连接外部天线 温度范围

工作温度:-20°C to +55°C

储存温度:-30°C to +85°C 工作电流损耗 通话模式: 300mA (典型值) 空闲模式: 3.0mA (最大值) 省电模式: 50μA (最大值) 短信息 MT, MO, CB 和PDU 模式

外型尺寸 54.5 x 36 x 3.6mm

通讯接口 RS232 SIM 卡操作电压 3V/1.8V 电话薄功能 存储于SIM 卡中 模块复位 AT 指令或掉电复位 串口通讯波特率 300bps 至115kbps

自动波特率范围

4.8kbps 至115kbps

表3-1 TC35i 模块特性

其中18脚RXD 、19脚TXD 为TTL 的串口通讯脚,需要和单片机或者PC 通讯。

TC35i 使用外接式SIM 卡, 24~29为SIM 卡引脚,SIM 卡同TC35i 是这样连接的:SIM 上的CCRST 、CCIO 、CCCL 、CCVCC 和CCGND 通过SIM 卡阅读器与TC35i 的同名端直接相连,ZIF 连接座的CCIN 引脚用来检测SIM

表3-2 AT 命令语法表

卡是否插好,如果连接正确,则CCIN 引脚输出高电平,否则为低电平。TC35i 的第32脚SYNC 引脚有两种工作模式,一种是指示发射状态时的功率增长情况,另一种是指示TC35i 的工作状态,可用AT 命令AT+SYNC 进行切换, 本模块使用的是后一种。当LED 熄灭时,表明TC35i 处于关闭或睡眠状态;当LED 为600 ms 亮/600ms 熄时,表明SIM 卡没有插入或TC35i 正在进行网络登录;当LED 为75 ms 亮/3s 熄时,表明TC35i 已登录进网络,处于待机状态。

30、31、32脚为控制脚,其中30为RTC backup ,31为Power down ,32 为SYNC 。

35~38为语音接口,35、36接扬声器放音。37、38可以直接接驻极体话筒来采集声音(37是话筒正端,39是话筒负端)

单片机通过两根I/O 口控制TC35的开关机、复位等,通过串口与TC35进行数据通信。本项目通信速率为4800bps ,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。

TC35模块输入输出的TTL 正电平逻辑不是+5V ,而是+2.9V ,因此必要

类别 形式 含义

测试命令 AT+C***=? 执行该命令将返回该命令

支持的参数及参数范围 读命令 AT+C***?

执行该命令将返回该

命令当前的参数值 写命令 AT+C***=<….>

执行该命令将设置

该命令的参数值

时加端口保护。其TC35i引脚分配与接口电路的电气特性如标所示。

2.电源

模块的供电电压如果低于3.3V会自动关机。同时模块在发射时,电流峰值可高达2A。同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。所以该模块对电源的要求较高,理想工作电压是4.2V。

§2.2.2 TC35I模块AT指令

1.AT命令语法介绍

所有的AT命令都以“AT”,根据命令形式可以将AT命令分下表所示。

2.单片机与TC35I通行协议注意事项

(1)通信过程中,单片机与TC35I必须完成握手后,才进行数据交换,否则通信失败。

(2)单片机每发送一条指令,需加上回车符作为指令的结束符,否则TC35I不识别。

(3)TC35I接受一条完整的AT指令后,TC35I并不立即执行这条指令,而是首先把刚才接到的AT指令全部反发送出来(含0DH),其次发送一个回车符和换行符,然后执行该条指令。

3.编码方式

目前,发送短消息常用Text和PDU(Protocol Data Unit,协议数据单元)模式。使用Text模式收发短信代码简单,实现起来十分容易,但最大的缺点是不能收发中文短信;而PDU模式不仅支持中文短信,也能发送英文短信。PDU模式收发短信可以使用3种编码:7-bit、8-bit和UCS2编码。7-bit编码用于发送普通的ASCII字符,8-bit编码通常用于发送数据消息,UCS2编码用于发送Unicode字符。一般的PDU编码由A B C D E F G H I J K L M十三项组成。

A:短信息中心地址长度,2位十六进制数(1字节)。

B:短信息中心号码类型,2位十六进制数。

C:短信息中心号码,B+C的长度将由A中的数据决定。

D:文件头字节,2位十六进制数。

E:信息类型,2位十六进制数。

F:被叫号码长度,2位十六进制数。

G:被叫号码类型,2位十六进制数,取值同B。

H:被叫号码,长度由F中的数据决定。

I:协议标识,2位十六进制数。

J:数据编码方案,2位十六进制数。

K:有效期,2位十六进制数。

L:用户数据长度,2位十六进制数。

M:用户数据,其长度由L中的数据决定。J中设定采用UCS2编码,这里是中英文的Unicode字符。

PDU编码协议简单说明

例 1 发送:SMSC号码是+86138********,对方号码是139********,消息内容是“你好!”。从手机发出的PDU串可以是

08 91 68 31 08 70 63 05 F0 11 00 0B 91 31 79 24 45 61 F7 00 08 00 06 4F 60 59 7D 00 21

对照规范,具体分析:

分段含义说明

08 SMSC地址信息的长度共8个八位字节(包括91)

91 SMSC地址格式(TON/NPI) 用国际格式号码(在前面加…+?)

68 31 08 70 63 05 F0 SMSC地址 8613800736500,补…F?凑成偶数个,

11 基本参数(TP-MTI/VFP) 发送,TP-VP用相对格式

00 消息基准值(TP-MR) 0

0B 目标地址数字个数共13个十进制数(不包括91和…F?)

91 目标地址格式(TON/NPI) 用国际格式号码(在前面加…+?)

31 79 24 45 61 F7 目标地址(TP-DA) 139********,补…F?凑成偶数个,补偶方法:在奇数个数组后面加个…F?,然后把所得偶数相邻位置的两个数交换位置。

00 协议标识(TP-PID) 是普通GSM类型,点到点方式

08 用户信息编码方式(TP-DCS) UCS2 编码(00则为7-bit编码)

00 有效期(TP-VP) 5分钟

06 用户信息长度(TP-UDL) 实际长度6个字节(必须与实际的数据长度一致,否则发送失败,并以十六进制表示)

4F 60 59 7D 00 21 用户信息(TP-UD) “你好!”

4.常见指令介绍

(1)AT+CMGF(选择短信息格式)

消息格式

命令:AT+CMGF=

可能响应:

OK

ERROR

读命令:AT+CMGF?

可能响应:

+CMGF:

OK

ERROR

测试命令:AT+CMGF=?

可能响应:

+CMGF: (list of supported s)

OK

ERROR

该命令告诉TA输入输出的消息格式。参数显示消息发送、列表、读和写命令以及接收到消息时的主动汇报使用的格式。模式可以是PDU(全部的TP数据单位)和文本模式(消息的标题和主体分别给出的参数)。

描述

0 PDU模式

1 文本模式

(提示:开机默认模式为0)

(2)AT+CSCA(短消息中心地址)

服务中心地址

命令适用于PDU和文本模式。

命令:AT+CSCA=[,]

可能响应:

OK

ERROR

读命令:AT+CSCA?

可能响应:

+CSCA: ,

OK

ERROR

测试命令:AT+CSCA=?

可能响应:

OK

ERROR

更新SMSC地址。在文本模式中,该设置被使用通过发送(+CMGS)和写(+CMGW)命令。PDU模式该设置被使用同样命令,但仅当SMSC地址长度编码到参数等于0。注意一个“+”在数字前在优先于参数,因此一个数字开始于“+”将总是处理做国际的数字。

描述

字符串类型,字符格式的GSM04.11(3G TS 24.011)RP SC 地址地址值;BCD数字(或者GSM默认字母表字符)被修改为当前选择的TE字符设置。

描述

整数类型,整数格式的GSM04.11(3G TS 24.011)RP SC 地址类型8位字节值。

129 ISDN/电话编号方式设计,国家的/世界的未知。

145 ISDN/电话编号方式设计,世界的号码。

161 ISDN/电话编号方式设计,国家的号码。

128~255 其他值查阅GSM 04.08章节10.5.4.7

(3)AT+CNMI(显示信收到的短信息)

在介绍此指令之前,先简要说明一下短消息类(class)的概念:根据指定存储的位置,短消息分为class0-3四个类,也可以不指定类别(no class),由移动设备按默认设置进行处理,存储到内存或者SIM卡中。在TPDU的TP-DCS字节中,当bit7-bit4为00x1、1111时,bit1-bit0指示消息所属类。

00——class 0,可直接显示。

01——class 1,默认储存在ME内存中。

02——class 2,储存在SIM卡中。

03——class 3,可直接传输到终端设备TE。

默认的短消息存在SIM卡中,无类别的短消息通常也存在SIM卡中。

GSM Modem一般都支持一条“AT+CNMI”指令,用于设定当有某类短消息到达时,如何处理它——只储存在制定的内存(易失的/非易失的)中;先储存后通知TE;直接转发到TE,等等。

“AT+CNMI”指令语法为:

AT+CNMI=<mode>,<mt>,<bm>,<ds>,<bfr>

①<mode>控制通知TE的方式。

0——先将通知缓存起来,再按照<mt>的值进行发送。

1——在数据线空闲的情况下,通知TE,否则,不通知TE。

2——数据线空闲时,直接通知TE;否则先将通知缓存起来,待数据线空闲时再行发送。

3——直接通知TE。在数据线被占用的情况下,通知TE的消息将混合在数据中一起传输。

②<mt>设置短消息存储和通知TE的内容。

0——接受的短消息存储到默认的内存位置(包括class 3),不通知TE。

1——接收的短消息储存到默认的内存位置,并且向TE发出通知(包括class 3)。通知的形式为:

+CMTI:”SM”,<index>

2——对于class 2短消息,储存到SIM卡,并且向TE发出通知;对于其他class,直接将短消息转发到TE:

+CMT:[<alpha>],<length><CR><LF><pdu>(PDU模式)或者+CMT:<oa>,[<alpha>,]<scts>[,<tooa>,<fo>,<pid >,<dcs>,<sca>,<tosca>,<length>]<CR><LF><data>(text 模式)

3——对于class 3短消息,直接转发到TE,同<mt>=2;对于其他class,同<mt>=1。

③bm、ds、bfr的含义,请参考相关标准文档。一般不需要去关心它们,设置为0即可。

一般地,GSM模块在处理短消息时,采用一问一答的信息交互方式,这

比较符合AT指令集的精神。但在实际应用中,发现这种方法存在一定的缺点:模块接收到短消息并存储起来,用户再用查询方式,发送指令“AT+CMGL”或“AT+CMGR”,使短消息传送到TE,这中间会有一定的延时。另外,由于SIM卡容量有限,要保证短消息及时准备地接收,还要经常删除SIM卡中的短消息,这样多次的读写操作,势必会影响SIM卡的寿命。因此,为了提高系统的响应速度和处理效率,通常设置为短消息不经过SIM卡,直接发送至TE。

设置方法如下:

AT+CNMI=2(或1),2,0,0,0

但是这样还有一个问题,class 2的短信,还是会存入SIM卡中,并发送+CMTI:”SM”,<index>。那么,接收程序需要处理短信通知和内容两种情况,增加了复杂性。如果发送方也由程序控制,可以只发no class和class 1的短信。这里选用no class的配置。PDU模式下,令TP-DCS的bit7-bit4为00x0,即可设置发送的短信为no class。通常用手机发送的短信,也是无类别的。

(4)AT+CMGS(发送短消息)

该指令的完整语法如下:

如果此时TC35T处于PDU模式(即“AT+CMGF=0”时)

AT+CMGS=本短消息发送字符总长度

如果短消息发送成功,则返回“OK”,并显示信息号:

+CMGS: [,]

如果短消息发送失败,则返回如下信息号:

+CMS ERROR:

如果此时TC35T处于Text Mode(即“AT+CMGF=1”时)

AT+CMGS=目的手机号码

如果短消息发送成功,则返回“OK”,并显示信息号:

+CMGS: [,]

如果短消息发送失败,则返回如下信息号:

+CMS ERROR:

(5)AT+ CSMP(设置短消息文本模式参数,此指令只用于文本模式)

命令:AT+CSMP=[[,[,[,]]]]

可能响应:

+CME ERROR:

OK

ERROR

读命令:AT+CSMP?

可能响应:

+CSMP: ,,,

+CME ERROR:

测试命令:AT+CSMP=?

可能响应:

+CSMP: (List of supported s), (list of supported s), (list of supported s), (list of supported s)

+CME ERROR:

OK

ERROR

文本格式消息模式被选择时,当SM发送到网络或放置到存储器时用于选择额外的参数值。从当SM被SMSC接收后,它可能设置正确性开始周期( 范围在0… 255)。

0~255 依靠该命令或返回编码:GSM 03.40 SMS-DELIVER, SMS-SUBMIT(默认值17),SMS-STATUS-REPORT, or SMS-COMMAND(默认值2)的第一个八位字节为整数格式。

0-143 (TP-VP+1) x 5 minutes(也就是5分钟间隔,最多到12小时)

144-167 12小时+ ((TP_VP-143) x 30 minutes)

168-196 (TP-VP-166) x 1 day

197-255 (TP-VP-192) x 1 week

0-255 协议标识,整数格式。默认为0,参照07.05 章节9.2.3.9。

0-255 数据译码方案。看GSM 03.38. UCS2和压缩文本不支持。

§2.3单片机与TC35i通信系统的设计

§2.3.1 单片机最小系统电路设计

图3-2 单片机最小系统说明:晶振频率采用11.0592M,用于计算常用波特率

§2.3.2 单片机串口电路设计

图3-2 串口通信电平转换电路

说明:串口电平与单片机电平不兼容,采用MAX232专用芯片进行串口电平转换。[3,4]

相关文档
最新文档