ESP32在IDF v5.3.1版本下实现一键WEB配置WIFI联网

ESP32在IDF v5.3.1版本下实现一键WEB配置WIFI联网

一、背景

        虽然乐鑫官方提供了EspTouch软件来实现一键配置ESP32去连接目标AP实现联网,但是终究还是没有使用WEB网页后台实现一键配置WIFI联网来的方便高效,且跨平台。

二、实现思路

       ESP32在未连接 WiFi 时自动开启热点 AP →用户浏览器访问 ESP32 页面 →用户 输入 SSID/密码 → ESP32自动连接用户WEB设置的目标WiFi → 连接成功保存配置到NVS → 下次启动先检查和读取NVS里面的WIFI配置,无需配网。 

三、实现流程

1.ESP32实现开启AP热点模式

        这个部分我已经在其他博客已经详细实现,请移步查看:

ESP32 在IDF_V5.3.1版本下实现AP无线热点模式!(带WIFI事件处理)_esp32 ap模式-ZEEKLOG博客https://blog.ZEEKLOG.net/qq_34885669/article/details/145736280?spm=1001.2014.3001.5502

2.ESP32搭建Web Server实现WEB配网

(1)开启esp32的menuconfig里面的http相关配置

        HTTP Request Header 和 HTTP URI 长度根据需要更改,以保证HTTP的报头发出不报错。目前我项目设置1024足够。

        还有就是在工程的CmakeList里面我们还需要添加 mdns和mbedtls 2个依赖,以确保后面使用http创建服务端的时候不会出现问题:

(2)WEB网页的实现和调用

       网页文件的内容本质上是很长的字符串,那最简单的方法就是定义一个字符串数组,将数组内容填充为网页内容。例如:

const char index_string[] = "<!DOCTYPE html> \ <head> \ <meta charset=\"utf-8\"> \ <title>wifi config</title> \ </head>";

        显然对于复杂一点的网页,这种方式显然就不太方便。要是能直接将用html工具设计生成的.htm格式的文件直接编译那不是更好了。这就是另外一种比较推荐的方式:使用 embed_files 将网页嵌入固件。

        ESP-IDF 的 embed_files会在构建时把指定文件原样打包到固件中,生成 C 字节数组,并提供符号(链接符号)让 C 程序直接访问。

第一步:编写WEB网页的html文件

        我们需要新建一个WEB网页的html文件,用于编写存放我们WEB网页的html网页文件:例如我的命名为wifi.html。

        备注:至于网页怎么写,我也不怎么会,我也是GPT的。

我的 wifi.html 文件:

<!DOCTYPE html> <html lang='en'> <head> <meta charset='UTF-8'> <meta name="viewport" content="width=device-width,initial-scale=1.0,maximum-scale=1.0,minimum-scale=1.0,user-scalable=no"> <title>ESP32 WEB CONFIG STA</title> <style type="text/css"> * { margin: 0; padding: 0; } html { height: 100%; } h2 {text-align: center;color: #fff;line-height: 2.2;} body { height: 100%; background-color: #1F6F4A; 50% 50% no-repeat; background-size: cover;} .dowebok { position: absolute; left: 50%; top: 30%; width: 380px; height: 500px; margin: -200px 

Read more

【前端实战】如何让用户回到上次阅读的位置?

【前端实战】如何让用户回到上次阅读的位置?

目录 【前端实战】如何让用户回到上次阅读的位置? 一、总体思路 1、核心目标 2、涉及到的技术 二、实现方案详解 1、基础方法:监听滚动,记录 scrollTop(不推荐) 2、Intersection Observer + 插入探针元素 3、基于 URL Hash 锚点跳转 三、总结 1、不同方案间对比总结 2、结语         作者:watermelo37         ZEEKLOG万粉博主、华为云云享专家、阿里云专家博主、腾讯云、支付宝合作作者,全平台博客昵称watermelo37。         一个假装是giser的coder,做不只专注于业务逻辑的前端工程师,Java、Docker、Python、LLM均有涉猎。 --------------------------------------------------------------------- 温柔地对待温柔的人,包容的三观就是最大的温柔。 -------------------------------------------------------------

前端八股文面经大全:MetaAPP前端一面(2026-03-03)·面经深度解析

前端八股文面经大全:MetaAPP前端一面(2026-03-03)·面经深度解析

前言 大家好,我是木斯佳。 在这个春节假期,当大家都在谈论返乡、团圆与休息时,作为一名技术人,我的思考却不由自主地转向了行业的「冬」与「春」。 相信很多人都感受到了,在AI浪潮的席卷之下,前端领域的门槛在变高,纯粹的“增删改查”岗位正在肉眼可见地减少。曾经热闹非凡的面经分享,如今也沉寂了许多。但我们都知道,市场的潮水退去,留下的才是真正在踏实准备、努力沉淀的人。学习的需求,从未消失,只是变得更加务实和深入。 这个专栏的初衷很简单:拒绝过时的、流水线式的PDF引流贴,专注于收集和整理当下最新、最真实的前端面试资料。我会在每一份面经和八股文的基础上,尝试从面试官的角度去拆解问题背后的逻辑,而不仅仅是提供一份静态的背诵答案。无论你是校招还是社招,目标是中大厂还是新兴团队,只要是真实发生、有价值的面试经历,我都会在这个专栏里为你沉淀下来。 温馨提示:市面上的面经鱼龙混杂,甄别真伪、把握时效,是我们对抗内卷最有效的武器。 在这个假期,让我们一起充电,为下一个技术春天做好准备。 面经原文内容 📍面试公司:MetaAPP

计算机毕业设计springboot礼物商城的设计与实践 基于SpringBoot的个性化礼品电商平台的设计与实现 基于Java Web的创意礼物在线销售系统的设计与开发

计算机毕业设计springboot礼物商城的设计与实践 基于SpringBoot的个性化礼品电商平台的设计与实现 基于Java Web的创意礼物在线销售系统的设计与开发

计算机毕业设计springboot礼物商城的设计与实践917jxi80(配套有源码 程序 mysql数据库 论文) 本套源码可以在文本联xi,先看具体系统功能演示视频领取,可分享源码参考。 1. 随着消费升级和社交需求的多元化发展,礼品经济正迎来前所未有的增长机遇。传统礼品采购模式存在选品单一、缺乏个性、购买不便等痛点,难以满足当代消费者对情感表达和独特体验的追求。与此同时,电子商务技术的成熟为礼品行业数字化转型提供了坚实基础,个性化定制与线上购物的深度融合成为行业发展的新趋势。本系统正是在此背景下应运而生,旨在构建一个集礼品展示、个性定制、便捷交易于一体的综合性电商平台,通过技术手段赋能传统礼品行业,提升用户送礼体验,推动礼品消费向品质化、个性化方向发展。 本系统采用SpringBoot作为核心开发框架,结合Vue前端技术实现前后端分离架构,选用MySQL数据库存储业务数据,B/S架构确保系统的可访问性和易维护性。系统围绕用户购物体验和管理者运营需求展开设计,涵盖从商品浏览到订单完成的全流程业务闭环。前台为用户提供礼品信息浏览、个性化搜索筛选、购物车管理、在线支付、订单跟踪