sim800 at命令将数据发布到服务器

时间:2015-10-26 13:00:25

标签: http gsm at-command gprs

我很难将数据发送到远程服务器,我能够发送帖子请求,但不知道如何添加服务器接收的数据。

我已浏览过数据表http://www.jarzebski.pl/datasheets/SIM900_https-121018-1.00.pdf

尝试了

# usual at+sapbr=1,1 set up
+HTTPINIT
+HTTPPARA = “CID”,1
+HTTPPARA="URL","IP-ADDRESS:PORT"
+httpdata=100,10000
# Where do I add the post data ?
+httpaction=1

发送http post请求。但是我如何添加数据 - 我已经尝试将其添加到网址?key = val但没有欢乐 - 任何帮助都会受到赞赏

2 个答案:

答案 0 :(得分:12)

httpdata = 100,10000表示SIM800应该在10秒内预期100个字节。

这是我使用HTTP客户端完成此操作的方法:

.then

此时,SIM800应以“DOWNLOAD”响应。这意味着它期待您的数据。发送您的数据;就我而言:

AT+HTTPINIT
AT+HTTPPARA="CID",1
AT+HTTPPARA="URL","http://url.com/endPoint"
AT+HTTPPARA="CONTENT","application/json"
AT+HTTPDATA=40,10000

等待10秒钟以发送其余命令。然后:

{"location_id": 238, "fill_percent": 90}

那为我做了。希望它有所帮助。

这是我从http://www.raviyp.com/embedded/194-sim900-gprs-http-at-commands

获取信息的地方

在后端,使用Python Flask,这是我使用的代码

AT+HTTPACTION=1
AT+HTTPREAD
AT+HTTPTERM

答案 1 :(得分:7)

我设法让它做我需要的,这段代码片段可能会帮助其他人

AT+CGATT=1                  # enter GPRS configuration mode 
AT+CIPMUX=0                 # Disable multi IP connection mode.  Single IP cnxn only
AT+CSTT="APN","USER","PASS"
AT+CIICR                    # bring up wireless connection with GPRS and CSD 
AT+CIFSR                    # ip up - gprs working
AT+CIPSHUT                  # Exit GPRS configuration mode

# Now do a post request to remote server api in json format. 
# Change IP_ADDR|DOMAIN for the IP or domain name of your server.  
# Change 2000 to its port
AT+CIPSTART="TCP","IP_ADDR|DOMAIN","2000"

AT+CIPSEND=119 # Num of char in tcp/ip data, \r & \n count as 1 char
POST /post HTTP/1.1
Host: **.**.***.***
Content-Type: application/json
Content-Length:23

{"postkey":"postvalue"}

希望这有助于下一个人坚持下去。

相关问题