2016-02-04 48 views
3

我一直在研究一个LoNet迷你GSM模块(SIM800L),将它与Arduino连接起来。 我已经插入SIM卡移动卡与互联网连接可用。 通过串行监视器我正在与它通信没有问题,但当涉及到一个GET或POST请求到一个web服务器页面它会返回网络错误(601)。 这就是:sim800L gprs发布请求

AT + SAPBR = 3,1, “ConType报”, “GPRS” OK

AT + HTTPINIT OK

AT + HTTPPARA = “CID”,1 OK

AT + HTTPPARA = “URL”, “HTTP://:8080 /文件夹/ savedata.php” 行

AT + HTTPACTION = 0 行 + HTTPACT ION:0,601,0 // 601:网络错误

AT + HTTPREAD = 1,100000 OK

,而PHP的页面没有的 “回声” 的响应... 你有什么建议吗? 在此先感谢。

enter image description here

enter image description here

+0

这些是你使用的所有命令吗? – dubafek

回答

4

你有没有设置你的PDP上下文了吗?我认为一些主要概念是您需要成功连接并启动GPRS连接。

需要激活一些事情之前,这将工作:

1)网络报名

AT+CREG?  should return 0,1 if so, skip to 2) 

如果没有,那么你可以通过打开和关闭调制解调器的开始输入AT + CFUN = 0然后AT + CFUN = 1

如果您仍然有问题注册,请确保您选择了正确的网络: AT + COPS?应在结果 中看到您的服务提供商名称。 AT + COPS:1,0,“T-Mobile USA”

如果您不这样做,那么请确保您的乐队已正确设置给您的服务提供商。查看您的提供商2G频段 t-mobile为他们的2G服务使用PCS_MODE。通过设置这样的: AT + C波段= “PCS_MODE”

而且,很明显,你应该确保你有信号: AT + CSQ应该至少有5或6

2)网络激活返回

AT+CIPSHUT 
AT+CGATT=1  - this can take some time to get through. I have a 40 sec timeout 

它对这一步的工作很重要。如果它不重启你的调制解调器。但这是一个关键部分。

3)设定PDP上下文和造就了GPRS服务

AT+SAPBR=3,1,"CONTYPE","GPRS" 

设置您的APN:找出您的2G APN是从您的提供商。 例如对于T-Mobile:epc.tmobile.com 定义APN:

T+SAPBR=3,1,"APN","epc.tmobile.com" 

AT+SAPBR=1,1  This is the most important part to get through. Sometimes it takes a while to get through, I have a timeout on this part for 3 minutes to let it work. 

如果这不会给你一个错误进行:

4)发送HTTP 基本上与你有什么继续...

什么,我做了一个例子:

AT+HTTPTERM 
AT+HTTPINIT 
AT+HTTPPARA="CID",1 
AT+HTTPPARA="URL","www.google.com" 
AT+HTTPACTION = 0  This should return 200 if it is successful 

5关闭GPRS

AT+CIPSHUT this may give you an error buts its not important 
AT+SAPBR=0,1  can take awhile 
AT+CGATT=0  also can take a while 

反正我写了一些漂亮整洁的轻量级代码的Arduino通过HTTP发送数据。我也写了一个短信。如果你想看看,让我来。我使用了SIM800L - 便宜的分线板之一。