完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
在某些场景,我们可能需要在手机上或者其他移动终端访问 ESP32 的数据,这个时候我们需要在手机上展示 ESP32 设备的相关信息,这个时候可以用 APP 在手机上展示数据,或者在手机浏览器中打开存储在 ESP32 上的网页。或者其他的方式。
这篇文章我们将介绍第二种方式。在 ESP32 上存储网页文件,将 ESP32 做为一个简单的 WebServer。 工作流程:(第一种方式)
filetoarray 工具 使用这个工具将 .gz 文件转换为包含十六进制数组和其长度的头文件。 源码如下: #include #include HTML 文件到头文件 使用方式:
使用方式:
第一种方式: #include "index.h"static esp_err_t index_handler(httpd_req_t *req){ httpd_resp_set_type(req, "text/html"); httpd_resp_set_hdr(req, "Content-Encoding", "gzip"); return httpd_resp_send(req, (const char *)index_html_gz, index_html_gz_len);}第二种方式: static esp_err_t index_handler(httpd_req_t *req){ extern const unsigned char index_html_gz_start[] asm("_binary_index_html_gz_start"); extern const unsigned char index_html_gz_end[] asm("_binary_index_html_gz_end"); size_t index_html_gz_len = index_html_gz_end - index_html_gz_start; httpd_resp_set_type(req, "text/html"); httpd_resp_set_hdr(req, "Content-Encoding", "gzip"); return httpd_resp_send(req, (const char *)index_html_gz_start, index_html_gz_len);}#include "app_httpd.h"#include "esp_http_server.h"void app_httpd_main() { httpd_handle_t camera_httpd = NULL; httpd_config_t config = HTTPD_DEFAULT_CONFIG(); httpd_uri_t index_uri = { .uri = "/", .method = HTTP_GET, .handler = index_handler, .user_ctx = NULL }; ESP_LOGI(TAG, "Starting web server on port: '%d'", config.server_port); if (httpd_start(&camera_httpd, &config) == ESP_OK) { httpd_register_uri_handler(camera_httpd, &index_uri); }} |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
892 浏览 0 评论
1101 浏览 1 评论
920 浏览 1 评论
2148 浏览 1 评论
3441 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 06:01 , Processed in 0.552863 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号