下午好,
我是这一切的新手,我有一个问题,我想讨论一下是否有人可以帮助我。
我有一个带有Vodafone卡的SIM5360模块,我想连接到一些Web服务,以JSON格式发送和接收数据,我已在AWS服务器上实现。
要执行AT命令,我使用Putty工具。
我首先尝试使用HTTP函数进行以下调用:
AT+CHTTPACT=”XX.XXX.XXX.169″, 8080<CR>
+CHTTPACT:REQUEST
GET /XXXDWP/rest/user/list HTTP/1.1<CR><LF>
Host: XX.XXX.XXX.169:8080<CR><LF>
Content-Type: application/json<CR><LF>
Accept: */*<CR><LF>
<CR><LF>
<CR><LF>
<SUB>
<Ctrl + Z>
其他例子:
GET /XXXDWP/rest/user/list HTTP/1.1\r\nHost: XX.XXX.XXX.169:8080\r\nAccept: */*\r\nContent-Type: application/json\r\n
GET /XXXDWP/rest/user/list HTTP/1.1 Host: XX.XXX.XXX.169:8080 Accept: */* Content-Type: application/json
但我打电话的结果总是:
+ CHTTPACT: 227
我还尝试使用TCP函数进行以下调用:
AT+NETOPEN
AT+CIPOPEN=0,”TCP”,”XX.XXX.XXX.169″,8080
AT+CIPSEND=0,
>GET /XXXDWP/rest/user/list HTTP/1.1<CR><LF>
Host: XX.XXX.XXX.169:8080<CR><LF>
Content-Type: application/json<CR><LF>
Accept: */*<CR><LF>
<CR><LF>
<CR><LF>
<SUB>
<Ctrl + Z>
其他例子:
>GET /XXXDWP/rest/user/list HTTP/1.1\r\nHost: XX.XXX.XXX.169:8080\r\nAccept: */*\r\nContent-Type: application/json\r\n
>GET /XXXDWP/rest/user/list HTTP/1.1 Host: XX.XXX.XXX.169:8080 Accept: */* Content-Type: application/json
但我打电话的结果总是:
……..
http/1.1 400 bad request
server: apache-coyote/1.1
transfer-encoding: chunked
……..
如果有人可以帮助我,请告诉我正确配置SIM5360的步骤,并能够对服务器进行GET / POST调用。
非常感谢,
Celia M. S。
答案 0 :(得分:0)
以下顺序摘自SIM5360 AT command manual,第18.5章。
通过从以下位置进行检查来确保您拥有良好的人际关系
AT+COPS?
现在,我们将使用安全超文本传输协议服务。 首先发送
AT+CHTTPSSTART
等待OK
,然后发送
AT+CHTTPSOPSE="<host>",<port>[,<server_type>]
并等待OK
,然后发送
AT+CHTTPSSEND=<len>[,<filename>]
len是请求的长度(以字节为单位),filename是要从中上传数据的文件的名称。
执行此命令后,您将收到>
,现在发送您的 GET 请求
GET /xxxx.xxx
Host: xxx.xxxx.xxx
User-Agent: curl/x.xx.x
Content-Length: x
一旦您的请求匹配您指定的长度,SIM5360将发送您的数据并返回
OK
+CHTTPS: RECV EVENT
指示服务器已响应。 您可以通过以下命令读取响应:
AT+CHTTPSRECV=<len>
Peer可以根据服务器自动关闭,但是如果您要手动关闭,则发送
AT+CHTTPSCLSE
您将收到
+CHTTPSNOTIFY: PEER CLOSED
OK
此时,由于安全HTTP服务仍在运行,因此您可以从AT+CHTTPSOPSE
命令发送另一个GET请求。
但是,如果您想停止服务,可以发送
AT+CHTTPSSTOP
,SIM5360将在成功后相应地响应OK
。
我将api.thingspeak.com服务器用于GET请求,并且服务器按预期方式响应“ 1”。在我的情况下,GET请求的网址是api.thingspeak.com/update?api_key=xxxxxxxxxxxxxxxxx&field1=xx
以下是从我的终端复制的:
AT+CHTTPSOPSE="api.thingspeak.com",80,1
OK
AT+CHTTPSSEND=122
>GET /update?api_key=xxxxxxxxxxxxxxxxx&field1=xx
Host: api.thingspeak.com
User-Agent: curl/7.45.0
Content-Length: 0
OK
+CHTTPS: RECV EVENT
+CHTTPSNOTIFY: PEER CLOSED
AT+CHTTPSQECV=512
OK
+CHTTPSRECV: DATA,1
1
+CHTTPSRECV: 0
希望这会有所帮助。