首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sim800L gprs post请求

sim800L gprs post请求
EN

Stack Overflow用户
提问于 2016-02-04 10:52:51
回答 3查看 6K关注 0票数 3

我一直在开发一个LoNet迷你GSM模块(SIM800L),并将其与Arduino连接起来。我已经插入了带有互联网连接的SIM移动卡。通过串行监视器,我没有问题地与它通信,但当涉及到向GET服务器页面发出GET或POST请求时,它返回网络错误(601)。下面是:

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

AT+HTTPINIT正常

AT+HTTPPARA="CID",1 OK

AT+HTTPPARA="URL","http://:8080/folder/savedata.php“OK

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

AT+HTTPREAD=1,100000正常

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

在这里输入图像描述

在这里输入图像描述

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-02-28 05:50:11

您已经设置了PDP上下文吗?我认为一些主要的概念是,您需要成功地连接和启动GPRS连接。

在此之前需要激活的一些东西将起作用:

1)网络注册

代码语言:javascript
复制
AT+CREG?     should return 0,1    if so, skip to 2)

如果没有,您可以从打开或关闭调制解调器开始,输入AT+CFUN=0,然后输入AT+CFUN=1

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

如果你没有,那么确保你的乐队被正确地设置为你的服务提供商。查找您的供应商2G波段,例如t-移动使用PCS_MODE作为他们的2G服务。将此设置为: AT+CBAND="PCS_MODE“

而且,显然您应该确保您有信号: AT+CSQ至少应该返回5或6

2)网络激活

代码语言:javascript
复制
AT+CIPSHUT   
AT+CGATT=1      - this can take some time to get through. I have a 40 sec timeout

这一步起作用是很重要的。如果它没有重新启动您的调制解调器。但这是一个关键的部分。

3)设置PDP上下文并启动业务

代码语言:javascript
复制
AT+SAPBR=3,1,"CONTYPE","GPRS"

设置您的APN:找出您的2g APN是从您的供应商。例如,对于t-mobile: epc.tmobile.com定义了您的APN:

代码语言:javascript
复制
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基本上是按照您所拥有的.

我所做的一个例子:

代码语言:javascript
复制
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关闭

代码语言:javascript
复制
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 --一种便宜的防喷板。

票数 4
EN

Stack Overflow用户

发布于 2019-09-06 17:37:39

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

代码语言:javascript
复制
mySerial.println("AT+HTTPINIT");

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

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

AT+HTTPSSL=1这将允许您使用url和https://这是非常有用的,如果您想使用google云函数将数据添加到火基。

票数 0
EN

Stack Overflow用户

发布于 2021-10-17 06:46:27

尝试使用ipaddress代替DNS,如下所示:

代码语言:javascript
复制
  AT+HTTPPARA="URL","http://example.com:8080/folder/savedata.php" OK

将其替换为:

代码语言:javascript
复制
AT+HTTPPARA="URL","http://29.09.07.12:8080/folder/savedata.php" OK

在大多数情况下都有效。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35199109

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档