ESP-AT 系列: HTTP 客戶端功能

簡介

esp-at 實現了一些常用的 AT 指令集, 該指令集可用於 MCU/PC/雲等與 ESP 設備的交互. 目前 esp-at 已經開始支持部分 HTTP 客戶端的功能, 包括 HEAD, GET, POST, PUT, DELETE 等請求方式. 本文基於 ESP-AT 環境來介紹這幾種請求方式的用法.

準備

AT+HTTPCLIENT 命令簡介

命令格式:
AT+HTTPCLIENT=<opt>,<content-type>,[<url>],[<host>],[<path>],<transport_type>,[<data>]

參數:

  • <opt>: 請求方法
    • 1: HEAD 請求方法
    • 2: GET 請求方法
    • 3: POST 請求方法
    • 4: PUT 請求方法
    • 5: DELETE 請求方法
  • <content-type>: 請求數據類型
    • 0: "application/x-www-form-urlencoded"
    • 1: "application/json"
    • 2: "multipart/form-data"
    • 3: "text/xml"
  • [<url>]: HTTP URL, 可選字段
  • [<host>]: 域名或是IP地址, 可選字段
  • [<path>]: HTTP Path, 可選字段
  • <transport_type>: HTTP Client transport
    • 0: HTTP_TRANSPORT_UNKNOWN, 默認值.
    • 1: HTTP_TRANSPORT_OVER_TCP
    • 2: HTTP_TRANSPORT_OVER_SSL
    • [<data>]: 可選字段, 當 POST 請求時, 爲上傳的用戶數據

Note:
如果 <url> 字段沒有設置, <host><path> 參數必須設置.

一. HEAD 請求頭部數據

在這小節, 介紹 HEAD 請求服務端的頭部數據,服務器端以 http://httpbin.org 來做測試, 返回的結果以頭字段的形式呈現.
AT 命令:
AT+HTTPCLIENT=1,0,"http://httpbin.org/get",,,0

AT 返回:
在這裏插入圖片描述

二. GET 請求下載文件

這裏以下載歌曲爲例, 演示 GET 請求下載文件.
演示文件爲網易雲音樂, 網頁鏈接爲 https://music.163.com/#/song?id=1341860760, 文件鏈接爲 http://music.163.com/song/media/outer/url?id=1341860760.mp3

AT 命令如下:

// 恢復出廠設置
AT+RESTORE

// 設置 AT 爲 station 模式
AT+CWMODE=1

// 連接到路由器,mercury_song 爲測試路由器的 ssid, 12345678 測試路由器的 password. 具體設置由所連路由器決定
AT+CWJAP="mercury_song","12345678"

// 通過 GET 請求下載 MP3 音樂
AT+HTTPCLIENT=2,0,"http://music.163.com/song/media/outer/url?id=1341860760.mp3",,,1

AT 返回:
在這裏插入圖片描述

三. POST 請求更改服務器資源

該部分介紹 POST 請求更改服務器資源, 服務器端以 http://httpbin.org 來做測試.

參考 AT 命令如下:
AT+HTTPCLIENT=3,0,"http://httpbin.org/post","httpbin.org","/post",1,"field1=value1&field2=value2"

AT 返回:
在這裏插入圖片描述

四. PUT 請求

PUT 方法和 POST 請求相類似, PUT 請求的參數形式支持 Query String Parameters 方式. 服務器端以 http://httpbin.org 來做測試.

參考 AT 命令:
AT+HTTPCLIENT=4,0,"http://httpbin.org/put?user=foo",,,1

AT 返回:
在這裏插入圖片描述

五. DELETE 請求

DELETE 方法被用來刪除服務器的資源, 該請求方式的確切用法取決於服務器的實現. 服務器端以 https://postman-echo.com/delete 來做測試.

參考 AT 命令:
AT+HTTPCLIENT=5,0,"https://postman-echo.com/delete",,,0

AT 返回:
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章