验证可用的ESP32/8266配网方式,开源代码,web配网,smartconfig配网

web配网

设备内做了个小web服务器通过网页交换SSID和PWD。这个方式比较友好,不依赖外部app或小程序,保密性更好,产品可用性更好(苹果等个别手机不能打开配网页面可直接浏览器登陆192.168.4.1),操作方法:

  1. 连接开放Ap,
  2. 强制门户配网,

  1. 或登陆:192.168.4.1,
  2. 设置SSID,password,
  3. 连接网络,
  4. 关闭配网AP。
  5. 长按GPIO0 3秒以上清除配网信息,
  6. 重新配网。

web配网代码

#include <WiFi.h>
#include <DNSServer.h>
#include <WebServer.h>
#include <ESPmDNS.h>      //用于设备域名 MDNS.begin("esp32")
#include <esp_wifi.h>     //用于esp_wifi_restore() 删除保存的wifi信息




//************************************AP配网***********************************************
const byte DNS_PORT = 53;                  //设置DNS端口号
const int webPort = 80;                    //设置Web端口号
const int resetPin = 0;                    //设置重置按键引脚,用于删除WiFi信息
const int LED = 2;                         //设置LED引脚
const char* AP_SSID  = "ESP32-4_1";    //设置AP热点名称
//const char* AP_PASS  = "";               //设置AP热点密码
const char* HOST_NAME = "MY_ESP32";       //设置设备名
String scanNetworksID = "";                //用于储存扫描到的WiFi ID
int connectTimeOut_s = 15;                 //WiFi连接超时时间,单位秒
IPAddress apIP(192, 168, 4, 1);            //设置AP的IP地址
String wifi_ssid = "";                     //暂时存储wifi账号密码
String wifi_pass = "";                     //暂时存储wifi账号密码

//定义根目录首页网页HTML源代码
#define ROOT_HTML  "<!DOCTYPE html><html><head><title>WIFI Config by WWW.BR1000.CN</title><meta name=\"viewport\" content=\"width=device-width, initial-scale=1\"></head><style type=\"te
  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在上一期:高性价比WIFI图传方案快速入门教程 我们可以看到确实这个图传模块可以实现高性价比的图传方案,但是问题又来了,上一期的wifi摄像头连上的是局域的热点,并且局域的热点和密码是写死在程序里面的,所以让这个图传模块连上络似乎比较头疼。 有一篇CSDN的博客论述了WIFI模块各种常见的方式说明及其比较,证明了最好的方式WEB,反正个人觉得微信很麻烦,因为要使用微信,没有微信就没有办法了。在这一期项目中:将要实现一个WEB方式,通过ESP32-CAM先创建一个知道账号和密码的AP热点“daodanjishui”,然后用手机WIFI通过输入密码asdfghjkl连上这个热点,再用该手机打浏览器,在浏览器址输入栏输入192.168.4.1(热点的IP是固定的,如果想在局域实现DNS域名解析,请看我:ESP32-CAM、ESP8266、WIFI、蓝牙、单片机、热点创建嵌入式DNS服务器(姐妹篇)),输入址之后就可以看到保存在ESP32的主页(如果想编写监控主页的话,请看我:ESP32-CAM、ESP8266、WIFI、蓝牙、摄像头设备实现嵌入式服务器点灯(原理图+源码)),在主页输入要链接的无线WIFI账号和密码 ,点击连接即可。连上Internet之后,自然可以轻松地发送get请求,最后请求"心知天气"的服务器(如果想自己搭建私人服务器的话,请看我:ESP8266作为客户端发送get请求和post请求的电路方案设计(原理图+程序))返回北京的天气预报(如果想实现私人天气报警的话,请看我:基于stm32、Android和Html的温湿度监控系统的设计(原理图+源码);如果想实现上传天气参数给私人服务器的话,请看我:ESP8266上传DHT11数据给私人javaweb服务器实现页查询数据的电路方案(电路图+源码))给ESP32模块,最后ESP32-CAMM模块通过串口打印出来天气情况(如果想把串口打印的消息输出到页,请看我:ESP32-CAM高性价比温湿度监控系统 和 ESP32-CAM无线监控智能关的设计与实现)。 下面是实际演示过程: (1)模块上电,通过ESP32-CAM先创建一个知道账号和密码的AP热点“daodanjishui”,再输入密码连上去。 (2)打该手机的随便一个浏览器,在浏览器输入IP:192.168.4.1(这个热点IP是不会变的,所以不用看串口打印的IP地址就可以写对),确定就跳转到一个主页。 (3)在主页输入需要连接路由器wifi和密码,点击连接 (4)如果密码正确,ESP32会在串口打印出有关络信息(箭头1),并且利用该络发送get请求(箭头2)。用户可以修改为LED指示灯也是没有问题的。 (5)互联上的“心知天气”服务器收到该ESP32-CAM发送的get请求,就会把json格式的天气预报信息返回给ESP32-CAM,ESP32-CAM再将该信息打印到串口上(不想让程序复杂化,这里我没有做json字符串解析) 项目真源码截图: 总结:这套代码可以学到图传摄像头ESP32-CAM WEB、AP模式发布主页到手机浏览器、嵌入式服务器获取表单数据、STA模式连上Internet、发送GET请求给远程服务器获取天气预报。免费版的代码是没有注释的,收费版是有详细注释的,随君选择。本项目涉及到的有关项目都是原创为主,不是什么51单片机点灯之类程序,挑选的是比较新的前沿的设备进行创作。程序源码都经过严格测试,教程也详细到位,从而保证了含金,也欢迎广大电子爱好者和同学们采用相关的方案做电子设计、毕业设计或diy创作。 在本项目中放入的快捷链接,同样是精心准备的电路设计方案,都是软件和硬件结合联合调试的结晶,欢迎买家免费观看和了解。 后期将加入一些娱乐、玩耍和科幻创作的元素,敬请期待。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值