Added password option to AP wifiManager.autoConnect("apname","password")

This commit is contained in:
John Little
2015-12-17 14:05:20 +00:00
parent 6ff9712b65
commit c44d3643a8
2 changed files with 22 additions and 3 deletions
Regular → Executable
+19 -3
View File
@@ -21,22 +21,34 @@ void WiFiManager::begin() {
}
void WiFiManager::begin(char const *apName) {
begin(apName,NULL);
}
void WiFiManager::begin(char const *apName, char const *apPasswd) {
dnsServer.reset(new DNSServer());
server.reset(new ESP8266WebServer(80));
DEBUG_PRINT("");
_apName = apName;
_apPasswd = apPasswd;
start = millis();
DEBUG_PRINT("Configuring access point... ");
DEBUG_PRINT(_apName);
if (_apPasswd != NULL)
DEBUG_PRINT(_apPasswd);
//optional soft ip config
if (_ip) {
DEBUG_PRINT("Custom IP/GW/Subnet");
WiFi.softAPConfig(_ip, _gw, _sn);
}
WiFi.softAP(_apName);//TODO: add password option
if (_apPasswd != NULL)
WiFi.softAP(_apName, _apPasswd);//password option
else
WiFi.softAP(_apName);
delay(500); // Without delay I've seen the IP address blank
DEBUG_PRINT("AP IP address: ");
DEBUG_PRINT(WiFi.softAPIP());
@@ -59,10 +71,14 @@ void WiFiManager::begin(char const *apName) {
boolean WiFiManager::autoConnect() {
String ssid = "ESP" + String(ESP.getChipId());
return autoConnect(ssid.c_str());
return autoConnect(ssid.c_str(),NULL);
}
boolean WiFiManager::autoConnect(char const *apName) {
return autoConnect(apName,NULL);
}
boolean WiFiManager::autoConnect(char const *apName, char const *apPasswd) {
DEBUG_PRINT("");
DEBUG_PRINT("AutoConnect");
@@ -93,7 +109,7 @@ boolean WiFiManager::autoConnect(char const *apName) {
_apcallback();
}
connect = false;
begin(apName);
begin(apName,apPasswd);
bool looping = true;
while(timeout == 0 || millis() < start + timeout) {
Regular → Executable
+3
View File
@@ -27,6 +27,7 @@ public:
boolean autoConnect();
boolean autoConnect(char const *apName);
boolean autoConnect(char const *apName, char const *apPasswd);
boolean hasConnected();
@@ -76,9 +77,11 @@ private:
void begin();
void begin(char const *apName);
void begin(char const *apName, char const *apPasswd);
int _eepromStart;
const char* _apName = "no-net";
const char* _apPasswd = "no-net";
String _ssid = "";
String _pass = "";
unsigned long timeout = 0;