SIM900 GPRS:连续AT+CIPSEND

SIM900 GPRS: Consecutive AT+CIPSEND

我无法在 Arduino 上连续使用 AT+CIPSEND 和 SeeedStudio SIM900 GPRS 模块。这是我的 AT 命令序列(使用 SSCOM3.2):

AT+CIPSTART="TCP","xx.xx.xx.xxx","80"

OK

CONNECT OK
AT+CIPSEND
> PUT /?data="datasequence"
(CTRL+Z)
SEND OK // at this point "datasequence" has reached the server fine
AT+CIPSEND

ERROR

CLOSED (eventual timeout)

我也试过 AT+CIPQSEND=1,但又遇到了 ERROR,包括在 AT+CIPSEND 中指定长度。我是否遗漏了任何 AT 命令,或者它只是不适合连续使用?我真的很想避免关闭和重新打开 TCP 连接。

此外,使用 AT+HTTP 命令我的运气会更好吗?

我已经使用 HTTP AT 命令集针对我的情况解决了这个问题。 This question 帮了大忙,我能够在 Arduino 代码本身的设置函数中执行大部分 HTTP 命令。然后在循环代码中,我只需使用 AT+HTTPPARA 命令设置 URL(因为这需要是动态的——我在第一个 post 中提到的数据序列被附加到 URL) 然后 AT+HTTPACTION=0 命令执行 GET.