我想使用A6 GSM / GPRS模块将数据发送到data.sparkfun.com云服务。我正在使用这些AT命令:
// Setting up network
AT+CGATT?
AT+CGATT=1
AT+CGDCONT=1,"IP","internet"
AT+CGACT=1,1
AT+CIPSTATUS
AT+CIFSR
// Start the TCP/IP connection to the server
AT+CIPSTART="TCP","54.86.132.254",80 // PROBLEM STARTS HERE
AT+CIPSTATUS
AT+CIPSEND
GET /input/***********?private_key=****************&temp=45.2 HTTP/1.1<cr><lf>Host:data.sparkfun.com<cr><lf>Connection:keep-alive<cr><lf>
^z
当我输入此命令AT+CIPSTART="TCP","data.sparkfun.com",80
时,我将返回CONNECT OK(TCP连接成功),此后它将自动关闭它+ TCPCLOSED:0(TCP连接被远程服务器关闭)。由于没有TCP连接,因此没有时间输入AT + CIPSEND命令。
我试图制作自己的nodejs服务器,但仍然是同样的问题。
如何保持连接有效,直到我可以发送数据,然后使用AT + CIPCLOSE命令关闭连接?
最有可能的解决方案是非常简单的。
AT指令
AT+CGDCONT=1,"IP","internet"
定义了PDP上下文,我想“互联网”只是一个通用值,您可能必须用移动网络提供商的APN代替它。