Browse Source

Custom parameters first implementation

added from AutoConnectWithFSParameters, working,
cleaning to be done, custom parameters renaming and go for final version
Etienne Landon 9 years ago
parent
commit
09d9cedcd1
1 changed files with 85 additions and 0 deletions
  1. 85 0
      wifimgr.h

+ 85 - 0
wifimgr.h

@@ -0,0 +1,85 @@
+
+//flag for saving data
+bool shouldSaveConfig = false;
+#define TRIGGER_PIN 12
+Ticker tkConfig ;
+bool StartConfig = false;
+
+
+
+//callback notifying us of the need to save config
+void saveConfigCallback () {
+  Serial.println("Should save config");
+  shouldSaveConfig = true;
+}
+
+void ConfigAPMode () {
+  Serial.println("Config check");
+  if ( digitalRead(TRIGGER_PIN) == LOW) {
+    StartConfig = true;
+  }
+}
+
+void StartConfigAP(){
+
+  if (StartConfig) {
+    // detach all tickers (redLed, blueLed, OTA, wifimgr, UKI_UDP)
+//    redLedState (1, 500);
+//    blueLedState (1,500);
+//    detachOTA();
+    tkConfig.detach();
+    delay (500);
+    
+    //WiFiManager
+  
+    //Local intialization. Once its business is done, there is no need to keep it around
+    WiFiManager wifiManager;
+
+    //reset settings - for testing
+    //wifiManager.resetSettings();
+
+    //sets timeout until configuration portal gets turned off
+    //useful to make it all retry or go to sleep
+    //in seconds
+    //wifiManager.setTimeout(120);
+
+    //set config save notify callback
+    wifiManager.setSaveConfigCallback(saveConfigCallback);
+
+    //it starts an access point with the specified name
+    //here  "AutoConnectAP"
+    //and goes into a blocking loop awaiting configuration
+
+    //WITHOUT THIS THE AP DOES NOT SEEM TO WORK PROPERLY WITH SDK 1.5 , update to at least 1.5.1
+    //WiFi.mode(WIFI_STA);
+    //redLedState (0, 500);
+    //blueLedState (-1, 100);
+    delay(1000);
+    if (!wifiManager.startConfigPortal("UKI_AP")) {
+      Serial.println("failed to connect and hit timeout");
+      delay(3000);
+      //reset and try again, or maybe put it to deep sleep
+      ESP.reset();
+      delay(5000);
+      }
+  
+
+    //if you get here you have connected to the WiFi
+    Serial.println("connected to UKI wifi");
+   // blueLedState(1,500);
+
+    //save the custom parameters to FS
+    if (shouldSaveConfig) {
+      Serial.print("should save config");
+      }
+    }
+  }
+
+
+void setupWifi() {
+  pinMode(TRIGGER_PIN, INPUT);
+  tkConfig.attach(5, ConfigAPMode); // check TRIGGER_PIN state periodically
+  
+}
+
+