AT 工程:https://github.com/espressif/esp-at
AT 文档:https://docs.espressif.com/projects/esp-at/zh_CN/latest/
简介
esp-at 实现了一些常用的 AT 指令集, 该指令集可用于 MCU/PC/云等与 ESP 设备的交互. 目前 esp-at 已经开始支持部分 HTTP 客户端的功能, 包括 HEAD, GET, POST, PUT, DELETE 等请求方式. 本文基于 ESP-AT 环境来介绍这几种请求方式的用法.
准备
-
开启
AT+HTTPCLIENT功能make menuconfig—>Component config—>AT—>AT http command support选中即可, 如下图所示.

AT+HTTPCLIENT 命令简介
命令格式:
AT+HTTPCLIENT=<opt>,<content-type>,[<url>],[<host>],[<path>],<transport_type>,[<data>]
参数:
<opt>: 请求方法- 1:
HEAD请求方法 - 2:
GET请求方法 - 3:
POST请求方法 - 4:
PUT请求方法 - 5:
DELETE请求方法
- 1:
<content-type>: 请求数据类型- 0:
"application/x-www-form-urlencoded" - 1:
"application/json" - 2:
"multipart/form-data" - 3:
"text/xml"
- 0:
[<url>]:HTTP URL, 可选字段[<host>]: 域名或是IP地址, 可选字段[<path>]:HTTP Path, 可选字段<transport_type>:HTTP Client transport0:HTTP_TRANSPORT_UNKNOWN, 默认值.1:HTTP_TRANSPORT_OVER_TCP2: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 返回:

本文介绍ESP-AT环境下的HTTP客户端功能,包括HEAD、GET、POST、PUT、DELETE等请求方式的使用方法,以及如何在ESP设备上实现这些功能。
1305

被折叠的 条评论
为什么被折叠?



