如何使用 AT+WEBSERVER 指令实现自定义的 Webserver html 网页配网

开启 AT 固件中的 Webserver 指令FS 指令支持

乐鑫官网发布的默认通用 AT 固件不支持 webserver 配网功能, 需要用户自己搭建 esp-at 环境,并在 sdkconfig 中开启 webserver AT 指令FS 指令的支持, 如下图所示:

在这里插入图片描述

测试 AT 固件默认提供的 Webserver 配网功能

AT 固件中默认使用的配网网页是 index.html, 我们仅需要找到 AT 固件中的 index.html 的路径, 然后将其重新写入即可。

在实现新的自定义 Webserver 网页配网之前, 我们先测试下 AT 固件中默认的 Webserver 配网网页, 指令如下:

AT+CWMODE=3                          //设置 wifi 模式为 sta+ap 共存AT+CWSAP="pos_softap","",7,0,10,0    //设置 softap 的信息AT+CIPAP?                           //查询 ESP 设备 Wifi  AP  模式的 IP 地址AT+CIPMUX=1                          //设置多连接AT+WEBSERVER=1,80,25                //开启 werbserver 配网功能

测试时,手机端需要先接入名为 pos_softap 的热点中, 如下所示:

在这里插入图片描述

接入成功后, 手机端会获取到模块 WiFi AP 分配的 ip 地址, 一般是 192.168.4.X, 对应建立连接的日志如下:

+STA_CONNECTED:"c2:4f:11:dc:cc:94"+DIST_STA_IP:"c2:4f:11:dc:cc:94","192.168.4.2"

此时手机已经和模块处于同一局域网内了。

通过 AT+CIPAP? 指令可查询到 ESP 模组 WiFi AP 模式默认的 IP 地址为 192.168.4.1 , 因此手机端仅需要在浏览器输入192.168.4.1,进入到网页进行配网即可, 如下所示:

在这里插入图片描述

输入待配网的 ssidpassword 之后, 点击开始配网即可。配网完成,设备端将打印如下日志:

connect config finish+WEBSERVERRSP:1wifi disconnected, rc:0WIFI CONNECTED
BLUFI BLE is not connected yet
WIFI GOT IP+WEBSERVERRSP:2

实现自定义 Webserver html 网页配网功能


上述我们已经完成了 AT 固件默认提供的原始的 Webserver 配网功能的测试, 现在我们再对自定义的 Webserver 网页来进行配网测试

首先,更新 AT 固件默认的 index.html 文件为自定义的 Webserver 网页的 index.html 文件。实现该功能用到的 AT 指令如下:

AT+FS=0,4,"."       //查询当前文件系统下面挂载了哪几个文件AT+FS=0,1,"index.html",0,3048     //重新写入新的 html 文件, 从偏移地址 0 开始写入,写入长度为 3048 字节

注意:这里的偏移地址是新自定义的文件(index.html)里的偏移地址,比如你设了 0 就是从这个文件的 0 地址开始写,不是 FS 分区的偏移地址

当设备端返回 > 日志后,将等待写入 index.html 。为方便测试,在串口调试工具界面,我们可以打开待写入的 index.html 文件来进行测试。

在这里插入图片描述

之后使用相同的指令来测试自定义的 Webserver 配网

AT+CWMODE=3                          //设置 wifi 模式为 sta+ap 共存AT+CWSAP="pos_softap","",7,0,10,0    //设置 softap 的信息AT+CIPAP?                           //查询 ESP 设备 Wifi  AP  模式的 IP 地址AT+CIPMUX=1                          //设置多连接AT+WEBSERVER=1,80,25                //开启 werbserver 配网功能

测试方式与上述 "测试 AT 固件默认提供的 Webserver 配网" 方式相同,不再赘述。

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

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

相关文章

【Spring Boot】构建RESTful服务 — 构建RESTful应用接口

构建RESTful应用接口 RESTful架构是目前最流行的互联网软件架构规范,是Web API(应用编程接口)的大趋势和主流规范,了解了RESTful的众多优点之后,接下来一步一步地学习如何使用Spring Boot构建RESTful Web API。 1.Sp…

ThinkPHP6企业OA办公系统

有需要请加文章底部Q哦 可远程调试 ThinkPHP6企业OA办公系统 一 介绍 勾股OA基于ThinkPHP6开发,前端Layui,数据库mysql,是一款实用的企业办公系统。可多角色登录,集成了系统设置、人事管理、消息管理、审批管理、日常办公、客户…

解决Qt的列表加载大量数据卡顿的问题

问题概述 本人在使用QListView插入大量数据时,界面卡顿十分严重。数据量大概只有上千左右,但是每个Item的内容比较多。当数据不停地插入一段时间后,卡顿到鼠标的移动都有点困难。 解决思路 QListView是典型的MVC思想的产物。界面呈现出来的数…

python——案例11:数值交换

案例11:数值交换xinput(输入一个数值赋值给x:) yinput(输入一个数值赋值给y:)tempx #创建临时变量,以此变量为基础进行逐次交换 xy ytemp print(交换后的X的值是:{}.format(x)) # print(交换后的Y的值是:{}.format(y)) #

RabbitMQ学习——发布订阅/fanout模式 topic模式 rabbitmq回调确认 延迟队列(死信)设计

目录 引出点对点(simple)Work queues 一对多发布订阅/fanout模式以登陆验证码为例pom文件导包application.yml文件rabbitmq的配置生产者生成验证码,发送给交换机消费者消费验证码 topic模式配置类增加配置生产者发送信息进行发送控制台查看 rabbitmq回调确认配置类验…

Flutter:屏幕适配

flutter_screenutil flutter_screenutil是一个用于在Flutter应用程序中进行屏幕适配的工具包。它旨在帮助开发者在不同屏幕尺寸和密度的设备上创建响应式的UI布局。 flutter_screenutil提供了一些用于处理尺寸和间距的方法,使得开发者可以根据设备的屏幕尺寸和密度…

Spring(11) Bean的生命周期

目录 一、简介二、Bean的流程1.BeanDefinition2.Bean 的生命周期 三、代码验证1.User 实体类2.MyBeanPostProcessor 后置处理器3.SpringConfig 扫描包配置4.UserTest 测试类5.测试结果6.模拟AOP增强 三、总结 一、简介 首先,为什么要学习 Spring 中 Bean 的生命周期…

C++项目:在线五子棋对战网页版--session管理模块开发

session 在WEB开发中,HTTP协议是⼀种⽆状态短链接的协议,这就导致⼀个客⼾端连接到服务器上之后,服务器不知道当前的连接对应的是哪个用户,也不知道客⼾端是否登录成功,这时候为客⼾端提所有服务是不合理的。因此&am…

Golang bitset 基本使用

安装: go get github.com/bits-and-blooms/bitset下面代码把fmtx换成fmt就行 //------------基本操作------------//构建一个64bit长度的bitsetb : bitset.New(64)//放入一个数b.Set(10)fmtx.Println("add-10:", b.DumpAsBits()) // 0000000…

MyBatisX自动和数据库的字段关联

先下个插件 右键数据库,点MybatisX-Generator 在根据自己需求勾选 actual column:保证数据库的驼峰命名生效

idea模板的使用(配置xml文件模板)

1. 问题的引出 我们在日常项目中可以发现,sql映射文件和mybatis主配置文件,以及application.yml文件中有很多固定不变的内容,为了方面使用,所以可以把这些xml文件设置为模板 2. 创建模板的步骤 按照图片一步一步进行即可 点击…

JavaScript之事件的转控、反控、函数式编程

文章目录 效果图htmlJavaScript解析 效果图 html <!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>函…