Vira_WiFi_Manager

Professional WiFi Manager for ESP8266 featuring Captive Portal, Static IP configuration, Gateway, Subnet Mask, EEPROM profile management and enhanced configuration tools.

1
0
1
C++
public

πŸš€ ViraWM – Advanced WiFi Manager for ESP8266


⚑ Lightweight β€’ πŸ”Œ Plug & Play β€’ πŸ“‘ Smart Connectivity β€’ 🧠 Self-Healing Network Engine

Professional-grade WiFi management library for ESP8266 IoT systems with automatic fallback, captive portal configuration, and persistent network memory.

⚑ Overview

ViraWM is a professional-grade WiFi management library for ESP8266 designed by ViraMedar (Mostafa MirMousavi).

It removes the complexity of WiFi configuration and replaces it with a smart, self-healing connection system.

✨ Key Features

βœ” Captive Portal WiFi Setup (Browser-based)
βœ” Static IP / DHCP Switching
βœ” EEPROM Persistent Storage
βœ” Auto AP Fallback System
βœ” One-line AutoConnect API
βœ” WiFi Profile Reset (Factory Reset)
βœ” Lightweight ESP8266 Optimized

🧠 Smart Connection Engine

At startup, ViraWM automatically decides the best connection strategy:

πŸ”΅ Normal Mode (Saved Credentials Found)

βœ” Connects automatically to saved WiFi
βœ” Applies Static IP (if enabled)


Static IP Configuration Panel
Part of ViraWM Captive Portal UI


βœ” Restores previous network state
βœ” Runs in STA mode

πŸ”΄ Recovery Mode (No WiFi / Failed Connection)

βœ” Switches to Access Point (AP) mode

βœ” Starts configuration portal

βœ” Allows WiFi setup via browser

βœ” Saves configuration to EEPROM

πŸ“‘ AP Configuration Portal

When the device enters setup mode, it creates a WiFi network:

πŸ“Ά Vira WiFiManager Configuration

πŸ“² User Flow:

Connect with phone or laptop

Open browser

Configure WiFi settings:

SSID πŸ“‘

Password πŸ”

Static IP (optional) 🌐

Subnet Mask 🧩

Gateway πŸšͺ

Save & reboot automatically

🌐 Static IP System

ViraWM supports full network manual configuration:

βœ” Available Settings

IP Address

Subnet Mask

Gateway

πŸ”„ Modes:

Static Mode: Manual network control

DHCP Mode: Automatic IP assignment

🧹 WiFi Profile Reset

You can fully reset stored network credentials anytime:

wifiManager.clearWiFiProfile(true);

What happens:

🧹 Erases saved SSID & Password

πŸ’Ύ Clears EEPROM storage

πŸ”„ Forces AP Mode on next boot


πŸ“¦ Installation

1️⃣ Download Library

Clone or download repository

2️⃣ Install

Copy folder to:
Documents/Arduino/libraries/ViraWM

3️⃣ Restart Arduino IDE

Done βœ”


πŸ”§ Basic Example

#include <WiFiClient.h>
#include <ViraWM.h>
#include <EEPROM.h>

#define BAUD_RATE 115200
#define Server_Port 80

ESP8266WebServer server(Server_Port);

void setup() {
  EEPROM.begin(512);
  Serial.begin(BAUD_RATE);
  delay(100);

  ViraWM wifiManager;

  // Auto connect or start AP portal
  wifiManager.autoConnect("Vira WiFiManager Configuration");

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println();
  Serial.println("IP address: " + WiFi.localIP().toString());

  server.begin();
  Serial.println("HTTP server started");
}

void loop() {
  // Your code here
}

πŸ”„ How It Works

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   ESP Boots   β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Read EEPROM Config   β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚
       β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Credentials Exists ?  β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   YES β”‚            NO
       β–Ό              β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Connect WiFi β”‚   β”‚  Start AP Mode   β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                  β”‚
       β–Ό                  β–Ό
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ Connection OKβ”‚   β”‚ Captive Portal   β”‚
β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
       β”‚                  β”‚
   YES β”‚              User Config
       β–Ό                  β”‚
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”         β–Ό
β”‚ STA MODE RUN β”‚   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ NORMAL STATE  β”‚   β”‚ Save to EEPROM   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜   β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Auto Reboot  β”‚
                    β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜
                           β”‚
                           β–Ό
                    β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                    β”‚ Reconnect STAβ”‚
                    β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸ›  Feature Highlights

⚑ Fast AutoConnect Engine

Instant connection with stored credentials

πŸ“‘ Captive Portal UI

Browser-based WiFi setup (no app needed)

πŸ’Ύ EEPROM Persistence

WiFi credentials saved permanently in flash memory

🌐 Static IP + DHCP Support

Switch between manual IP and automatic network config

πŸ”„ Auto AP Fallback System

Automatically enters AP mode if connection fails

🧹 WiFi Profile Reset

Clean stored credentials anytime with one function

πŸ“Ά ESP8266 Optimized Stability

Designed for long-running IoT and embedded systems


πŸ‘¨β€πŸ’» Author

Mostafa MirMousavi (@admin3314)


πŸ“š Tutorials & Files


πŸ“œ License

MIT License

This project is released under a commercial-friendly custom license by ViraMedar.


⭐ Future Plans

ESP32 support

Web dashboard upgrade

JSON configuration API

OTA update integration

Multi-device provisioning


πŸ’¬ Notes

This library is optimized for:

IoT projects

Smart home systems

ESP8266 automation

Industrial embedded systems

v0.3.3[beta]