智能車鎖的項目想着可以用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頁開始。
上面有什么說的不准確的還請大佬指正。
