1. 程式人生 > >AT指令進行HTTP互動

AT指令進行HTTP互動

        超文字傳輸協議(HTTP,HyperText Transfer Protocol)是網際網路上應用最為廣泛的一種網路協議。所有的WWW檔案都必須遵守這個標準。設計HTTP最初的目的是為了提供一種釋出和接收HTML頁面的方法。使用者通過M0M1系列的模組可使用2種方式進行HTTP的互動:1.使用標準的SOCKET通訊,2.使用HTTP+AT韌體中的HTTP指令進行互動,本文將著重介紹第二種互動方式。

一、HTTP通訊基本設定

1. 設定HTTP伺服器埠和地址

AT+HTTPURL=80,www.baidu.com

功能:設定/查詢HTTP伺服器埠和地址

查詢指令格式:

AT+HTTPURL<CR><LF>

響應:

+ok=<­­­­­­port,address><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPURL=<port,address> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

port:HTTP伺服器埠號

address:HTTP伺服器的IP地址或者域名

2. 設定協議頭POST或者GET的路徑

AT+HTTPPH=/index.html

功能:設定/查詢HTTP協議頭POST或者GET的路徑

查詢指令格式:

AT+HTTPPH<CR><LF>

響應:

+ok=<­­­­­­address><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPPH=<address> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

address:HTTP協議頭POST或者GET的路徑

3. 設定協議頭中Connection屬性

AT+HTTPCN=keep-alive

功能:設定/查詢HTTP協議頭Connection屬性

查詢指令格式:

AT+HTTPCN<CR><LF>

響應:

+ok=<­­­­­­connection><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPCN=<connection> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

connection:HTTP協議頭Connection屬性

4. 設定協議頭中User-Agent屬性

AT+HTTPUA=lwip

功能:設定/查詢HTTP協議頭User agent屬性

查詢指令格式:

AT+HTTPUA<CR><LF>

響應:

+ok=<­­­­­­user agent><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPUA=<user agent> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

user agent:HTTP協議頭User-Agent屬性

5. 設定協議頭中Content-type屬性

AT+HTTPCT=text/html

功能:設定/查詢HTTP協議頭Content-type屬性

查詢指令格式:

AT+HTTPCT<CR><LF>

響應:

+ok=<­­­­­content type><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPCT=<Content type> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

content type:HTTP協議頭Content-type屬性

注意:如果在通訊中,不需要修改HTTP的屬性,則以上屬性只需要進行一次設定即可。否者需要在每次通訊前再設定一次。

二、HTTP資料互動

1.  使用GET方式進行互動:AT+HTTPTP=GET

    使用POST方式進行互動:AT+HTTPTP=POST

功能:設定/查詢HTTP協議頭互動屬性

查詢指令格式:

AT+HTTPTP<CR><LF>

響應:

+ok=<­­­­­­type><CR><LF><CR><LF>

引數: 請參考設定引數

設定指令格式:

AT+HTTPTP=<type> <CR><LF>

響應:

+ok<CR><LF><CR><LF>

引數:

type:HTTP協議頭互動屬性,POST或者GET

2.  開始進行資料互動:

功能:HTTP協議互動

指令格式:

AT+HTTPDT=<len><CR>

響應:

+ok=n[,data]<CR><LF><CR><LF>

引數:

len:傳送資料的長度。範圍:0~2048 位元組 當輸入成功並且連線HTTP伺服器連線成功後返回一個”>”, 串列埠等待 3s 輸入,將串列埠收到資料傳送到HTTP,若兩個位元組之間的間隔大於 10ms 則認為輸入結束將立刻傳送。

n:收到HTTP返回的資料內容長度

data:實際收到的HTTP返回的內容

注:

1. 當返回+ok時,則表明模組在HTTP層通訊已經完成。當返回+ERR時,則表明HTTP通訊失敗。

2. 如果無上傳的資料,則len一定要填寫為0,如:AT+HTTPDT=0

3.當出現>表示HTTP已經連線成功,則成功的上傳了HTTP的包頭

4.只有當n大於0時,data部分才會有資料顯示。當出現+ok=0時,也表示通訊成功,只是HTTP部分沒有資料部分返回。

如果遇到模組使用上的問題,可以進群號為519630819的QQ群進行交流。

相關產品,請關注:shop.mqlinks.com