User Tools

Site Tools


nodemcuwifi

Create nodemcuwifi.h and include it in main source code, also add these defined entry before the “include” in the main source code:

#define WIFI_SSID "ssid"
#define WIFI_PASSWORD "password"
#include "nodemcuwifi.h"
#include <ESP8266WiFi.h>
#include <Ticker.h>

bool nodemcuwificonnected = false;
unsigned long startAttemptTime; 

WiFiEventHandler wifiConnectHandler;
WiFiEventHandler wifiDisconnectHandler;
Ticker wifiReconnectTimer;

void onWifiConnect(const WiFiEventStationModeGotIP& event);
void onWifiDisconnect(const WiFiEventStationModeDisconnected& event);

void initializenodemcuwifi() {
   wifiConnectHandler = WiFi.onStationModeGotIP(onWifiConnect); 
   wifiDisconnectHandler = WiFi.onStationModeDisconnected(onWifiDisconnect); 

   WiFi.disconnect();
   Serial.println("Connecting to Wi-Fi...");
   WiFi.begin(WIFI_SSID, WIFI_PASSWORD);    
   startAttemptTime = millis();
   nodemcuwificonnected = false;
   while (WiFi.status() != WL_CONNECTED && millis() - startAttemptTime < 10000) delay(500); // Small delay to avoid spamming 
}

void onWifiConnect(const WiFiEventStationModeGotIP& event) {
  Serial.println("Connected to Wi-Fi.");
  Serial.println(""); 
  Serial.println("WiFi connected"); 
  Serial.print("IP address: "); 
  Serial.println(WiFi.localIP()); 
  nodemcuwificonnected = true;
}

void onWifiDisconnect(const WiFiEventStationModeDisconnected& event) {
  Serial.println("Disconnected from Wi-Fi.");
  wifiReconnectTimer.once(2, initializenodemcuwifi);
  Serial.println(""); 
  Serial.println("NO WIFI"); 
  nodemcuwificonnected = false;
}
nodemcuwifi.txt · Last modified: by 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki