WiFi Connect to default airgradient if WiFi connected is empty

This commit is contained in:
Phat Nguyen
2024-08-26 15:47:49 +07:00
parent 6c3259b94b
commit 03e2afbf54
4 changed files with 36 additions and 5 deletions

View File

@ -328,9 +328,7 @@ static void factoryConfigReset(void) {
// } // }
/** Reset WIFI */ /** Reset WIFI */
// WiFi.enableSTA(true); // Incase offline mode WiFi.disconnect(true, true);
// WiFi.disconnect(true, true);
wifiConnector.reset();
/** Reset local config */ /** Reset local config */
configuration.reset(); configuration.reset();

View File

@ -424,8 +424,7 @@ static void factoryConfigReset(void) {
} }
/** Reset WIFI */ /** Reset WIFI */
Serial.println("Set wifi connect to 'airgradient' as default"); WiFi.disconnect(true, true);
WiFi.begin("airgradient", "cleanair");
/** Reset local config */ /** Reset local config */
configuration.reset(); configuration.reset();

View File

@ -41,6 +41,28 @@ bool WifiConnector::connect(void) {
} }
} }
WiFi.begin();
String wifiSSID = WIFI()->getWiFiSSID(true);
if (wifiSSID.isEmpty()) {
logInfo("Connected WiFi is empty, connect to default wifi \"" +
String(this->defaultSsid) + String("\""));
/** Set wifi connect */
WiFi.begin(this->defaultSsid, this->defaultPassword);
/** Wait for wifi connect to AP */
int count = 0;
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
count++;
if (count >= 15) {
logError("Try connect to default wifi \"" + String(this->defaultSsid) +
String("\" failed"));
break;
}
}
}
WIFI()->setConfigPortalBlocking(false); WIFI()->setConfigPortalBlocking(false);
WIFI()->setConnectTimeout(15); WIFI()->setConnectTimeout(15);
WIFI()->setTimeout(WIFI_CONNECT_COUNTDOWN_MAX); WIFI()->setTimeout(WIFI_CONNECT_COUNTDOWN_MAX);
@ -383,3 +405,11 @@ bool WifiConnector::hasConfigurated(void) {
* @return false * @return false
*/ */
bool WifiConnector::isConfigurePorttalTimeout(void) { return connectorTimeout; } bool WifiConnector::isConfigurePorttalTimeout(void) { return connectorTimeout; }
/**
* @brief Set wifi connect to default WiFi
*
*/
void WifiConnector::setDefault(void) {
WiFi.begin("airgradient", "cleanair");
}

View File

@ -46,6 +46,10 @@ public:
String localIpStr(void); String localIpStr(void);
bool hasConfigurated(void); bool hasConfigurated(void);
bool isConfigurePorttalTimeout(void); bool isConfigurePorttalTimeout(void);
const char* defaultSsid = "airgradient";
const char* defaultPassword = "cleanair";
void setDefault(void);
}; };
#endif /** _AG_WIFI_CONNECTOR_H_ */ #endif /** _AG_WIFI_CONNECTOR_H_ */