使用AT命令发送短信时绕过消息存储
我有一个摩托罗拉Razar v3m的数组,现在包含大约26部手机。我有一个我构建的多线程软件平台,它管理每个电话和消息路由/定时等待任务以及所有这些。使用AT命令发送短信时绕过消息存储
当我发出:
AT + CMGW = “1234567890” 消息< 26> < 27>
它需要近30秒,写入信息到手机内存中,然后我开始使用发送邮件:
AT + CMSS =
messageIndex
并且需要另外30秒。
我已经尝试过使用AT + CMGS,但无法获得该功能来成功发送消息。
我需要这是可靠的,但用这种方法/电话组合,我甚至不会依赖它来告诉我生日快乐一年一次。
有没有另一种方式发送短信而不先将其存储到内存?它不仅速度慢, ,但最终导致电话不再发送消息,即使它们在AT + CMGD之后被删除,也不会再发送消息。
这听起来像你正在写SIM卡的内存,因为它太慢了。 从AT+CMGW
在27.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> "
发送有效载荷之前。当你说你没有得到那个工作时,我认为你在正确解析答案和正确等待方面遇到了一些麻烦。
我会授予你 - 因为你是正确的,但总之,答案是放弃摩托罗拉Razr v3m手机 - 它们太不可靠了。他们最终只是停止发送消息,而我已经尝试过70个电话。我最终刚刚构建了一个带有GSM屏蔽的Arduino,并将其编码为我需要的 - 它在短时间内发送文本。 – Matth3w