Skip to content

Latest commit

 

History

History
100 lines (66 loc) · 2.62 KB

README.md

File metadata and controls

100 lines (66 loc) · 2.62 KB

WiFi configuration manager

Wifi connection and configuration manager for ESP8266 and ESP32.

Based on ConfigManager library. The major difference is that the full configuration is provided by the device and configuration form is built dynamically by javascript application.

This library was made to ease the complication of configuring Wifi and other settings on an ESP8266 or ESP32. It is roughly split into two parts, Wifi configuration and REST variable configuration.

Requires

Quick Start

Installing

Arduino

You can install through the Arduino Library Manager. The package name is ConfigManager.

PlatformIO

Usage

Include the library in your sketch

#include <ConfigManager.h>

Initialize a global instance of the library

ConfigManager configManager;

Initialize configuration object

struct Config
{
    char name[20] = {0};
    bool enabled = false;
    int hour = 0;
} config;

In your setup function define required parameters and start the manager.

configManager.setAPName("Config Demo");
configManager.setAPFilename("/index.html");

configManager.addParameterGroup("app", new Metadata("Application", "Example of application properties"))
    .addParameter("name", config.name, 20, new Metadata("Name"))
    .addParameter("enabled", &config.enabled, new Metadata("Enabled"))
    .addParameter("hour", &config.hour, new Metadata("Hour"));

configManager.begin(config);

In your loop function, run the manager's loop

configManager.loop();

Upload frontend files

Upload the index.html file found in the data directory into the SPIFFS. Instructions on how to do this vary based on your IDE. Below are links instructions on the most common IDEs:

ESP8266

ESP32

Things TODO / Roadmap

  • Eliminate parallel HTTP requests
  • Proper WiFi connection handling
  • HTTP Authentication

Documentation

Class documentation can be generated by doxygen tool from the source code.