feat: WiFiManager captive portal provisioning
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
24
firmware/src/provisioning.cpp
Normal file
24
firmware/src/provisioning.cpp
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
// firmware/src/provisioning.cpp
|
||||||
|
#include "provisioning.h"
|
||||||
|
#include "config.h"
|
||||||
|
#include <WiFiManager.h>
|
||||||
|
|
||||||
|
bool provisioning_run(uint32_t timeout_ms) {
|
||||||
|
WiFiManager wm;
|
||||||
|
wm.setConfigPortalTimeout(timeout_ms / 1000);
|
||||||
|
wm.setTitle("DoorCounter Setup");
|
||||||
|
wm.setCustomHeadElement(
|
||||||
|
"<style>"
|
||||||
|
"body{font-family:sans-serif;max-width:400px;margin:40px auto;padding:0 16px}"
|
||||||
|
"h1{font-size:1.2em;color:#333}"
|
||||||
|
"p{color:#666;font-size:.9em}"
|
||||||
|
"</style>"
|
||||||
|
);
|
||||||
|
|
||||||
|
bool connected = wm.startConfigPortal("DoorCounter-Setup");
|
||||||
|
|
||||||
|
if (connected) {
|
||||||
|
config_save_wifi(wm.getWiFiSSID(), wm.getWiFiPass());
|
||||||
|
}
|
||||||
|
return connected;
|
||||||
|
}
|
||||||
7
firmware/src/provisioning.h
Normal file
7
firmware/src/provisioning.h
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
// firmware/src/provisioning.h
|
||||||
|
#pragma once
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
// Start WiFi captive portal AP and block until user submits credentials
|
||||||
|
// or timeout_ms elapses. Returns true if WiFi credentials were saved.
|
||||||
|
bool provisioning_run(uint32_t timeout_ms = 5 * 60 * 1000);
|
||||||
Reference in New Issue
Block a user