2009-11-09 | #1 (permalink) |
高级会员
|
PDU发送短信简明分析
1. 如何与GSM MODEM建立通信联系
您可用诸如Windows下的超级终端或Pcomm等终端仿真软件,将计算机的串行口与GSM MODEM的串行口用电缆直接连接。 2. 不能与GSM MODEM进行正常的通信或总是在仿真终端上出现乱码 检查您的串口是否保证正常连接,计算机的串口引线与GSM MODEM的串口引线应是一一对应的。GSM MODEM与仿真终端应设置相同的通信速率。 但您初次使用GSM MODEM时,请在仿真终端上设置为通信速率9600bps、8位数据位、无较验位、1位停止位。 3. 如果您想在出错后得到错误代码号,需将GSM Modem作如下设置: AT+CMEE=1 4. 发送短消息后,收到出错信息+CMS ERROR 512 表示您的GSM MODEM在发送短消息的同时它收到了新的短消息,发送短消息被拒绝,您需要重新发送此条短消息。 5. 发送短消息后,收到出错信息+CMS ERROR 513 您遇上了下面问题中的一种: a) 您的GSM MODEM失去了无线链路连接; b) 在发送完短消息后的28秒内,您的GSM MODEM没有收到短消息中心送来的接收确认+CMGS:〈顺序号〉; c) 在送出请求建立发送短消息的控制信道指令后的42秒内,您的GSM MODEM没有收到基站送来的确认〉。 6. 发送短消息后,收到出错信息+CMS ERROR 514 您遇上了下面问题中的一种: a) 您设置的短消息中心的号码是错误的; b) 短消息将要送达的目的号码是错误的; c) 您发送的短消息被短消息中心拒绝(一般为目的号码不存在或目的号码被禁用)。 7. 发送短消息后,收到出错信息+CMS ERROR 515 如果您的GSM MODEM在初始化期间或在指令执行过程当中GSM MODEM又接受新的指令,将会出现此错误。您必须等到初始化完成或指令执行完毕。 8. 如何才能知道您发送的短消息已被送达目的号码 a) 采用文本格式发送 在您采用文本格式发送短消息时,您的GSM MODEM须作以下的设置: at+csmp=49,〈X〉,〈X〉,〈X〉 at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉 〈X〉代表根据您的需要您所选择的合适的参数。 当您发送完短消息后,您将收到来自短消息中心的以下两种确认中的一种: +CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",0 或: +CDS:〈X〉,〈顺序号〉,"电话号码","发送时间","接收时间",48 确认中的最后个数代表了此短消息的传输状态。(0表示已经送达目的号码,48表示不可能将此送达目的号码) b) 采用PDU格式发送 在您采用PDU格式发送短消息时,您的GSM MODEM须作以下的设置: at+cnmi=〈X〉,〈X〉,〈X〉,1,〈X〉 〈X〉代表根据您的需要您所选择的合适的参数。 在您所要发送的PDU格式的短消息中,您须将短消息中心号码后的第一个字节设成31 在发送完短消息后,您将收到来自短消息中心的以下确认: +CDS:〈长度〉00〈PDU格式的确认信息〉 注意:在收到的PDU格式的确认中,顺序号和传输状态标志都是以16进制数存在的,您可将其直接转成10进制数而无需将其倒置后再转换。 9. 如何发送中文短消息 采用现有的GSM MODEM发送中文短消息,都必须先将准备发送的中文短消息转换成16位的Unicode编码。 A) 采用文本方式发送 在您采用文本格式发送Unicode编码中文短消息时,您的GSM MODEM须作的设置: at+csmp=〈X〉,〈X〉,〈X〉,8 〈X〉代表根据您的需要您所选择的合适的参数。 然后您就可将转换好的Unicode编码中文短消息按照发送普通文本短消息的方法发送出去。 B) 采用PDU方式发送 您只须在您的PDU格式的短消息中,将目的号码字符串后的第二个字节设成08,将转 换好的Unicode编码中文短消息作为PDU中的发送内容一齐发送。 10. 如何建立一个话音呼叫 向GSM MODEM的串口送指令ATD〈电话号码〉;〈回车〉必须确认电话号码是一个话音号码而非传真或数据号码。 11. 如何建立一个数据呼叫 先将您的GSM MODEM作如下设置: at+ipr=9600 at+ifc=2,2 at+cbst=0,0,1 向GSM MODEM的串口送指令ATD〈电话号码〉〈回车〉 必须确认电话号码是一个数据号码而非传真或话音号码,同时必须确认您的SIM卡已开通数据通信的服务。 12.当GSM MODEM作被叫时,如何显示主叫的电话号码 将您的GSM MODEM作如下设置: at+clip=1 13.当GSM MODEM作被叫时,如何判别主叫发起的是话音、数据或传真呼叫 将您的GSM MODEM作如下设置: at+crc=1 14.当GSM MODEM作被叫时,如何使其自动应答或不能自动应答 如果您想让您的GSM MODEM自动应答,将您的GSM MODEM作如下设置: ats0=〈N〉 N是代表GSM MODEM震铃的次数的一个整数,即GSM MODEM在N 次 震铃后将自动应答。 如果您想让您的GSM MODEM不能自动应答,将您的GSM MODEM作如下设置: ats0=0 15.如何不通过SIM卡直接读或写短消息 因为SIM卡只有1万到10万次的读写次数和10-15条短消息的存储空间,还涉及到SIM卡上短消息读写需要一定的时间才能完成。这些因素影响了许多应用,这些应用需要通过GSM网络进行大量的数据交换,为保证流程的顺利进行,SIM卡要完成大量的读、写和删除操作,SIM卡的寿命周期很快就会达到,此外,SIM卡完成这些工作所耗费的时间比外界要求的要多。为解决这些问题,有必要在终端上作一些软件设置,使短消息不通过SIM卡进行读写操作。 以下的描述介绍了如何采用这种方法在Falcom A2系列和数据终端MT4002之间不通过SIM卡交换数据,这种方法也可用与2个MT4002之间。 a) 串口上的从终端来的RTS信号可用来指示数据交换时隙是否忙,串口准备好接收数据 b) 如果终端双方都可用来接收和发送短消息,在设置时双方都要设同样的命令和常数。 在接收端,设命令AT+CNMI=2,2,0,0,0 在发送端,设命令AT+CSMP=17,167,0,240 (当使用PDU格式发送时,240改成字符串DCS(F0)) c) 当程序发现短消息以前缀+CMT后跟所传送的数据这种格式时,立即将此短消息捕获并将其分发到原定的地址。 d) 当发送端如果没有设置CSMP=17,167,0,240时,捕获到的短消息应有前缀+CMTI,此时用命令AT+CMGR=n读取并分发到原定的地址,随后用命令AT+CMGD=n将此短消息删除以保证SIM卡有足够多的空间。
__________________
[SIGPIC][/SIGPIC] |