使用GPRS模块向服务器HTTP请求

智能车锁的项目想着可以用HTTP请求服务器数据去更新车锁臂状态,这样服务器端可能会比socket连接稳定一些于是摸索了半天使用GPRS模块进行HTTP请求,摸索出来后才想起来这种请求-响应的形式不适合这个项目,因为要实时查询服务器的状态,会无端增加数据流量的消耗,但还是记录一下方便大家参考。

PS:不是所有的GPRS模块都可以使用HTTP请求,因为有些模块没有HTTP协议栈(如kingcomG3524),市场上比较流行的SIM900(SIM800)模块是可以做HTTP请求的,下面就贴出如何用AT指令向服务器请求数据。

 

/**************初始化指令**************/
AT 

OK 

/*IP应用设置*/
AT+SAPBR=1,1 

OK 

/*HTTP初始化*/
AT+HTTPINIT 

OK 

/*HTTP参数设置*/
AT+HTTPPARA="CID",1 

OK
/***************************************/

/**************HTTP请求指令*************/

/*HTTP参数设置(访问URL地址)*/
AT+HTTPPARA="URL","http://19144sq587.51mypc.cn:38269/GPRSPro/GprsServlet"

OK

/*HTTP访问方式 0:GET ; 1:POST*/
AT+HTTPACTION=0

OK 
+HTTPACTION:0,200,298 //请求方式,HTTP状态码,数据长度

/*读取数据 数据起始位置,数据结束位置*/
AT+HTTPREAD=0,214
+HTTPREAD:214 //读取的数据长度
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
  <HEAD><TITLE>A Servlet</TITLE></HEAD>
  <BODY>
    This is class com.gprs.servlet.GprsServlet, using the GET method
  </BODY>
</HTML>
OK
/***************************************/

 

最后可返回服务器respond的数据,可详细参考SIM900指令集HTTP部分,大概在192页开始。

上面有什么说的不准确的还请大佬指正。

 

posted @ 2017-12-13 11:11  sovagxa&静默  阅读(4372)  评论(0编辑  收藏  举报