当前位置:文档之家› 短消息收发协议栈

短消息收发协议栈

一步一步写一个短消息收发协议栈(1)

――基于TC35i和ATMega32的短消息协议栈FreeSmsStack

V1.0

bpesun@https://www.doczj.com/doc/5614293943.html,

1.目的

本项目的目的是完成一个建立在TC35i模块上的短消息协议栈。我给这个协议栈起的名字是FreeSmsStack。从名字上可以看出,这个协议栈是一个免费的开源协议栈。

短消息业务(SMS)作为GSM的一种增值服务,随着GSM网络覆盖范围的不断扩大,得到了迅速发展,它具有传输速度快,费用低,不占用语音通信通道等优点,因而在远程智能控制系统中得到了广泛的应用,如:基于GSM和GPS的车辆跟踪监视系统,基于GSM 的远程LED信息发布系统等。

2.FreeSmsStack协议栈的功能

目前,这个协议栈能完成如下的功能:

9中、英文短信发送

9中、英文短信接收

9短信删除

9振铃后挂断来电并且反馈短信到来电号码

9普通AT命令发送

注意:目前,中文短信编码不能通过单片机实现,只能通过查表的方式将某些短信编码存储在单片机中。

3.FreeSmsStack协议栈对硬件的需求

下面列出的是本协议栈在所有功能使能的情况下对单片机的需求,可以看出普通的中档次的单片机都能满足要求。

9具有一个串口,具备发送寄存器空中断和接收到中断

9具有一个定时器

9RAM最好有1.5K以上(实现全部功能)

3.1. 项目硬件

项目的硬件结构如下图所示。主要由GSM模块TC35i、单片机ATmega32、电源等模块组成。单片机和TC35i模块之间通过TTL串口进行通信。

下面简单介绍一下项目中所用到的硬件。

3.2. TC35i

短消息模块采用西门子的TC35i。该模块的特性如下。

特性说明

信息传送内容语音和数据

电源单电源 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

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命令集。

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

TC35i使用外接式SIM卡, 24~29为SIM卡引脚,SIM卡同TC35i是这样连接的:SIM 上的CCRST、CCIO、CCCL、CCVCC和CCGND通过SIM卡阅读器与TC35i的同名端直接相连,ZIF连接座的CCIN引脚用来检测SIM卡是否插好,如果连接正确,则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,因此必要时加端口保护。

3.3. 电源

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

我们这里只列出几种经过验证的开关电源方案,具体的实施原理可以参考数据手册或者网上的资料。第一,使用可调DC-DC电源芯片LM2941S。第二,使用DC-DC控制器,如R1224N102E。

3.4. 具体连接示例

下图是我在项目中使用的TC35i连接图。主要的连接包括:电源连接、SIM卡连接、SYNC信号灯、串口连接(TXD和RXD分别接单片机的TXD和RXD),以及一些辅助的电阻连接。IGT是点火控制信号,MVDD可以用来监测模块是否启动。图中未注明的管脚

可以悬空。

3.5. 调试串口

为了方便调试,可以增加一个调试串口。如果选择的单片机是具有双串口的单片机,那么可以将第二个串口作为调试串口,通过MAX3232等电平转换芯片变成RS232电平,连接PC串口。如果你选择的单片机只有一个串口,也没有问题,只需要将串口复用(单片机的串口既连接TC35i又连接电平转换芯片),同样通过一个电平转换芯片进行转换并连接到PC。编程的过程中,我们可以将一些调试信息通过这个串口输出到我们的串口助手上,方便我们调试。

串口调试软件网上有好多,但是我推荐使用SSCOM32。大家可以在网上搜索并下载。

4.熟悉AT命令

4.1. 先看AT命令的语法

准备好硬件,就可以进行我们的协议栈的编写了。在编写之前,我们先了解一下微控制器跟TC35i进行通信所使用的AT命令。如果你以前没有接触过AT命令的化,这一部分内容需要仔细看一下,记得很久以前,那时候手机还不是很多,我们的一个项目想使用手机短信来控制家电,让我做项目预研。那个时候刚刚接触微控制器不久,并且还没有养成好的学习习惯,所以在网上匆匆查了些资料就开始“动手做东西”。那时候我的硬件是一个NOKIA 的手机,要通过手机数据线连接PC。按照资料,先做一个无源的TTL到RS232转换器,然后连接PC。最后,通过串口助手测试AT命令。看资料上写着发送“AT”应该回复“OK”,于是敲“AT”进去,可怎么也不见“OK”回来。于是又怀疑是硬件问题,又去重新做硬件连线,然后再试验,仍然没有数据反馈回来。然后拿其他命令来试验,仍然不行。折腾几天,仍然没有结果,领导只好取消这个项目。当几年后再学习AT命令的时候,突然发现了我当时的问题所在:还没有弄清楚AT命令是怎么样的结构就去盲目地试验——我们发送AT命令的时候,需要用“\r”做为结束符号,而我当年发的所有的AT命令都没有加“\r”这个符号,又怎么可能有“OK”回来哪?惭愧啊,一个很好的项目也由于我的低级错误而被扼杀了。

AT命令语法

还是先看几个例子吧。

AT\r

\r\nOK\r\n

我们发送AT握手信号,以“\r”为结束符号。

TC35i模块反馈一个“OK”,“OK”的前后都是“\r\n”字符。

下面是在网上找的几个例子,省略了发送时候的“\r”,每个开始新行的地方起始都省略了“\r\n”。你可以看着官方的AT命令手册来看具体的含义,或者你暂时不去弄懂也可以,而是在编程的时候再去参考一下AT指令手册。

例如下面的命令:

AT+CNMI=? (查看能支持的设置范围)

+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)\r\n

OK

将上面的命令补齐后,看起来应该如下所示:

AT+CNMI=?\r (查看能支持的设置范围)

\r\n+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)\r\n

\r\nOK\r\n

AT+CNMI? (查看当前设置)

+CNMI: 0,0,0,0,0

OK

AT+CNMI=2,1 (设置为mode=2, mt=1)

OK

AT+CNMI? (再查看当前设置)

+CNMI: 2,1,0,0,0

OK

(过了一段时间,有一条消息到达)

+CMTI “ME”,8 (通知:消息已经存储在ME内存中,序号为8)

AT+CMGR=8 (读第8条消息)

+CMGR: 8,27

0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01 OK

你如果有短消息模块的话,用户可以通过串口助手来试验这些AT命令。仔细分析命令和应答之间的特殊字符(\r\n)。如果没有的话,就记住下面的AT命令语法。

9所有的AT命令都以“AT”开头

9根据命令形式可以将AT命令分为:

测试命令,形式为“AT+C***=?”,执行该命令将返回该命令所支持的参数及参数范围;

读命令,形式为“AT+C***?”,执行该命令将返回该命令当前的参数值;

写命令,形式为“AT+C***=<….>”,执行该命令将设置该命令的参数值;

无参数执行命令,形式为“AT+C***”,这个是执行命令。

9发送的命令以AT开头,以“\r”结尾。如握手信号“AT\r”,关闭回显命令“ATE0\r”

9TC35i反馈的命令以“\r\n”开头,也以“\r\n”结尾,但是,反馈的命令串中间也可能夹杂着\r\n。

在本文中:

\r 代表ASCII字符中的回车字符,值为0x0D;

\n 代表ASCII字符中的换行字符,值为0x0A;

SP代表ASCII字符中的空格字符,值为0x20;

Ctrl+Z 代表ASCII字符中的文件结束字符,值为0x1A;

下面我们再认真弄懂下面几个AT命令,这些命令是我们协议栈必须实现的功能函数。

4.2. 发送短信命令

下面给出一个采用PDU方式发送中文短信B01234568。

第一步,首先需要向TC35i发送下面的AT命令:

AT+CMGS=33\r

第二步,如果TC35i运行正确,它会反馈如下字符:\r\n>SP

第三步,收到>后,需要向TC35i输入短信编码信息:

0011000D91683125312011F100080012004200300031003200330034003500360038Ctrl+Z 第四步,如果TC35i接收成功,会反馈如下字符:

\r\n+CMGS: 89\r\n

\r\nOK\r\n

总结一下

发送命令:AT+CMGS=

应答命令:接收到该命令后等待"\r\n>SP"提示符,收到该提示符后输入短信,以Ctrl+Z 结束,Esc放弃本次发送。

4.3. 接收短信命令

下面的内容摘自网上,我觉得我自己的表述肯定不如下面的这个描述清楚。具体的出处为:

通过串口实时接收短消息选择自 bhw98 的 Blog

关键字短消息,短信,串口,手机,AT

出处 https://www.doczj.com/doc/5614293943.html,/article/24/24861.shtm

本协议使用的接收是一种通过串口“实时”接收短消息的方法。当ME收到一条消息时,主动发出通知给TE,或者直接将消息转发到TE。与查询机制相比,它类似于中断机制。

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

00 – class 0:只显示,不储存

01 – class 1:储存在ME内存中

02 – class 2:储存在SIM卡中

03 – class 3:直接传输到TE

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

“AT+CNMI”指令语法为

AT+CNMI=[[,[,[,[,]]]]]

mode - 通知方式:

0 – 不通知TE。

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

2 – 通知TE。在数据线被占用的情况下,先缓冲起来,待数据线空闲,再行通知。

3 – 通知TE。在数据线被占用的情况下,通知混合在数据中一起传输。

mt - 消息储存或直接转发到TE:

0 – 储存到默认的内存位置(包括class 3)

1 – 储存到默认的内存位置,并且向TE发出通知(包括class 3)

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

3 – 对于class 3,直接将消息转发到 TE;对于其它class,同mt=1

bm, ds, bfr的含义,请参考相关标准文档。一般不需要去关心它们。

在程序中具体实现时,使用mode=2, mt=1,比较简单。对所有类型的短消息,只要在收到ME送来的“+CMTI”通知后,用“AT+CMGR”指令读取消息内容就行了。TE与ME之间的通信过程,举例如下:

(初始化)

AT+CNMI=? (查看能支持的设置范围)

+CNMI: (0-2),(0-3),(0,2,3),(0,1),(0,1)

OK

AT+CNMI? (查看当前设置)

+CNMI: 0,0,0,0,0

OK

AT+CNMI=2,1 (设置为mode=2, mt=1)

OK

AT+CNMI? (再查看当前设置)

+CNMI: 2,1,0,0,0

OK

(过了一段时间,有一条消息到达)

\r\n+CMTI “ME”,8\r\n (通知:消息已经存储在ME内存中,序号为8)

我们接收到上面的提示信息后,进行解析,我们需要读第8条短消息,发出的具体的AT命令如下啊:

AT+CMGR=8\r (读第8条消息)

TC35i将进行反馈,输出第8条短消息的具体内容如下:

\r\n+CMGR: 8,27\r\n

0891683108200505F0240D91683158812764F80000402052110373800741E19058341E01\r\n \r\nOK\r\n

4.4. 删除短信命令

以删除第1条短信为例子。

第一步,发送删除命令:AT+CMGD=1\r

第二步,如果删除成功,TC35i反馈的指令为:\r\nOK\r\n

5.FreeSmsStack协议栈移植

看到这儿好多人估计已经没有耐心了。那么,我们现在把源代码放出来,如果你的硬件已经准备好了,并且有一个可以使用的SIM卡,就可以先将FreeSmsStack移植到你的目标板上,看看短信的收发功能是否正常了。一旦成功了,成就感就能出来一点,让你更有兴趣来深入了解FreeSmsStack协议栈具体的实现过程。

5.1. 硬件控制管脚相关移植

如果你正好使用ATmega32微控制器,那么软件的移植就只是改变一条语句定义,即把点火信号的管脚重新定义一下,来适合你的硬件。

具体的修改在文件SmsPortSerialMega32.c文件中。里面有针对IGT管脚的定义。

5.2. 硬件相关的移植文件

如果你换了微控制器,除了完成上面的硬件控制管脚的移植外,你还要完成串口移植和时钟移植,这2个移植分别对应着2个不同的c语音源文件:SmsPortSerialMega32.c、SmsPortTimer.c。

5.2.1.串口移植文件

串口部分的函数是最底层的串口硬件驱动层。实现的功能包括:串口初始化、串口的使能、发送一个字符、接收一个字符、发送中断函数和接收中断函数。发送和接收的过程都是通过中断方式进行的。

1)串口初始化函数xSmsPortSerialInit,完成波涛率、数据格式的定义。数据帧层在初始化的时候会调用本函数,完成真正的串口的初始化。具体功能见下面的注释。

/****************************************************************

* 名称:xSmsPortSerialInit

* 功能描述:串口初始化

* 输入参量:UCHAR ucPORT //串口号

ULONG ulBaudRate //波特率

UCHAR ucDataBits //数据位

eSmsParity eParity //奇偶校验位

* 输出参量:无

* 返回:是否初始化成功

* 调用子程:

* 使用方法: 数据帧层在初始化的时候会调用本函数实现硬件的初始化

----------------------------------------------------------------*/

BOOL

xSmsPortSerialInit( UCHAR ucPORT, ULONG ulBaudRate, UCHAR ucDataBits, eSmsParity

eParity )

{

UCHAR ucUCSRC = 0;

/* prevent compiler warning. */

(void)ucPORT;

UBRR = UART_BAUD_CALC( ulBaudRate, F_CPU );

switch ( eParity ) //奇偶校验设置

{

case SMS_PAR_EVEN:

ucUCSRC |= _BV( UPM1 );

break;

case SMS_PAR_ODD:

ucUCSRC |= _BV( UPM1 ) | _BV( UPM0 );

break;

case SMS_PAR_NONE:

break;

}

switch ( ucDataBits ) //数据位设置

{

case 8:

ucUCSRC |= _BV( UCSZ0 ) | _BV( UCSZ1 );

break;

case 7:

ucUCSRC |= _BV( UCSZ1 );

break;

}

#if defined (__AVR_ATmega168__)

UCSRC |= ucUCSRC;

#elif defined (__AVR_ATmega169__)

UCSRC |= ucUCSRC;

#elif defined (__AVR_ATmega8__)

UCSRC = _BV( URSEL ) | ucUCSRC;

#elif defined (__AVR_ATmega16__)

UCSRC = _BV( URSEL ) | ucUCSRC;

#elif defined (__AVR_ATmega32__)

UCSRC = _BV( URSEL ) | ucUCSRC;

#elif defined (__AVR_ATmega128__)

UCSRC |= ucUCSRC;

#endif

vSmsPortSerialEnable( FALSE, FALSE ); //禁止串口

return TRUE;

}

2)接收一个字符函数xSmsPortSerialGetByte,接收串口寄存器的一个字节数据。串口接收中断函数中会调用这个函数来接收一个字符。具体功能见下面的注释。

/****************************************************************

* 名称:xSmsPortSerialGetByte

* 功能描述:接收一个字节数据

* 输入参量:无

* 输出参量:CHAR * pucByte 接收到的数据存放地址

* 返回:TRUE

* 调用子程:无

* 使用方法:串口接收中断函数中会调用这个函数来接收一个字符

----------------------------------------------------------------*/

BOOL

xSmsPortSerialGetByte( CHAR * pucByte )

{

*pucByte = UDR;

return TRUE;

}

3)发送一个字符函数xSmsPortSerialPutByte,发送一个字节数据到串口寄存器中。串口接收中断函数中会调用这个函数来发送一个字符。具体功能见下面的注释。

/****************************************************************

* 名称:xSmsPortSerialPutByte

* 功能描述:发送一个字节的数据

* 输入参量:CHAR ucByte 需要发送的一个字节数据

* 输出参量:无

* 返回:TRUE

* 调用子程:

* 使用方法:

----------------------------------------------------------------*/

BOOL

xSmsPortSerialPutByte( CHAR ucByte )

{

UDR = ucByte;

return TRUE;

}

4)发送寄存器空中断服务函数SIGNAL( SIG_USART_DATA ),发送寄存器空中断发生后,系统会自动调用本中断服务函数。本服务函数会调用数据帧层的数据帧发送函数,完成一个数据帧的发送。具体功能见下面的注释。

/****************************************************************

* 名称:SIGNAL( SIG_USART_DATA )

* 功能描述:发送中断服务函数,当数据帧处理函数判断接收完一个数据帧后,

发送数据帧发送完成事件标志。

* 输入参量:无

* 输出参量:无

* 返回:无

* 调用子程:调用发送数据帧回调函数xSmsFrameTransmitFSM( ),函数在SmsStack.h

中声明,在SmsFrame.c中实现定义

* 使用方法:

----------------------------------------------------------------*/

SIGNAL( SIG_USART_DATA )

{

xSmsFrameTransmitFSM( ); //回调函数

}

5)串口接收缓冲寄存器接收到数据中断服务函数SIGNAL( SIG_USART_RECV ),接收寄存器接收到字符中断发生后,系统会自动调用本中断服务函数。本服务函数会调用数据帧层的数据帧接收函数,完成一个数据帧的接收。具体功能见下面的注释。

/****************************************************************

* 名称:SIGNAL( SIG_USART_RECV )

* 功能描述:接收中断服务函数

* 输入参量:无

* 输出参量:无

* 返回:无

* 调用子程:调用接收数据帧回调函数xSmsFrameReceiveFSM( ),该函数在在SmsStack.h 中声明,在SmsFrame.c中实现定义

* 使用方法:

----------------------------------------------------------------*/

SIGNAL( SIG_USART_RECV )

{

xSmsFrameReceiveFSM( ); //回调函数}

5.2.2.时钟移植文件

时钟部分的函数是最底层的时钟硬件驱动层。实现的功能包括:时钟初始化、时钟的使能、时钟的禁止和定时器中断处理。

1)时钟初始化函数xSmsPortTimersInit,完成输出比较寄存器计算,配置时钟寄存器。数据帧层在初始化的时候会调用本函数,完成真正的时钟的初始化。具体功能见下面的注释。

/****************************************************************

* 名称:xSmsPortTimersInit

* 功能描述:时钟初始化

* 输入参量:USHORT usTim1Timerout50us 多少个50us

* 输出参量:无

* 返回:TRUE

* 调用子程:无

* 使用方法:超时用,当接收数据帧的时候,在大于这个定时值的时候还没有接收到下一个字符,认为数据帧接收完成。

----------------------------------------------------------------*/

BOOL

xSmsPortTimersInit( USHORT usTim1Timerout50us )

{

//计算输出比较寄存器的数值

/* Calculate overflow counter an OCR values for Timer1. */

usTimerOCRADelta =

( Sms_TIMER_TICKS * usTim1Timerout50us ) / ( Sms_50US_TICKS );

TCCR1A = 0x00;

TCCR1B = 0x00;

TCCR1C = 0x00;

vSmsPortTimersDisable( );

return TRUE;

}

2)时钟使能函数xSmsPortTimersInit,完成时钟使能。具体功能见下面的注释。

/****************************************************************

* 名称:vSmsPortTimersEnable

* 功能描述:时钟使能,使能中断,设置输出比较寄存器,并且开启时钟。

* 输入参量:无

* 输出参量:无

* 返回:无

* 调用子程:无

* 使用方法:

----------------------------------------------------------------*/

inline void

vSmsPortTimersEnable( )

{

TCNT1 = 0x0000;

if( usTimerOCRADelta > 0 )

{

TIMSK1 |= _BV( OCIE1A ); //使能中断

OCR1A = usTimerOCRADelta; //设置输出比较寄存器}

TCCR1B |= _BV( CS12 ) | _BV( CS10 ); //启动时钟

}

3)时钟禁止函数vSmsPortTimersDisable,完成时钟使能。具体功能见下面的注释。

/****************************************************************

* 名称:vSmsPortTimersDisable

* 功能描述:时钟禁止,禁止中断,停止时钟运行,清除中断标志

* 输入参量:

* 输出参量:无

* 返回:无

* 调用子程:无

* 使用方法:

----------------------------------------------------------------*/

inline void

vSmsPortTimersDisable( )

{

/* Disable the timer. */

TCCR1B &= ~( _BV( CS12 ) | _BV( CS10 ) );

/* Disable the output compare interrupts for channel A/B. */

TIMSK1 &= ~( _BV( OCIE1A ) );

/* Clear output compare flags for channel A/B. */

TIFR1 |= _BV( OCF1A ) ;

}

4)时钟中断处理函数SIGNAL( SIG_OUTPUT_COMPARE1A ),时钟中断发生的时候,系统会自动调用本服务函数。调用的回调函数在数据帧层实现,发生中断后,根据数据帧层状态机所处的状态来判断是否接收到数据、是否是等待AT命令超时,然后系统会将这个时间标志发送给协议栈。具体功能见下面的注释。

/****************************************************************

* 名称:SIGNAL( SIG_OUTPUT_COMPARE1A )

* 功能描述:时钟中断服务程序。发生中断后,根据数据帧层状态机所处的状态来判断是否

接收到数据、是否是等待AT命令超时,然后系统会将这个时间标志发送给协议栈。

* 输入参量:无

* 输出参量:无

* 返回:无

* 调用子程:调用数据帧层的回调函数xSmsFrameTimerT1SExpired( )

* 使用方法:定时器中断发生后,系统会自动调用本函数。

----------------------------------------------------------------*/

SIGNAL( SIG_OUTPUT_COMPARE1A )

{

( void )xSmsFrameTimerT1SExpired( ); //回调函数}

5.3. 试验效果

如果移植完成,你再看看用户文件DemoMega32.c。将发送短信的目标号码修改为你自己的号码,具体地,将下面语句中的第一个参数修改为你的手机号码:

eSmsSend( "8613124773290", "Hello!", 6, GSM_7BIT);

编译后,你将目标代码烧写到微控制器后,你将看到如下的试验效果:

1)你会收到你的模块所发送的短信,内容为“Hello!”;

2)你发送短消息到你模块所使用的号码,你的模块可以通过串口将收到的短消息的号码、时间、编码格式以及解码后的数据打印出来。

3)你拨打你模块所使用的号码,模块会自动挂断,并且将给你的手机发送一个“Hello!”短信。

6.协议栈实现过程

如果你有兴趣,可以看看这个FreeSmsStack是怎么一步一步编写出来的。这个协议栈其实是参考了多个人的劳动成果,并不是从底层一点一点敲出来的,而是一开始就有一个整体的框架了。(我将在后续文档中完成这部分内容的编写,下面是这部分内容的提纲。)这个框架在逻辑上从底层到高层分为:

9硬件层(微控制器串口发送和接收)

9数值帧层(符合AT命令的数据帧的发送和接收)

9功能函数层(完成短消息的读、写和删除)

9协议层(短消息协议栈的开始、停止、删除等)

9用户应用层(用户根据项目的实际功能要求,增加自己的应用或处理函数)

但是,为了好理解,我们按照下面的顺序来将框架分解,来慢慢解释。

9采用中断方式的串口数据发送和接收

9发送AT命令数据帧

9接收AT命令数据帧

9发送短消息功能函数

9接收短消息功能函数

9删除短消息功能函数

9实时短消息接收的实现

9协议栈完善

9用户功能函数添加

参考资料

https://www.doczj.com/doc/5614293943.html,/program/vc/network/index_3.html

《V10短信平台使用说明书》

《V10短信平台使用说明书》 公司介绍 “桦信软件公司”是一批心怀高远理想,胸燃火热激情的专业人士组成的集“市场营销,售后客服,技术开发”于一体的“专业化,市场化”的优秀团队。自创始之日起,“桦信软件公司”专注软件开发,开拓市场需求,服务新老客户,迄今已有五年之久。 五年来,我们专业为短信运营公司提供优质短信平台,同时根据不同客户的各种需求,提供了个性化的“功能订制”产品。 为满足不同的短信业务需求,我们不断升级和增加功能不断完善短信平台。现在的我们,已经成长发展为业内一流的专业团队。 为解决客户遇到的一切问题,实现客户要求的任何功能,我们通过修改源代码,从根本上有效解决技术难题,给使用平台系统的客户提供了有保障的技术服务支持。现在的我们,已经成为客户公认的优秀客服团队。 V10短信平台功能体系分类说明 “桦信软件”开发的《V10短信平台》的十大卖点! 1. 本系统可接任何形式通道接口 如:Http、api、webservice、移动数据库接口等。 2.并且可接设备设置设备集群,多种接口设备可同时使用互不干扰 3. 后台可根据不同的用户设置扣量比例和扣量规则 4. 后台支持电脑审核和手机审核提醒 当不在电脑前时可使用手机提醒审核功能。同时短信后台也会有相应提示音提醒,自动提醒自动刷新审核池列表。5.后台支持审核时临时给客户修改通道、临时修改内容和临时 修改扣除条数 6.支持自动收录白名单,扣量时系统会自动过滤白名单,并将 白名单发送出去 7. 后台支持发送明细虚假记录上穿,也支持自动上传 用户提交后,系统就会自动生成虚假记录到客户端,客户可通过客户端查询相关记录。 8. 号码资源上传功能 通过后台可上传不同地区,年龄,消费状况等相关属性的数据;也可上传号码资源信息。系统会根据用户的设定来生成相关信息(这些只是大致介绍。如有需要,可联系我们获得相关全面信息和测试)。 9. 敏感词语设置 通过后台设置敏感词语后,客户端在提交短信时如果发送内容中有敏感词语客户端会提醒用户并告知用户哪个词或字是敏感词 10.整个平台也可作虚拟发送平台 “桦信软件”开发的《V10短信平台系统》的体系分类说明一、V10短信平台后台软件的功能模块清单 1. 用户管理(1). 添加用户(2). 用户浏览和管理 (3). 用户充值记录查询 (4). 用户资源虚增比例设置 2. 短信管理 (1). 短信审核池 (2). 提交记录查询

短信息发送合作协议(协议示范文本)

STANDARD AGREEMENT SAMPLE (协议范本) 甲方:____________________ 乙方:____________________ 签订日期:____________________ 编号:YB-HT-028841 短信息发送合作协议(协议示

短信息发送合作协议(协议示范文 本) 短信息发送合作协议 甲方:成都市盛网科*有限公司 乙方: 经甲乙双方友好协商,就甲方向乙方提供短信息广告发送通信传输服务,达成本协议。 一:定义 短消息(单位:条):由文字组成的信息,通过GSM网络传送。每条短消息最大长度为140字符(英文/数字:140字;汉字:70字) 二:甲方义务 (1)甲方向乙方提供短信息广告发送通信传输服务。 (2)甲方将保证代为发送的短消息实际发送的数量与承诺的相符合。 (3)甲方保证短消息延迟在合理范围内。 (4)由于甲方原因导致信息发送至错误对象,则甲方承担其发送错误的短信资费。 (5)如发生网络故障,甲方应会同乙方进行相关调查。由于甲方网络原因

造成的故障,甲方应该及时予以解决,保证乙方短消息及时顺利发送。 (6)甲方在数据传输,控制方面对乙方有影响的变动时需提前通知乙方 (7)如甲方由于自身原因无法继续提供短消息发送平台给乙方使用,应及时通知乙方并将乙方预付的短消息发送费用中尚未使用的金额全部退还乙方。 (8)甲方必须保证其所从事的短消息发送业务的发送渠道和方式完全合法。否则乙方有权单方解除协议,甲方对此造成的后果承担全部责任。 三:乙方义务 (1)乙方支付的发送费用在发送前结算,0.08元/条,数量_____万条 (2)甲方提供的仅限于短信息系统硬件及技术支持和提供短信息通信传输服务,发送的短信息内容和发送的号码需要由乙方提供,按照有关的规定,乙方发送前请先获得手机终端用户许可,乙方所有下发短消息的端口号都必须为(地理区号+特定卡号),乙方不得利用该端口向非注册用户或非会员散布和传播反动、色情等违反国家法律的信息。如乙方违反本条款规定义务,甲方有权单方解除协议,对于以上几个方面造成的后果,甲方不负担任何责任。 四:业务流程 (1)乙方通过互联网的方式向甲方短信平台提交发送内容和号码. (2)发送完毕后,给予乙方客户端口发送报告。 五:付款方式 发送前乙方付给甲方发送费用人民币______元整。 六:共同义务 (1)为保证协议顺利实施,甲乙双方指定专人负责协调解决在业务运作过程中可能发生的问题。

短信系统使用手册

客户短信发送系统使用手册 一、短信平台使用须知: 1、请您把自己的平台登录密码修改的尽量复杂一些,以防被盗。 2、本平台为三网106通道,发送前请小批量自我测试,收到后再群发,为减少投诉,群发时间请尽量安排在8:30--17:30期间,17:30以后的信息后排到次日早上发送。 3、发送短信号码一般情况下是106开始的号码,国家有重要会议或短信严管期间,系统后台会自动转成卡发的方式。 二、浏览器兼容问题 如果是360 6版以上的浏览器,设置其模式为兼容模式。 IE7以上的浏览器: 第一步:找到浏览器中的【工具】,点击【工具】中的【兼容性视图设置】。

第二步:在弹出的兼容性视图设置对话框中勾选上【在兼容性视图中显示所有网站】。勾选好后点击【关闭】即可。如下图所示。

三、进入系统后首先修改原始密码。以防别人用你的账户和密码乱发短信。 点击【信息维护】下的【密码维护】到修改密码页修改初始密码。

二、添加联系人 添加联系人有两种形式,手动添加单个联系人和批量导入。 第一种:手动单个添加联系人时,直接点击【联系人管理】中的【添加联系人】到添加联系人信息页,填写上联系人的相关信息后,点击【添 加信息】按钮即可添加单个联系人信息。

在添加联系人信息时,第一个要填写的信息【选择分组】是在【分组管理】中添加的。点击【分组管理】到分组管理页,然后点击【添加分组】按钮,如下图:

然后到添加页中输入分组名称,点击【添加分组】按钮,即是添加了分组信息。如下图: 添加好的分组就可以在添加联系人页中【选择分组】下拉框中显示,如下图。它与手机通讯录中联系人的分组一样。 第二种:直接导入多个联系人信息时。 第一步:首先点击【联系人管理】下的【联系人导入】进入导入联系人页面中,如图所示即为导入联系人页面。

短信平台方案

西宁国税局短信应用平台 建设方案 上海若雅软件系统有限公司 2013年3月

目录 1项目概述 (5) 1.1 项目背景 (5) 1.2 需求分析 (5) 2 总体技术路线 (5) 2.1 J2EE技术架构 (5) 2.2 平台技术架构 (7) 3 系统架构 (8) 3.1功能结构 (8) 3.2物理结构 (9) 4 系统功能 (10) 4.1 用户和权限管理 (10) 4.2 角色管理 (10) 4.3 系统管理 (11) 4.4 短信审核功能 (12) 4.4.1 短信审核 (12) 4.4.2 审核查询 (12) 4.4.3 审核设置 (13) 4.5 与征管系统的交互功能 (13) 4.5.1 DB短信 (13) 4.5.2 界面发送 (13) 4.6 知识库应用 (13) 4.6.1 知识库同步 (13) 4.6.2 知识库应用 (14) 4.7 查询统计及优化 (14) 4.7.1 下行毒啊你选你查询 (14) 4.7.2 上行短信查询 (14)

4.7.3 查询优化 (14) 4.7.4 分析报表 (15) 4.8 接口管理 (15) 5 安全性 (15) 5.1 接入方式安全考虑 (15) 5.2 性能保障 (16) 6 项目管理及实施方案 (16) 6.1需求细化 (16) 6.2软件适应性开发和测试 (17) 6.3系统安装和整体调试 (17) 6.4系统试运行 (18) 6.5初验 (18) 6.6初验后试运行 (18) 6.7用户培训 (19) 6.9.1培训对象 (19) 6.9.2完成培训的保障措施 (20) 6.8终验 (20) 7 技术服务和售后维护 (20) 8.1服务体系 (21) 8.2技术支持服务内容 (21) 8.3售后服务流程 (21) 8.4售后服务方式 (22) 8.4.17*24小时业务服务 (22) 8.4.2现场技术支持 (22) 8.4.3远程登录诊断 (22) 8.4.4公司现场仿真专家会诊 (22) 8.4.5项目巡检 (22) 8.4.6总经理投诉热线 (23) 8.5售后服务保障措施 (23) 8.5.1完善的售后支持服务网络 (23)

手机短信的发送接收原理与代码

手机短信的发送接收原理与代码 中文转换成Unicode码函数 因为手机短消息的发送是以PDU串的形式发送出去的,中文字符以Unicode码来表示,所以在发送中文短消息之前必须首先将中文字符转换为Unicode码,下面的函数将实现这个功能。这个函数主要应用到VB自带的一个格式转换函数:ChrW()将中文转换为Unicode码。Public Function chg(rmsg As String) As String Dim tep As String Dim tem p As String Dim i As Integer Dim b As Integer tep = rm sg i = Len(tep) b = i / 4 If i = b * 4 Then b = b – 1 tep = Left(tep, b * 4) Else tep = Left(tep, b * 4) End If chg = "" For i = 1 To b tem p = "&H" & Mid(tep, (i - 1) * 4 + 1, 4) chg = chg & ChrW(CInt(Val(tem p))) Next I End Function 2短信中心手机号码的PDU串转换函数 同上,为了发送以PDU模式发送短消息,必须将手机号码和对方手机号码也转换为PDU格式,下面的函数就是为了实现这种转换: Public Function telc(num As String) As String Dim tl As Integer Dim ltem, rtem, ttem As String Dim ti As Integer ttem = "" tl = Len(num) If tl <> 11 And tl <> 13 Then MsgBox "wrong number." & tl Exit Function End If If tl = 11 Then tl = tl + 2 num = "86" & num End If For ti = 1 To tl Step 2 ltem = Mid(num, ti, 1)

短信平台需求设计说明书

短信平台需求及设计文档 V1.0 作者:李学昌 完成日期:2012/03/19 签收人: 签收日期: 修改情况记录:

目录 1 引言 ......................................................................................................................................... - 3 - 1.1 编写目的....................................................................................................................... - 3 - 1.2 背景............................................................................................................................... - 3 - 1.3 定义.................................................................................................. 错误!未定义书签。 2 任务概述.................................................................................................................................. - 3 - 2.1 目标............................................................................................................................... - 3 - 2.2短信平台的性能需求.................................................................................................... - 3 - 3 需求规定.................................................................................................................................. - 4 - 3.1应急预案管理................................................................................................................ - 4 - 3.1.1 功能需求特点.................................................................................................... - 4 - 附录...................................................................................................................................... - 5 -

(产品管理)魔幻短信产品说明书

最新卓越管理方案您可自由编辑

魔幻短信产品说明书 二零零九年三月

目录 目录 (3) 1、业务介绍 (4) 2产品功能描述 (4) 3开通方法 (5) 4操作方法 (5) 5积分奖励 (6) 7产品优势 (6) 9、业务受理 (6) 9.1、业务受理渠道 (6) 9.2、营业厅业务受理流程 (6) 9.3、10010热线受理流程 (7) 9.4、网上营业厅业务受理流程 (7) 9.5、10010短信营业厅 (8) 10、业务合作模式 (8) 10.1、业务定位: (8) 10.2、合作模式 (8) 10.3、合作分工界定 (9)

1、业务介绍 厌倦了一成不变发短信的方式?想让发给她(他)的短信与众不同?不用急,魔幻短信帮您解决这些问题,您只要通过自己手机中的短信功能,将自己编辑的短信发送到魔幻短信服务号码+接收方号码,接收方就可以看到五彩缤纷的并配以动听的背景音乐的“魔幻短信”。 “魔幻短信”业务是利用短信易用便捷和发送速度快的特点,并结合彩信的图文声音并茂的强大的表现力,综合了短信业务大众认可的优势和彩信丰富的数据表现方式而开发的一款增值业务产品。 2产品功能描述 ?魔幻短信发送的目的号码支持服务号码或者服务号码+手机号码 ?魔幻短信提供了大量的背景音乐和背景图片。用户可以通过发送短信 的方式设置。 ?背景图片的设置: 用户发送短信P到服务号码,用户会收到一张含有5张图片的背景图片列表,用户将其喜欢的图片编号回复到服务号码,即可设 置成功 ?背景音乐的设置: 用户发送短信M到服务号码,用户会收到一张含有5首铃声的的背景背景音乐列表,用户将其喜欢的音乐编号回复到服务号码, 即可将其设置成为背景铃声。 ?特色表情 特色表情是我们产品的最大特色之一,百余个经典表情供用户使用,有些是自动替换,而另一部分是输入形象的符号,即能使 用特色表情功能,我们为此向用户推出我们的“魔幻秘笈”,增加 与用户之间的互动性,如,“哭”将转换成表情,而用户输入 的“: (”也同样将转换成,多样化的表现形式,将收到更多用

短消息收发协议栈

一步一步写一个短消息收发协议栈(1) ――基于TC35i和ATMega32的短消息协议栈FreeSmsStack V1.0 bpesun@https://www.doczj.com/doc/5614293943.html, 1.目的 本项目的目的是完成一个建立在TC35i模块上的短消息协议栈。我给这个协议栈起的名字是FreeSmsStack。从名字上可以看出,这个协议栈是一个免费的开源协议栈。 短消息业务(SMS)作为GSM的一种增值服务,随着GSM网络覆盖范围的不断扩大,得到了迅速发展,它具有传输速度快,费用低,不占用语音通信通道等优点,因而在远程智能控制系统中得到了广泛的应用,如:基于GSM和GPS的车辆跟踪监视系统,基于GSM 的远程LED信息发布系统等。 2.FreeSmsStack协议栈的功能 目前,这个协议栈能完成如下的功能: 9中、英文短信发送 9中、英文短信接收 9短信删除 9振铃后挂断来电并且反馈短信到来电号码 9普通AT命令发送 注意:目前,中文短信编码不能通过单片机实现,只能通过查表的方式将某些短信编码存储在单片机中。 3.FreeSmsStack协议栈对硬件的需求 下面列出的是本协议栈在所有功能使能的情况下对单片机的需求,可以看出普通的中档次的单片机都能满足要求。 9具有一个串口,具备发送寄存器空中断和接收到中断 9具有一个定时器 9RAM最好有1.5K以上(实现全部功能) 3.1. 项目硬件 项目的硬件结构如下图所示。主要由GSM模块TC35i、单片机ATmega32、电源等模块组成。单片机和TC35i模块之间通过TTL串口进行通信。

下面简单介绍一下项目中所用到的硬件。 3.2. TC35i 短消息模块采用西门子的TC35i。该模块的特性如下。 特性说明 信息传送内容语音和数据 电源单电源 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

短信系统项目情况说明及投资建议

短信系统项目 情况说明及投资建议 情况说明及投资建议参考模板,仅供参考

摘要 该短信系统项目计划总投资8126.98万元,其中:固定资产投资5998.98万元,占项目总投资的73.82%;流动资金2128.00万元,占 项目总投资的26.18%。 达产年营业收入18847.00万元,总成本费用14681.79万元,税 金及附加168.38万元,利润总额4165.21万元,利税总额4908.10万元,税后净利润3123.91万元,达产年纳税总额1784.19万元;达产 年投资利润率51.25%,投资利税率60.39%,投资回报率38.44%,全部投资回收期4.10年,提供就业职位295个。 报告根据项目建设进度及项目承办单位能够提供的资本金等情况,提出建设项目资金筹措方案,编制建设投资估算筹措表和分年度资金 使用计划表。 本短信系统项目报告所描述的投资预算及财务收益预评估基于一 个动态的环境和对未来预测的不确定性,因此,可能会因时间或其他 因素的变化而导致与未来发生的事实不完全一致。

短信系统项目情况说明及投资建议目录 第一章短信系统项目绪论 第二章短信系统项目建设背景及必要性 第三章建设规模分析 第四章短信系统项目选址科学性分析 第五章总图布置 第六章工程设计总体方案 第七章项目风险评估分析 第八章职业安全与劳动卫生 第九章项目进度计划 第十章投资估算与经济效益分析

第一章短信系统项目绪论 一、项目名称及承办企业 (一)项目名称 短信系统项目 (二)项目承办单位 xxx有限公司 二、短信系统项目选址及用地规模控制指标 (一)短信系统项目建设选址 项目选址位于某经济示范区,地理位置优越,交通便利,规划电力、给排水、通讯等公用设施条件完备,建设条件良好。 (二)短信系统项目用地性质及规模 项目总用地面积24859.09平方米(折合约37.27亩),土地综合 利用率100.00%;项目建设遵循“合理和集约用地”的原则,按照短信系统行业生产规范和要求进行科学设计、合理布局,符合规划建设要求。 (三)用地控制指标及土建工程

短信息发送服务协议

短信息发送服务协议 编号: 甲方: _________ 乙方: _________ 经甲乙双方友好协商,就甲方向乙方提供短信息广告发送通信传输服务,达成本协议。 一、定义短消息(单位:万条):由文字组成的信息,通过中国移动 gsm 网络传送。每条短消息最大长度为____________ 字符(英文/数字: _________ 字;汉字:__________ 字) 二、甲方义务 (1)负责提供发送短信息所需要的一切短信息能够平台、系统,一切硬软件资源,网络环境及所需要人员。 (2)甲方将保证实际发送的数量与承诺的相符合。 由于甲方原因导致信息发送至错误对象,则甲方承担其发送错误的短信资费,并重新发送补足发送数量。 如发生移动网络故障导致发送迟延,甲方应提供电信运营商出具的有效证明。 甲方在数据传输,控制方面对乙方有影响的变动时需提前通知乙方。 如甲方由于自身原因无法继续提供短消息发送平台给乙方使用,应及时通知乙方并将乙方预付的短消息发送费用中尚未使用的金额全部退还乙方, 并承担相应的违约责任。 甲方必须保证其所从事的短消息发送业务合法性,并承担与此相关的一切风险及责任。 甲方有义务给乙方开一个监控短信发送的端口,可以实时的看到发送的

到达情况。 三、乙方义务 (1)乙方支付的发送费用在发送前结算,____________ 元/条。 (2)甲方提供的仅限于短信息系统硬件及技术支持和提供短信息通信传输服务,发送的短信息内容和发送的号码需要由乙方自行提交,按照有关的规定,乙方发送前请先获得手机终端用户许可,乙方所有下发短消息的端都必须为(地理区号+特定卡号),乙方不得利用该端口向用户或会员散布和传播反动,色情等违反国家法律的信息。如乙方违反本条款规定义务,甲方有权单方解除协议,对于以上几个方面造成的后果,甲方不负担任何责任。 四、业务流程 乙方在发送短信息前通过互联网的方式向甲方短信平台提交发送内容和号码。甲方成功发送完毕后,应立即向乙方客户端口提供发送统计报告,包括发送的数量,成功的接收统计。 五、付款方式 发送前乙方付给甲方发送费用人民币 ___________ 元整。 六、共同义务 (1)为保证协议顺利实施,甲乙双方指定专人负责协调解决在业务运作过程中可能发生的问题。 (2)甲、乙双方对业务开展中出现的各种问题,应及时相互通报、协商处理解决。 (3)甲、乙双方开展业务均应依法办理。 (4)对于业务开发和运行过程中对方提供的所有资料(包括技术、用户 信息等),双方均有保密义务。未经对方书面同意,任何一方不得向第三方泄露或用作合作项目开发以外之用途,否则须向对方承担相应的法律责任。 (5)本协议未尽事宜由甲乙双方友好协商解决或签定补充协议予以明

GSM短信接收发送模块使用说明书

GSM短信接收发送模块使用说明书 输入触发端(1,2)为低电平,若触碰VDD时为报警 ①输入触发:IN-ST为高电平(1),若触碰低电平(0)时为报警 ②IN-A~D平时为高电平(1)。

注:“0”是低电平(GND),“1”是高电平(4.3V)。以上状态要报短信,A、B、C、D 要常期连接,IN-ST碰触低电平(GND)报警发出短信,如发自编短信“8”。A、B、C接“0”(低电平、GND),D接“1”(高电平4.3V)。IN-ST触碰“0”,触发报警,灯亮发出自编短信“8”。 注:手机编辑短信四位密码P0~PF任意一条发到本模块上,收到后输出端A、B、C、D对应,输出高、低电平并OUT-ST输出高电平(5ms) 1.安装使用说明 ·开机前必须安装上GSM天线 ·系统分机安装前应先安装SIM卡,用户需自行购买有金额支持的GSM网SIM卡,不设开机密码和开机PIN码,用户应首选当地GSM网络信号优质者之SIM卡为宜。 ·将GSM网SIM卡插入系统分机的手机卡座内,按OPEN方向移动SIM卡座,插入SIM卡,反方向移动(LOCK方向)锁紧SIM卡。 注:使用SIM卡前,应保证该SIM卡在手机上能正常接收和发送短信息。 应在关掉电源时,才能插入SIM卡,通电开机延迟1分钟后,红色指示灯每四秒闪动一次,为GSM 网络在线指示才能正常设置使用。

·本机开机时,绿色指示灯常亮,红色指示灯连续闪动,延时后绿色指示灯熄灭。 ·本机正常工作时,红色指示灯每四秒闪动一次,为GSM网络在线指示,绿色指示灯亮起为报警时工作指示。 ·本系统分机的设置通过手机发短信到系统分机所带SIM卡号码进行。 ·本系统分机内短信模块的初始密码为:“谢谢使用”四个中文字,DL—110A—GSM系统分机只对收到正确密码的短信进行功能设置。 ·以下是用手机对DL—110A—GSM系统分机短信操作的方法: (一)编辑短信息的格式: 注:前五格区,密码、功能代码是固定的格式,编辑的短信息内容中不能有空格,所有功能代码均为大写的英文字母。 (二)功能设置操作: ①首先使用前应设置管理员号码,要求设置管理员号码的手机号码与本系统分机使用的SIM卡号为同网 号码,因为本系统分机接收到管理员信息时,自动注入与设置管理员手机号码相同的短信服务中心号码。 报警电话设置:预存代码A、B、C、D、E、F、G、H、I、J(可存10组手机号码) 用户管理员手机号码编辑短信发送到系统的SIM卡号码。 例如:四位密码为“谢谢使用”本系统分机手机号码为中国移动138××××6555,管理员手机号码也应为中国移动的138××××6222。 用138××××6222的手机编辑短信: 谢谢使用A138××××6222 发送到手机138××××6555等待片刻,即可收到本系统手机号码138××××6555发送到管 理员手机上的“设置成功”的短信回复。 注:管理员号码为本机的管理者,每次成功设置管理员号码都可收到“设置成功”的短信回复信息。 ②删除接警电话:代码X

短信接口平台是怎么实现的

https://www.doczj.com/doc/5614293943.html, 专业 稳定 快捷 优惠 现在,大数据时代的到来为我们的生活了便捷。我们在享受信息的方便时是否会问到,我们的信息是如何发送出去的?短信接口就起到了作用,短信接口平台是怎么实现的?为此,安徽德能信息科技有限公司为大家总结了相关信息,希望能够为大家带来帮助。 首先让我们了解一下什么是短信接口,标准化SDK 软件开发包(短信接口)适应Basic 、C 、Java 等多种主流开发语言,适应 Windows 、Linux 、Unix 等运行环境,彻底解决各个合作伙伴不同开发语言及开发环境的需求。 短信接口有两个方面的功能,一个是向SDK 二次开发的系统提供SDK 函数,这些函数包括及时发送短信函数、定时发送短信函数、接收短信函数、接收发送状态报告函数等,另一个是与短信群发平台通讯,收发短信息。 二次开发,简单的说就是在现有的软件上进行定制修改,功能的扩展,然后达到自己想要的功能, 一般来说都不会改变原有系统的内

https://www.doczj.com/doc/5614293943.html, 核。根据不同的客户的需要,一些中小公司为客户根据需求在该平台上进行第二次有针对性的开发。实现短信息的收发;与不同移动运营商系统的连接,由移动运营商将短信息发送到用户的手机。 专门为行业大中型企业定制,以数据库操作为基础,支持Oracle、SQL Server、DB2、Mysql、Sybase等目前主流数据库,方便快捷的与企业现有的CRM、OA、ERP等业务应用系统无缝对接,封装了CMPP2.0的短消息通讯协议,提高企业资料的安全性,降低开发周期和开发成本,轻松实现短消息网关的连接和企业的移动商务应用。 安徽德能信息科技有限公司是移动、联通、电信三大运营商的战略合作伙伴,致力于为客户提供企业信息手机媒体应用服务,是移动商务服务商公司。公司业务主要包括:手机移动营销发送、互动、二次接口开发!为平台提供内部信息的共享、交流、数据管理和挖掘等各类解决方案,包括:自动发送、订单提醒等! 专业稳定快捷优惠

用串口连接GSM手机发送和接收短消息

我们打算开发一个基于短消息方式地系统,如何利用进行数据通信? 首先,我们要对由制订地规范有所了解.与我们讨论地短消息收发有关地规范主要包括、和.前二者着重描述地技术实现(含编码方式),后者则规定了地接口标准(命令集).文档收集自网络,仅用于个人学习 一共有三种方式来发送和接收信息:, 和. 已是昔日黄花,目前很少用了. 是纯文本方式,可使用不同地字符集,从技术上说也可用于发送中文短消息,但国内手机基本上不支持,主要用于欧美地区. 被所有手机支持,可以使用任何字符集,这也是手机默认地编码方式. 比较简单,而且不适合做自定义数据传输,我们就不讨论了.下面介绍地内容,是在下发送和接收短消息地实现方法.文档收集自网络,仅用于个人学习 串表面上是一串码,由‘’‘’、‘’‘’这些数字和字母组成.它们是位字节地十六进制数,或者码十进制数.串不仅包含可显示地消息本身,还包含很多其它信息,如服务中心号码、目标号码、回复号码、编码方式和服务时间等.发送和接收地串,结构是不完全相同地.我们先用两个实际地例子说明串地结构和编排方式.文档收集自网络,仅用于个人学习 例发送:号码是,对方号码是,消息内容是“!”.从手机发出地串可以是文档收集自网络,仅用于个人学习 文档收集自网络,仅用于个人学习 对照规范,具体分析: 分段含义说明 地址信息地长度共个八位字节(包括) 地址格式() 用国际格式号码(在前面加‘’) 地址,补‘’凑成偶数个文档收集自网络,仅用于个人学习 基本参数() 发送,用相对格式 消息基准值() 目标地址数字个数共个十进制数(不包括和‘’) 目标地址格式() 用国际格式号码(在前面加‘’) 目标地址() ,补‘’凑成偶数个文档收集自网络,仅用于个人学习 协议标识() 是普通类型,点到点方式 用户信息编码方式() 编码 有效期() 分钟 用户信息长度() 实际长度个字节 用户信息() “!” 例接收:号码是,对方号码是,消息内容是“你好!”.手机接收到地串可以是文档收集自网络,仅用于个人学习 文档收集自网络,仅用于个人学习 对照规范,具体分析: 分段含义说明 地址信息地长度个八位字节(包括) 地址格式() 用国际格式号码(在前面加‘’) 地址,补‘’凑成偶数个文档收集自网络,仅用于个人学习 基本参数() 接收,无更多消息,有回复地址 回复地址数字个数共个十进制数(不包括和‘’) 回复地址格式() 用国际格式号码(在前面加‘’) 回复地址() ,补‘’凑成偶数个文档收集自网络,仅用于个人学习 协议标识() 是普通类型,点到点方式

产品项目非功能需求规格说明书

XX项目非功能需求规格说明书

文档创建信息 文档修订记录 修改类型分为A– ADDED(增加)M– MODIFIED(修改)D– DELETED(删除)

目录 1质量属性需求 (4) 1.1性能 (4) 1.1.1延迟 (4) 1.1.2吞吐量 (4) 1.1.3容量 (5) 1.2安全性 (5) 1.3可靠性 (6) 1.4可配置性 (6) 1.5互操作性(系统间集成) (7) 1.6可伸缩性 (7) 1.7可维护性 (7) 1.8可管理性 (8) 1.9可审计性 (8) 1.10可安装性 (8) 1.11可更改性 (9) 1.12可连续性 (9) 1.13可恢复性 (9) 1.14其它 (10) 2约束 (10) 2.1运行环境 (10) 2.1.1软件平台 (10) 2.1.2硬件平台 (10) 2.2设计约束 (11) 2.3业务规则 (11) 2.4法律约束 (12) 2.5其它约束 (12) 附录1:模版使用说明 (12) 附录2:模版修订记录 (12)

1质量属性需求 1.1性能 概念: 性能是指系统的响应能力——即对外部刺激(事件)做出反应所需要的时间或在某段时间内所处理的事件个数。性能这一质量属性经常用在单位时间内所能完成的处理数量或系统为完成一个处理所耗费的时间来表示。 描述系统的性能需求通常从以下几个方面进行:延迟、吞吐量、容量。 1.1.1延迟 概念: 延迟定义为从事件触发到对应响应之间的时间间隔。这个时间间隔定义了一个响应窗口(开始时间为最小延迟,结束时间为最大延迟)。 示例: 1.1.2吞吐量 概念: 吞吐量定义为在一个给定的观察时间段内,系统处理事件,然后产生的响应数量。通常需要指多个观察时间段,比如1分钟,30分钟,60分钟等。因为60分钟内处理120个事件并不意味着每分钟可以处理2个事件。 示例:

基于单片机 的短信收发系统设计简介

基于单片机的短信收发系统设计 摘要 本设计主要研究如何由单片机控制GSM模块实现短消息收发。系统设计包括硬件电路部份和软件部份。其硬件部分主要对通信模块TC35、单片机以及它们的外围电路、串行通信进行了描述和设计。借助系统模型,介绍了GSM网络和短消息在现阶段的应用情况,并对短消息的关键技术给予说明。软件设计主要包括上位机开发和单片机程序。本文给出了单片机控制GSM模块的软件流程图及程序,在本文最后给出了上位机开发过程的一般步骤和程序段。 关键词:单片机;TC35;GSM;SMS Abstract This design mainly studies the GSM module which is controlled by the MCU to realize sending and receiving short messages. It includes hardware and software’s designing. In this paper, the hardware part mainly introduces the TC35 communication module, microcomputer with its peripheral circuits and the serial communication in detail. It not only introduces the applying situation of the GSM network and short messages in the present stage with the help of system model, but makes an illustration on sh ort message’s key technique. The software section mainly discusses the design of the PC orders ,MCU programmes and the flow process diagram of GSM module. At last , the general steps of developing and program blocks are presented,too. Key Words: MCU; TC35;GSM;SMS 一、绪论 SMS(Short Message Service)短信息服务是GSM(Global System for Mobile Communication)系统中提供的一种GSM终端(手机)之间,通过服务中心(Service Center)进行文本信息收发的应用服务,其中服务中心完成信息的存储和转发功能。短信息服务作为GSM网络的一种基本业务,已得到越来越多的系统运营商和系统开发商的重视,基于这种业务的各种应用也蓬勃发展起来。以GSM网络作为数据无线传输网络,可以开发出多种前景极其乐观的各类应用,如无线数据的双向传送、无线远程检测和控制等。典型的应用有:变电站、电表、水塔、水库或环保监测点等监测数据的无线传输和无线自动警报;远程无线控制高压线路断路器、加热系统、防洪拦阻系统或其它机电系统的启动和关闭;车队交通管理和控制指挥系统;控制和监测香烟、食品和饮料自动售货机的运行状态和存货水平;远程加点控制等等。鉴于此,本文对基于单片机的短消息收发系统进行了设计研究。 二、系统方案设计 本系统由数据接收和发送部分、单片机控制部分、终端处理部分三个模块组成。数据收发模块采用德国西门子的TC35通讯模块。单片机负责将数据从内存中读出,并经GSM模块(TC35)借助GSM网络将数据发送出去,单片机控制数据的发送,也控制数据的接收。在这里单片机内存是数据临时存储和上传的中转站。终端处理模块(PC机)负责将接收到的数据进行处理,并将处理后的结果存放到数据库中,以供读取和查询。 系统中三个模块相互独立,彼此又相互依赖,共同完成数据的传输。单片机在系统中起着承上启下的作用,是系统的核心模块。单片机与GSM模块一般采用串行异步通信接口,通信速度可设定,通常为9600bps。单片机与上位机采用RS232电缆方式进行连接,当采用这种连接时数据传输的可靠性较好。在进行RS232接口方式连接时通过扩展的串行接口和电平转换电路与上位机连接。单片机与通讯模块的通信双方遵照半双工通信方式进行。即数据传

短信息发送合作协议示范文本

短信息发送合作协议示范 文本 In Order To Protect Their Legitimate Rights And Interests, The Cooperative Parties Reach A Consensus Through Consultation And Sign Into Documents, So As To Solve And Prevent Disputes And Achieve The Effect Of Common Interests 某某管理中心 XX年XX月

短信息发送合作协议示范文本 使用指引:此协议资料应用在协作多方为保障各自的合法权益,经过共同商量最终得出一致意见,特意签订成为文书材料,从而达到解决和预防纠纷实现共同利益的效果,文档经过下载可进行自定义修改,请根据实际需求进行调整与使用。 短信息发送合作协议 甲方:成都市盛网科*有限公司 乙方: 经甲乙双方友好协商,就甲方向乙方提供短信息广告 发送通信传输服务,达成本协议。 一:定义 短消息(单位:条):由文字组成的信息,通过GSM 网络传送。每条短消息最大长度为140字符(英文/数字: 140字;汉字:70字)

二:甲方义务 (1)甲方向乙方提供短信息广告发送通信传输服务。 (2)甲方将保证代为发送的短消息实际发送的数量与承诺的相符合。 (3)甲方保证短消息延迟在合理范围内。 (4)由于甲方原因导致信息发送至错误对象,则甲方承担其发送错误的短信资费。 (5)如发生网络故障,甲方应会同乙方进行相关调查。由于甲方网络原因造成的故障,甲方应该及时予以解决,保证乙方短消息及时顺利发送。 (6)甲方在数据传输,控制方面对乙方有影响的变动时需提前通知乙方 (7)如甲方由于自身原因无法继续提供短消息发送平台给乙方使用,应及时通知乙方并将乙方预付的短消息发

短信收发流程

短信收发流程 短信服务是通过使用SS#7协议中的MAP(Mobile Application Part),将短信息协议的数据元素作为MAP信息中的数据域在网络中传输来实现的。这些MAP信息通过使用传统的基于时分复用的信令、或者使用基于IP层的SIGTRAN信令传送协议和适配层来传输。 短信息协议的定义见3GPP TS 23.040的短信点对点协议和3GPP TS 23.041的小区广播服务协议。 下面是短信收发过程的四个MAP流程: 1.移动终端发起的短信息服务的传送; 2.移动终端接收的短信息服务的传送; 3.短信息警戒程序; 4.短信息等待数据集程序。 1.移动终端发起的短信息服务的传送流程 下图是一个简化了的成功递交起于移动终端的短信息的呼叫流程: 当用户发送一条短信息时,手机会通过空中接口将文本信息发送给VMSC(即拜访移动交换中心)/SGSN(即GPRS服务支持节点); 该文本信息不仅包含用户编辑的短信正文、还包含短信的目的地址和短信服务中心(SMSC)的地址,其中短信服务中心(SMSC)的地址是从存储在SIM卡中的手机配置信息中得到的。

略过空中接口技术不谈,VMSC(即拜访移动交换中心)/SGSN(即GPRS服务支持节点)会调用MAP服务包中的MAP_MO_FORWARD_SHORT_MESSAGE发送信息给服务中心SC的互通移动交换中心(IW MSC),服务中心的地址由手机提供。服务中心会发送 mo-ForwardSM MAP操作到短信服务中心(SMSC),该操作在手机的短信息递交中识别、嵌入在一个TCAP消息(Transaction Capabilities Application Part)中,使用SCCP(Signalling Connection Control Part)经由核心网传输。 短信息服务中心(SMSC)的互通移动交换中心(IW MSC)在收到MAP mo-ForwardSM 信息后,就传送包含着文本信息的SMS-PP APDU (即SMSPP的应用协议数据单元 APDU(Application Protocol Data Unit))到短信息服务中心的实际服务中心SC中存储起来。随后会将该文本信息转发或者交付给目的地址并且服务中心SC会返回一个表明成功或失败的确认信息。移动交换中心(SMSC)的互通移动交换中心(IW MSC)在收到该确认信息后,会发送一个适当的回执给发送用户的拜访移动交换中心(VMSC)/GPRS服务支持节点(SGSN)。最后通过空中接口给手机用户发送发送状态报告,这个发送报告只是表明短信已经提交给了服务中心(SC),并不意味着短信已经成功被交付给最终的目的用户。 备注: 引自百度词条SGSN: SGSN是英文SERVICE GPRS SUPPORT NODE的缩写。SGSN作为GPRS/WCDMA核心网分组域设备重要组成部分,主要完成分组数据包的路由转发、移动性管理、会话管理、逻辑链路管理、鉴权和加密、话单产生和输出等功能。 SGSN即GPRS服务支持节点,它通过Gb接口提供与无线分组控制器PCU的连接,进行移动数据的管理,如永和身份识别,加密,压缩等功能;通过Gr接口与HLR相连,进行用户数据库的访问及接入控制;它还通过Gn接口与GGSN相连,提供IP数据包到无线单元之间的传输通路和协议变换等功能;SGSN还可以提供与 MSC的Gs接口连接以及与SMSC之间的Gd接口连接,用以支持数据业务和电路业务的协同工作和短信收发等功能。 SGSN与GGSN 配合,共同承担WCDMA的PS功能。当作为GPRS网络的一个基本的组成网元时,通过Gb接口和BSS相连。其主要的作用就是为本SGSN服务区域的MS 进行移动性管理,并转发输入/输出的IP分组,其地位类似于GSM电路网中的VMSC。此外,SGSN中还集成了类似于GSM网络中VLR 的功能,当用户处于GPRS Attach(GPRS 附着)状态时,SGSN 中存储了同分组相关的用户信息和位置信息。当SGSN作为WCDMA 核心网的PS域功能节点,它通过Iu_PS接口与UTRAN相连,主要提供PS域的路由转发、移动性管理、会话管理、鉴权和加密等功能。GGSN9811主要提供PS与外部PDN(Packet Data Network,分组数据网)的接口,承担网关或路由器的功能。SGSN和GGSN合称为GSN(GPRS Support Node)。 引自百度词条MSC: MSC即移动交换中心,MSC是整个GSM网络的核心,它控制所有BSC的业务,提供交换功能及和系统内其它功能的连接,MSC可以直接提供或通过移动网关GMSC提供和公共电话交换网(PSTN)、综合业务数字网(ISDN)、公共数据网(PDN)等固定网的接口功能,把移动用户与移动用户、移动用户和固定网用户互相连接起来。

相关主题
文本预览
相关文档 最新文档