我在Arduino上连续使用带有SeeedStudio SIM900 GPRS模块的AT+CIPSEND
时遇到了一些问题。这是我的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
命令我会有更好的运气吗?
我已经使用HTTPAT命令集解决了这种情况。这个问题帮了我很大的忙,我能够在Arduino代码本身的设置函数中执行大多数HTTP命令。然后在循环代码中,我简单地用AT+HTTPPARA
命令设置URL(因为这需要是动态的——我在第一篇文章中提到的数据序列被附加到了URL上),然后用AT+HTTPACTION=0
命令执行GET
。