使用AT命令发送短信时绕过消息存储

使用AT命令发送短信时绕过消息存储

问题描述:

我有一个摩托罗拉Razar v3m的数组,现在包含大约26部手机。我有一个我构建的多线程软件平台,它管理每个电话和消息路由/定时等待任务以及所有这些。使用AT命令发送短信时绕过消息存储

当我发出:

AT + CMGW = “1234567890” 消息< 26> < 27>

它需要近30秒,写入信息到手机内存中,然后我开始使用发送邮件:

AT + CMSS = messageIndex

并且需要另外30秒。

我已经尝试过使用AT + CMGS,但无法获得该功能来成功发送消息。

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

有没有另一种方式发送短信而不先将其存储到内存?它不仅速度慢, ,但最终导致电话不再发送消息,即使它们在AT + CMGD之后被删除,也不会再发送消息

这听起来像你正在写SIM卡的内存,因为它太慢了。 从AT+CMGW27.005的描述:

执行命令存储消息(无论是SMS-DELIVER或SMS-SUBMIT)到存储器存储<mem2>

和上文中的 “3.1参数定义”:

<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", ...。如果我的猜测是正确的,你应该切换到另一个存储在手机上(“我”,“MT”或“TA” - 检查与AT+CPMG=?它支持什么(它可能支持additional storages相比,标准))这将是很多更快的模拟存储。


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

+0

我会授予你 - 因为你是正确的,但总之,答案是放弃摩托罗拉Razr v3m手机 - 它们太不可靠了。他们最终只是停止发送消息,而我已经尝试过70个电话。我最终刚刚构建了一个带有GSM屏蔽的Arduino,并将其编码为我需要的 - 它在短时间内发送文本。 – Matth3w