使用AT命令发送短信时绕过邮件存储

时间:2017-04-10 21:53:02

标签: sms at-command modem cellular-network

我现在有一系列摩托罗拉Razar v3m包含大约26部手机。我有一个我构建的多线程软件平台,它管理每个电话和消息路由/定时等待任务以及所有这些。

当我发出:

  

AT + CMGW =" 1234567890"&消息LT; 26>< 27>

将消息写入手机内存需要将近30秒,然后我会使用以下方式发送消息:

  

AT + CMSS = messageIndex

又需要30秒。

我尝试过使用AT + CMGS,但无法成功发送消息。

我需要这是可靠的,但是通过这种方法/手机组合,我甚至不会依赖它来告诉我一年生日快乐。

是否有其他方式发送短信而不先将其存储到内存中?它不仅缓慢; 但最终导致手机不再发送消息,即使它们被AT + CMGD删除后也会被删除。

1 个答案:

答案 0 :(得分:0)

这听起来就像你正在写入sim内存,因为它太慢了。 来自27.005AT+CMGW的说明:

  

执行命令将消息(SMS-DELIVER或SMS-SUBMIT)存储到内存存储<mem2>

以及之前的&#34; 3.1参数定义&#34;:

  

<mem1>字符串类型;读取和删除消息的内存(命令列表消息+ CMGL,读取消息+ CMGR和删除消息+ CMGD);定义的值(其他是制造商特定的):

"BM" broadcast message storage
"ME" ME message storage
"MT" any of the storages associated with ME
"SM" (U)SIM message storage
"TA" TA message storage
"SR" status report storage
  

<mem2>字符串类型;写入和发送操作的内存(命令从存储+ CMSS发送消息,写消息到存储器+ CMGW));参考定义的值

<mem1><mem2>的值配置为AT+CPMS首选消息存储(请注意您应set both to the same value)。所以我的猜测是,如果你运行AT+CPMS?,它将返回+CPMS: "SM", ..., ..., "SM", ...。如果我的猜测是正确的,你应该切换到手机上的另一个存储空间(&#34;我&#34;,&#34; MT&#34;或&#34; TA&#34; - 检查AT+CPMG=?它支持的内容(它可能支持additional storages与标准相比)),这将比sim存储快得多。

应该可以使用AT+CMGS,但请注意在发送有效负载之前确实需要wait for "\r\n> "。当你说你没有得到那个工作时,我认为你在正确解析答案和正确等待方面遇到了一些麻烦。