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 返回:
在这里插入图片描述

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