首 页文档资料下载资料维修视频包年699元
请登录  |  免费注册
当前位置:精通维修下载 > 文档资料 > 电子技术 > 通信与网络
OpenAT平台的GSM Modem通信协议报文设计
来源:本站整理  作者:佚名  2010-07-09 08:54:19





该数据通信协议发送时通过OpenAT嵌入式API函数adl_smsSend()函数发送。adl_smsSend函数定义如下:

adl smsSend(ptk SmsHandler,Telephone,Message,ADL_SMS_MODE_TEXT)

其中,ptk_SmsHandler为6.2节中短信声明返回句柄;Telephone参数为目标的SIM卡号码;Message为封装好的SMS短信数据通信报文;ADL_SMS_MODE_TEXT表明采用TEXT格式的短信传输。

6.4  数据通信协议的接收处理

对于GSM Modem接收到的短信数据报文的处理,相当于发送短信数据报文的解包过程,主要过程在GetSmsDataPackage()函数中实现。处理后数据发送至上位机软件格式为:

RES:0001,8,30RX1YX2YX3YX4YX5Y6Y7Y

返回数据通过串口发送至上位机,上位机软件直接接收该字符串,即完成短信数据的接收过程。

7  GSM Modem AT命令设计

利用OpenAT操作系统自定义AT命令设计接口,定义GSM Modem对上位机的数据通信接口。AT命令声明函数如下:

adl_atCmdSubscribe("AT+SETDIS",(adl_atCmdHandler_t)SetMode,ADL_CMD_TYPE_PARA∣ADL_CMD_TYPE_READ∣0x0041);

其中,参数"AT+SETDIS"为自定义的AT命令接口;SetMode为该AT命令的返回函数;第3个参数为当前AT命令的类型,ADL_CMD_TYPE_PARA为键入参数型,ADL—CMD—TYPE—READ为读参数型,0x0041为AT命令类型值,根据函数规定设置。

在SETDIS命令中,以“AT+SEDDIS=X,Y”类型为自定义命令的访问接口。在返回函数中,第1个参数X作为SMS通信协议的命令字参数,第2个参数Y作为SMS通信协议的数据报文内容参数。SMS数据报文目标接收终端SIM卡号码由“AT+SETTEL”命令预设,该命令定义如下:

adl_atCmdSubscribe("AT+SETTEL",(adl_atCmdHandler_t)SetTel,ADL_CMD_TYPE_PARA∣ADL_CMD_TYPE_READ∣0x0041)}

该命令用于首次设置GSM Modem,将所有接收终端SIM卡号存入Q24PL001内部Flash内,以ID号标识。

上位机通过串口键人“AT+SETDlS=0,"0R1Y2W3R4 Y5G6Y7W"”,则GSM Modem立即向相应ID为0的终端发出数据包为$S000000S0000AA100R1Y2W3R4Y5G6Y7W5B#完整数据。

8  上位机软件的操作实现

相对于复杂的数据报文运算,以及复杂的AT命令发送GSM短信数据包的上位机软件系统来说,将短信数据报文封装进GSM Modem后,对GSM Modem的控制操作变得简单,只需要一条简单的AT命令,即可实现非常复杂的短信数据包的传输。同样对于接收到的数据,GSMModem完成数据包解包后,立即通过RS232串口输出简洁的响应字符串,大大简化了上位机软件的处理。经过对GSM Modem进行短信协议报文封装后的上位机软件处理流程如图5所示。



结  语

在系统稳定性和实时性要求较高的通信领域中,相比在上位机软件中进行协议处理,将GSM Modem进行嵌入式报文封装处理简单而又高效。另外,在很多无人值守的服务端平台,只要保持GSM Modem开机,数据包数据处理即可以直接由GSM Modem完成,而无需上位机电脑开机,既方便了用户操作,又保证了SMS通信系统的稳定性。该设计已经应用于南宁及深圳市智能交通诱导系统中,均取得较好的效果。

上一页  [1] [2] [3]  下一页

关键词:

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分)
Copyright © 2007-2017 down.gzweix.Com. All Rights Reserved .
页面执行时间:159,828.10000 毫秒