需求:ESP32 通过
HTTP Get
数据,每次 Get 一包2048 字节
数据后,等待主控 MCU 回复应答,再继续Get
下一包数据。
实现方法 1 :
要求:此方法要求
服务器
端也支持断点续传
- 可以使用 AT+HTTPCLIENT 指令,通过设置
<”http_req_header”>
参数来指定 Get 数据的 Range 。具体说明如下:
- 参考 AT 指令如下:
AT+HTTPCLIENT=2,0,"http://www.baidu.com/img/bdlogo.gif",,,0,"Range: bytes=0-2048"
AT+HTTPCLIENT=2,0,"http://www.baidu.com/img/bdlogo.gif",,,0,"Range: bytes=2048-4096"
实现方法 2 :
- 也可以使用
UART 硬件流控
设置数据缓冲,这样 MCU 端来不及处理命令的时候,可以通过控制UART CTS
管脚来阻止 AT 给 MCU 发数据。
要求:使用
UART 硬件流控
的方式,需要主 MCU 控制 AT 设备的 CTS 管脚是拉低
或拉高
;
- AT 设备这边需要接 UART 流控管脚
- 通过 AT+UART_CUR 命令可使能 UART 流控