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.
You can install through the Arduino Library Manager. The package name is ConfigManager.
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 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:
- Eliminate parallel HTTP requests
- Proper WiFi connection handling
- HTTP Authentication
Class documentation can be generated by doxygen
tool from the source code.