Hi all,
I have an ESP32 receiving information from another ESP32 equipped with sensors. Below is the code for the receiving ESP:
“`C++
#include
#include
const char* ssid = “XXXX”;
const char* password = “XXXX”;
const int buttonPin = 25;
const int ledPin = 23;
String message = “0”;
String message_serveur = “”;
int mem1 = 0;
int mem2 = 0;
AsyncWebServer server(80);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println(“Connecting to WiFi..”);
}
Serial.println(WiFi.localIP());
pinMode(buttonPin, INPUT_PULLUP);
pinMode(ledPin, OUTPUT);
server.on(“/get”, HTTP_GET, [](AsyncWebServerRequest * request) {
if (request->hasParam(“data”))
{
message = request->getParam(“data”)->value();
}
if (message.substring(0,1) == “1”) {
message_serveur = message;
}
request->send(200, “text/plain”, message_serveur);
});
server.begin();
}
void loop() {
if (message.substring(0,1) == “1”) {
digitalWrite(ledPin, HIGH);
mem1 = 0;
if (mem2 == 0){
Serial.println(“Alarm”);
String num_alarm= message.substring(7,14);
Serial.println(num_alarm);
String voltage= message.substring(2,6);
Serial.print(voltage);
Serial.println(” v”);
mem2 = 1;
}
}
if (digitalRead(buttonPin) == LOW) {
delay(100);
if (digitalRead(buttonPin) == LOW) {
digitalWrite(ledPin, LOW);
if (mem1 == 0) {
Serial.println(“Reset”);
mem1 = 1;
mem2 = 0;
}
}
}
}
“`
It works, but I have to hardcode the SSID and password in the program. I would like to integrate WiFiManager to be able to select a network at startup. Is it possible, and how should I proceed?
@abhishek_awasthi_tech
yea wifi manager is a easy to use lib .. the basic instruction is following
#include
WiFiManager wifiManager;
void setup() {
// Initialize the BUILTIN_LED pin as an output
Serial.begin(115200);
wifiManager.autoConnect(“XYZ”);
Serial.println(“connected :)”);
WiFi.softAPdisconnect (true);
}
void reConnect(){
Serial.println(“not connected :)”);
wifiManager.resetSettings();
wifiManager.autoConnect(“XYZ”);
Serial.println(“connected :)”);
WiFi.softAPdisconnect (true);
}
void loop() {
if (!client.connected()) {
reconnect();
}
}
its just the skeleton code … you test the lib is working for you first and then integrate as per use … the basic idea is when this autoconnct function is called then it initiates a local webserver with the given ssid to connect .,,, in the above case no password required to connect to it ,,, next you may connect to the XYZ wifi and check for manage router option or sometime it will ask the user to setup … a basic setup page will open .. fill your credentials there and press save … once the connection is successful it uses the same credentials to connect next time onwards, hope the insight helps ..
BTW i use this for my personal esp8266 based local iot devices …<:1010:1140054754790228160> just you need to be careful about the wifi connection status with the esp while configuring as .. what happens with me is that my phone disconnects from esp access point as that does not have internet …
CONTRIBUTE TO THIS THREAD