sim800L gprs发布请求

时间:2016-02-04 10:52:52

标签: module arduino gsm iot gprs

我一直在研究LoNet mini GSM模块(SIM800L),它与Arduino接口。 我插入了可以上网的SIM移动卡。 通过串行监视器,我正在与它进行通信而没有任何问题,但是当它向Web服务器页面发出GET或POST请求时,它返回网络错误(601)。 这是:

AT + SAPBR = 3,1, “ConType首”, “GPRS” 行

AT + HTTPINIT 行

AT + HTTPPARA = “CID”,1 行

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

AT + HTTPACTION = 0 好 + HTTPACTION:0,601,0 // 601:网络错误

AT + HTTPREAD = 1,100000 行

没有回应php页面的“echo”... 你有什么建议吗? 提前谢谢。

enter image description here

enter image description here

2 个答案:

答案 0 :(得分: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使用PCS_MODE进行2G服务。设置此通过:     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 - 一种廉价的分线板。

答案 1 :(得分:0)

如果要使用https,请按以下顺序添加ssl。

mySerial.println("AT+HTTPINIT");

mySerial.println("AT+HTTPSSL=1");

mySerial.println("AT+HTTPPARA=CID,1");

AT + HTTPSSL = 1,这将使您可以将URL与https://一起使用 如果您想使用Google Cloud函数将数据添加到Firebase,这真的很有用。