ESP32-Web-Server编程-通过 Web 下载文本

ESP32-Web-Server编程-通过 Web 下载文本

概述

当你希望通过网页导出设备的数据时,可以在 ESP32 上部署一个简单的文件 Web 服务器。

需求及功能解析

本节演示如何在 ESP32 上部署一个最简单的 Web 服务器,来接收浏览器或者 wget 指令请求文件数据。

示例解析

目录结构

├── CMakeLists.txt
├── main
│   ├── CMakeLists.txt
│   └── main.c                 User application
└── README.md                  This is the file you are currently reading
  • 目录结构主要包含主目录 main。

前端代码

该示例非常简单,不需要前端文件。

后端代码

后端代码建立了一个 URL 为 /record 的 bin_get_handler(),当用户访问该 URL 时,将执行该 handler 函数:

httpd_uri_t record_file_uri = {.uri = "/record",.method = HTTP_GET,.handler = bin_get_handler,.user_ctx = NULL};

bin_get_handler()中,将数组中的数据发送到浏览器,并并命为 record.bin

char data_buf[] = {0x00, 0x01, 0x02, 0x03};httpd_resp_set_type(req, "application/octet-stream");
httpd_resp_set_hdr(req, "Content-Disposition", "inline; filename=record.bin"); // default name is record.bin
httpd_resp_set_hdr(req, "Access-Control-Allow-Origin", "*");if (res == ESP_OK) {res = httpd_resp_send_chunk(req, (const char *)data_buf, sizeof(data_buf)/sizeof(char));

示例效果

在网页建立后,输入类似 http://192.168.47.100/record 的网址,将自动下载数据内容为 record.bin:

在这里插入图片描述

讨论

1)通过网页下载设备上的数据,这种无前端文件的 Web 服务器非常有用。相比串口、这种下载速度快,使用更便捷。

总结

1)本节主要是介绍通过 ESP32 Web Server 实现在网页端下载设备上的数据为一个文件。

资源链接

1)ESP32-Web-Server ESP-IDF系列博客介绍
2)对应示例的 code 链接 (点击直达代码仓库)

3)下一篇:

(码字不易感谢点赞或收藏)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/247268.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

layui+ssm实现数据批量删除

layuissm实现数据的批量删除 //数据表格table.render({id: adminList,elem: #adminList,url: ctx "/admin/getAdminList", //数据接口cellMinWidth: 80,even: true,toolbar: #toolbarDemo,//头部工具栏limit: 10,//每页条数limits: [10, 20, 30, 40],defaultToolba…

JVM之jps虚拟机进程状态工具

jps虚拟机进程状态工具 1、jps jps:(JVM Process Status Tool),虚拟机进程状态工具,可以列出正在运行的虚拟机进程,并显示虚拟机执 行主类(Main Class,main()函数所在的类)的名称&#xff0c…

应急响应-挖矿病毒处理

应急响应-挖矿病毒处理 使用top​命令实时监控占用CPU资源的是哪个进程,结果可以看到是2725这个进程。 ​​ 再使用netstat -anltp命令查看网络连接状态,定位到对应的PID号后,就拿到了远程地址 ​​ 拿到远程IP,结果是VPN入口…

链表【3】

文章目录 🐳23. 合并 K 个升序链表🐟题目🐬算法原理🐠代码实现 🐷25. K 个一组翻转链表🐖题目🐽算法原理🍧代码实现 🐳23. 合并 K 个升序链表 🐟题目 题目链…

PoE技术详解

标准的五类网线有四对双绞线,IEEE 802.3af和IEEE 802.3at允许两种用法:通过空闲线对供电或者数据线对供电。IEEE 802.3bt允许通过空闲线对供电、通过数据线对供电或者空闲线对和数据线对一起供电,如图16.1所示。 图 16.1 PoE供电线对 当在一…

【无标题】广东便携式逆变器的澳洲安全 AS/NZS 4763

便携式逆变器的澳洲安全 AS/NZS 4763 便携式逆变器申请澳大利亚和新西兰SAA认证的时候,需要按照澳洲*用标准AS/NZS 4763: 2011进行测试。立讯检测安规实验室有澳洲AS/NZS 4763: 2011资质授权,为国内多家便携式逆变器客户成功申请澳洲SAA证书 便携式户外…

GPIO的使用--点亮外接小灯泡--开关控制

目录 一、确定引脚接线模式 接线时注意以下几点: 二、外接小灯泡引脚连接(以F12引脚为例) 1.正极接GPIOF3.3v电压引脚、负极接F12 2.正极接GPIOF3.3v电压引脚、负极接F12 三、问题检查 一、确定引脚接线模式 小灯泡有两级:正极、负极,…

【每日一题】确定两个字符串是否接近

文章目录 Tag题目来源题目解读解题思路与实现方法一:计数 其他语言python3 写在最后 Tag 【计数】【字符串】 题目来源 1657. 确定两个字符串是否接近 题目解读 你可以进行以下两种操作: 操作 1:交换任意两个位置的字符;操作 …

【android开发-05】android中activity的启动模式介绍

1,活动的启动模式 在 Android 中,Activity 的启动模式主要有以下四种: 默认启动模式(Normal):这是默认的启动模式,基本上就是标准的启动模式。当一个 Activity 启动后,它将会被压入…

Rust 语言:认识 Rust

本心、输入输出、结果 文章目录 Rust 语言:认识 Rust前言Rust的特点Rust LOGO Rust 在IT行业的应用前景Rust 是一门系统级编程语言相关链接花有重开日,人无再少年实践是检验真理的唯一标准 Rust 语言:认识 Rust 编辑:简简单单 Onl…

每日3道PWN(第一天)

环境准备 我现在用的是kali 现阶段工具:checkesc、IDA、比较完善的python环境 下载工具的话,我这里不提供了 buuctf——test_your_nc1 参考wp: BUUCTF PWN-----第1题:test_your_nc_buuctf test_your_nc-CSDN博客 查看的资料:…

关于使用百度开发者平台处理语音朗读问题排查

错误信息:"convert_offline": false, "err_detail": "16: Open api characters limit reach 需要领取完 识别和合成都要有