您的位置:首页 >  新闻中心 > 云通讯公告
  云通讯公告
 

对于特殊字符串的sms短信接口模块设计

来源:原创    时间:2018-02-22    浏览:0 次

        Based on the distributed application of short message service , one necessary job is to realize the automatic receipt / sending of short messages by computer . At present , there are three basic modes to realize the automatic sending and receiving of short messages , which are gateway mode , website mode and terminal mode . 

blob.png

        终端模式通过短信模块来收发短信,具有成本低廉,搭建和部署方便等优点.本文主要讨论的是终端模式.1工作原理1·1通信子系统的组成一般情况下,利用短信模块来收发短信的子系统至少包含IT6z1KJ]3个功能部件,如图1所示.图1基于短信模块的通信子系统的组成其中,通信接口程序是运行于计算机上,与短信模块进行交互.根据空中接口的不同,短信模块可分为CDMA和GSM两种.本文基于GSM短信模块讨论.目前,国内最常见短信模块的核心部件是由WavCom,Siemens和Motorola等提供的.本文使用WavCom内核的USB短信模块.数据连接线是将短信模块与计算机连接的一种电缆,主要包括RS-232-C串口线,蓝牙,红外或者USB等媒介的连接方式.GSM SMS的有关协议和规范是参考CCITT v·24来定义短信模块和计算机之间的连接电路[3-5],因此无论采用哪种连接媒介,在接口程序看来都是通过串口与短信模块进行交互的.1·2 AT命令计算机是通过AT命令来操纵短信模块的.上世纪90年代初,AT命令仅用于Modem操作,为了控制移动电话的文本消息,人们相继开发了Block,Text和PDU模式的AT命令.而PDU支持UTF7,UTF8和Unicode三种编码.UTF7只能用于对标准的ASCII字符信息进行编码,UTF8则主要用于图像和铃声等多媒体信息的编码,而要发送和接收中文,只能使用PDU模式的Unicode编码.本文只考虑采用PDU模式.短信模块所支持的AT命令覆盖的范围涉及语音,传真,短信,SIM应用工具集等.与短信相关的AT命令如表1所示[4-5].表1与GSM短信有关的AT命令命令作用AT+CPMS选择短信储存地点.可选择ME(SIM卡)和MT(机身)AT+CMGL列出指定状态的短信息的PDU代码AT+CMGR列出指定序号的短信息PDU代码AT+CMGS发送短信AT+CMGD删除指定的短信AT+CMGF短信格式:Text模式和PDU模式AT+CNMI设置新短消息通知电脑端AT+CSCA短信中心在设计过程中,使用AT+CMGF,AT+CNMI,AT+CMGS三条命令,分别用于设置短信的模式,到达通知模式中华测控网chinamca.com和发送.(1)设置模块的模式:短信模块模式的设置由AT+CMGF来完成.若为TEXT模式,向短信模块连接的串口发送字 ( 1 ) The mode of setting module : The setting of short message module mode is completed by AT + CMGF . In the case of TEXT mode , the serial port sent to the short message module is sent : AT + CMGF = 1 . In case of PDU mode , the module will return the string : AT + CMGF = 0 . In the implementation process , the module will return the string " OK " as the response , otherwise , return " ERROR " .


        如果成功设置,SMS模块返回字符串“OK”。计算机将从串口读取一个字符串如下:CMT:42进入0f0040 dfc006f00f00c00输入3)发短信:短信是在CMGS做的。在不同的模式,在CMGS使用的是不同的。所以只有采用PDU模式。PDU模式发送短消息分为两个步骤:第一步是输入用户数据的字节信息,语法是:在CMGS =其中长度参数的计算将在编码部分;以下是发送一个“HelloWorld”代码例如:在CMGS = 37的回报如果短信模块是正确的。第二步是PDU单元输出的编码,根据用户的数据。


        输出语法为:如果成功发送,则为。返回一个字符串,如下:198饲料车好:CMGS换行1.3发送PDU编码如表2所示,发送PDU包括13场[ 3 ],其中一些通常可以设置为默认值,其他领域会根据目的地址和短消息的内容不同。其中,第1/2/3栏显示了短信息中心的有关信息,而第6/7/8栏则显示了该邮件目的地地址的有关信息。域1213包含有关SMS内容的信息。由于GSM服务提供商的短信服务的参数基本相同,固定目前,如果短信代码统一使用由用户,默认值一般可用于大多数的13个领域,在领域的唯一真正的变化是3h8 / 12vfp13)地址码:表2:对域的数目、长度的域名,SMSC地址信息的PDU发送:2 SMSC地址格式TN /新产品/ 3 SMSC地址4基本参数/ tp-mti / vfp5信息参考价值/ tp-mr6目标地址数。


        的tp-pid10用户信息编码方法(tp-pid10)的tp-vppn12用户数据长度和tp-udlm13用户数据的有效期(tp-udl13用户数据/ tp-ud13)表示的具体地址在第三和第八域的tp-pid-10用户信息的编码方法和tp-vppn12用户数据长度和tp-udl13用户数据(tp-udl13用户数据/ tp-ud13)。编码方法是相同的。下面以SMSC地址和目的地地址为例来说明其编码过程,如图2所示。首先,因为第二域固定为91,这意味着在国际格式的代码需要在86s;然后,确定一个数的长度的奇偶,如果是奇,一个“F”必须添加在最后形成一个偶数,否则“F“不应该添加。可以获得编码的地址信息。


        发送PDU地址域/用户数据编码的编码过程:发送短消息时,如果你只是使用Unicode编码方案(tp-dcs10),编码比较简单。可以分三步完成。下面的例子说明了“HelloWorld”。图3显示了用户的文本消息内容的编码过程,首先将字符串的所有字符转换为双字节;然后,为每个字符获取Unicode代码;最后,得到Unicode的BCD码字符串。?用户信息的长度tp-udl的值是字符串的长度通过chinamca.com程序中国测控网络上面提到的。


        在PDU,对tp-udl值是14进制的形式。发送短消息时,第一步是把“CMGS”命令。后面应该是一个表示用户数据长度值的参数。