ESP-01S如何免烧录配网?
【小白求教】ESP-01S每次都是烧录器写入WIFI账号和密码,万一更换WIFI环境或者WIFI密码修改就没法使用,必须重新烧入WiFi信息,请教下有什么方式可以解决,小白,非常感谢。一键配网,自动保存重连,参考网上给的代码,试过ok。#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
ESP8266WiFiMulti wifiMulti;
bool autoConfig()
{
WiFi.begin();
for (int i = 0; i < 20; i++)
{
int wstatus = WiFi.status();
if (wstatus == WL_CONNECTED)
{
Serial.println("AutoConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.printDiag(Serial);
return true;
//break;
}
else
{
Serial.print("AutoConfig Waiting......");
Serial.println(wstatus);
delay(1000);
}
}
Serial.println("AutoConfig Faild!" );
return false;
//WiFi.printDiag(Serial);
}
void smartConfig()
{
WiFi.mode(WIFI_STA);
Serial.println("\r\nWait for Smartconfig");
WiFi.beginSmartConfig();
while (1)
{
Serial.print(".");
if (WiFi.smartConfigDone())
{
Serial.println("SmartConfig Success");
Serial.printf("SSID:%s\r\n", WiFi.SSID().c_str());
Serial.printf("PSW:%s\r\n", WiFi.psk().c_str());
WiFi.setAutoConnect(true);// 设置自动连接
break;
}
delay(1000); // 这个地方一定要加延时,否则极易崩溃重启
}
}
void setup(){
Serial.begin(9600);
Serial.println("Wait for Smartconfig");
if (!autoConfig())
{
Serial.println("Start module");
smartConfig();
}
pinMode(2, OUTPUT);
}
void loop(){
digitalWrite(2,HIGH);
delay(1000);
digitalWrite(2,LOW);
delay(1000);
}
8266例程自带esptouch配网
如果是问点灯,见apconfig、esptouch示例及文档 本帖最后由 mossan 于 2021-1-30 23:39 编辑
IRMQTTServer精简的设备热点web配网和固件更新esp8285的例子(PlatformIO Arduino),更新的固件要小于600k。
1、在热点中找到ESP+xxxxxxxx(8位数字)的无密码热点,选中连接;
2、访问192.168.4.1(手机会自动连接到设备热点web页面),出现WiFiManger界面,Configure WiFi,更新固件需要设置管理密码。
阿里云生活物联网用这个例子
https://www.arduino.cn/forum.php?mod=redirect&goto=findpost&ptid=101975&pid=599094&fromuid=228548 推荐使用micropython固件,利用webrepl fgdiy 发表于 2021-2-5 13:34
一键配网,自动保存重连,参考网上给的代码,试过ok。
感谢 有用
页:
[1]