我正在测试不同的AT命令,包括用于发送文本消息的AT命令,即AT+CMGS
。
根据我在网上读到的内容,您只需提供如下所示的电话号码,然后按CTRL-Z发送消息,但当我按下CTRL-Z时,实际上没有任何反应
echo -e "AT+CMGS='"<phone_number>"'"\r" > /dev/<port>
> Sending message...
<PRESS CTRL-Z but nothing happens>
发布于 2020-11-24 22:46:40
我假设,在使用echo -e
向端口发送字符之后,您还可以使用以下命令从串行端口获得输出
cat /dev/<port> &
这样,调制解调器的每个应答都会自动重定向到您的控制台。
在本例中,字符>
并不意味着您可以直接发送文本;您必须继续使用echo -e
发送文本。下面是命令的序列,右边有一些显然不需要包含的注释
echo -e "AT+CMGS='"<phone_number>"'"\r" > /dev/<port> // Command
> // Modem's response
echo -e "My text!\x1A" > /dev/<port> // Send text
+CMGS: XYZ // Response to SMS sending
OK // It can take several seconds
请注意二进制数据是如何通过\xAB
转义序列发送的,其中AB
是要追加的字符的ASCII值。有关manual page的更多信息。
https://stackoverflow.com/questions/64978814
复制相似问题