A6 gsm / gprs模块与云的TCP / IP连接

时间:2017-02-01 21:33:09

标签: sockets tcp gsm gprs m2m

我想将 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连接)。没有时间输入 AT + CIPSEND 命令,因为TCP连接丢失。

我尝试制作自己的nodejs服务器,但仍然存在同样的问题。

如何保持连接活动直到我可以发送数据然后用 AT + CIPCLOSE 命令关闭连接?

1 个答案:

答案 0 :(得分:0)

解决方案很可能很简单。

AT指令

AT+CGDCONT=1,"IP","internet"

定义了PDP上下文,我想“互联网”只是一个通用值,您可能必须用移动网络提供商的APN代替它。