如何使用 ESP32 AT 固件设置 HTTP Get 数据断点续传或分段续传?

文章介绍了两种在ESP32上实现HTTPGet数据的方法。第一种方法利用AT+HTTPCLIENT指令和HTTP的Range头进行断点续传,要求服务器支持。第二种方法依赖UART硬件流控,通过MCU控制CTS管脚来暂停或恢复数据传输,确保MCU能及时处理数据。
摘要由CSDN通过智能技术生成

需求: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 流控
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值