Added non wifimanager wifi connection support.
This commit is contained in:
parent
17fdbe6155
commit
93114b0f49
3 changed files with 58 additions and 3 deletions
|
@ -38,6 +38,7 @@ String DEVICE_NAME = "weatherstation";
|
||||||
// not available or recommended for battery mode
|
// not available or recommended for battery mode
|
||||||
/********************************************************************************/
|
/********************************************************************************/
|
||||||
|
|
||||||
|
//#define DISABLE_WIFIMANAGER
|
||||||
// Restarts the firmware every n seconds
|
// Restarts the firmware every n seconds
|
||||||
//#define RESET_ESP_TIME_INTERVAL
|
//#define RESET_ESP_TIME_INTERVAL
|
||||||
//#define ENABLE_WATCHDOG
|
//#define ENABLE_WATCHDOG
|
||||||
|
@ -90,5 +91,20 @@ const char *INFLUXDB_TOKEN = "your api token";
|
||||||
// china aliexpress anemometer settings (calculation unknown) <add link here>
|
// china aliexpress anemometer settings (calculation unknown) <add link here>
|
||||||
//#define WINDSPEED_FACTOR 2.4
|
//#define WINDSPEED_FACTOR 2.4
|
||||||
|
|
||||||
|
/********************************************************************************/
|
||||||
|
|
||||||
|
#ifdef DISABLE_WIFIMANAGER
|
||||||
|
// Set your Static IP address
|
||||||
|
IPAddress local_IP(192, 168, 178, 123);
|
||||||
|
// Set your Gateway IP address
|
||||||
|
IPAddress gateway(192, 168, 178, 1);
|
||||||
|
// Set subnet mask
|
||||||
|
IPAddress subnet(255, 255, 255, 0);
|
||||||
|
|
||||||
|
#define WIFI_SSID "myWifi" // WLAN Netzwerk
|
||||||
|
#define WIFI_PASSWD "myPass" // WLAN Passwort
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
/********************************************************************************/
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
|
@ -7,13 +7,16 @@
|
||||||
#include <ESP8266HTTPClient.h>
|
#include <ESP8266HTTPClient.h>
|
||||||
|
|
||||||
#include <WiFiClient.h> // WiFiClient
|
#include <WiFiClient.h> // WiFiClient
|
||||||
#include <WiFiManager.h> // WiFiManager from bib manager
|
|
||||||
|
|
||||||
// Project includes
|
// Project includes
|
||||||
#include "constants.h"
|
#include "constants.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "config_user.h"
|
#include "config_user.h"
|
||||||
|
|
||||||
|
#ifndef DISABLE_WIFIMANAGER
|
||||||
|
#include <WiFiManager.h> // WiFiManager from bib manager
|
||||||
|
#endif
|
||||||
|
|
||||||
//*************************************************************************//
|
//*************************************************************************//
|
||||||
// check if some settings are correct
|
// check if some settings are correct
|
||||||
|
|
||||||
|
@ -38,7 +41,9 @@ uint32_t wifi_check_interval_counter = 0;
|
||||||
|
|
||||||
const String wifiName = "oko-weather-" + DEVICE_NAME;
|
const String wifiName = "oko-weather-" + DEVICE_NAME;
|
||||||
|
|
||||||
|
#ifndef DISABLE_WIFIMANAGER
|
||||||
WiFiManager wifiManager;
|
WiFiManager wifiManager;
|
||||||
|
#endif
|
||||||
|
|
||||||
uint8_t fsm_state = FSM_STATE_1;
|
uint8_t fsm_state = FSM_STATE_1;
|
||||||
|
|
||||||
|
@ -258,11 +263,24 @@ void wifiConnectionCheck()
|
||||||
|
|
||||||
debug("no wifi connection, try to reconnect " + String(wifi_reconnect_cnt));
|
debug("no wifi connection, try to reconnect " + String(wifi_reconnect_cnt));
|
||||||
|
|
||||||
|
WiFi.disconnect();
|
||||||
|
WiFi.mode(WIFI_OFF);
|
||||||
|
WiFi.mode(WIFI_STA);
|
||||||
|
|
||||||
#ifdef WEBUPDATER_FEATURE
|
#ifdef WEBUPDATER_FEATURE
|
||||||
setWifiReconnectCnt(wifi_reconnect_cnt);
|
setWifiReconnectCnt(wifi_reconnect_cnt);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
wifiConnect();
|
if (wifi_reconnect_cnt >= 5)
|
||||||
|
{
|
||||||
|
debug("\nReboot");
|
||||||
|
ESP.restart();
|
||||||
|
} else {
|
||||||
|
|
||||||
|
wifiConnect();
|
||||||
|
|
||||||
|
//initWifiBasedSW();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -273,6 +291,8 @@ void wifiConnect()
|
||||||
|
|
||||||
// Establish WiFi connection if not already applied
|
// Establish WiFi connection if not already applied
|
||||||
|
|
||||||
|
#ifndef DISABLE_WIFIMANAGER
|
||||||
|
|
||||||
wifiManager.setMinimumSignalQuality(WIFI_MINIMUM_SIGNAL_QUALITY);
|
wifiManager.setMinimumSignalQuality(WIFI_MINIMUM_SIGNAL_QUALITY);
|
||||||
// the time in seconds to wait for the known wifi connection
|
// the time in seconds to wait for the known wifi connection
|
||||||
wifiManager.setConnectTimeout(WIFI_AUTOCONNECT_TIMEOUT_S);
|
wifiManager.setConnectTimeout(WIFI_AUTOCONNECT_TIMEOUT_S);
|
||||||
|
@ -296,6 +316,19 @@ void wifiConnect()
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#else // DISABLE_WIFIMANAGER
|
||||||
|
|
||||||
|
WiFi.begin(WIFI_SSID, WIFI_PASSWD);
|
||||||
|
|
||||||
|
debug("Connecting to WLAN");
|
||||||
|
|
||||||
|
while (WiFi.status() != WL_CONNECTED)
|
||||||
|
{
|
||||||
|
delay(100);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif // DISABLE_WIFIMANAGER
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//*************************************************************************//
|
//*************************************************************************//
|
||||||
|
@ -309,7 +342,7 @@ void criticalBatCheck()
|
||||||
debug("Bat Voltage: " + String(volt) + " V");
|
debug("Bat Voltage: " + String(volt) + " V");
|
||||||
debug("Low battery, going into deep sleep.");
|
debug("Low battery, going into deep sleep.");
|
||||||
// Casting to an unsigned int, so it fits into the integer range
|
// Casting to an unsigned int, so it fits into the integer range
|
||||||
ESP.deepSleep(1U * EMERGENCY_SLEEP_S * 1000000); // battery low, shutting down
|
ESP.deepSleep(1U * EMERGENCY_SLEEP_S * 1000000u); // battery low, shutting down
|
||||||
delay(100);
|
delay(100);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
|
|
||||||
#include "config_user.h"
|
#include "config_user.h"
|
||||||
|
|
||||||
|
//*************************************************************************//
|
||||||
|
|
||||||
#if INFLUXDB_VERSION == 1
|
#if INFLUXDB_VERSION == 1
|
||||||
|
|
||||||
#include <ESP8266Influxdb.h> // https://github.com/hwwong/ESP8266Influxdb
|
#include <ESP8266Influxdb.h> // https://github.com/hwwong/ESP8266Influxdb
|
||||||
|
@ -87,6 +89,8 @@ void pushToInfluxDB(String device, float sensorValues[]) {
|
||||||
} while (_influxdb.response() != DB_SUCCESS and tries < 5);
|
} while (_influxdb.response() != DB_SUCCESS and tries < 5);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//*************************************************************************//
|
||||||
|
|
||||||
#elif INFLUXDB_VERSION == 2
|
#elif INFLUXDB_VERSION == 2
|
||||||
|
|
||||||
#include <InfluxDbClient.h> // from bib manager
|
#include <InfluxDbClient.h> // from bib manager
|
||||||
|
@ -210,3 +214,5 @@ void _writePoint()
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif // influxdb version 2 check
|
#endif // influxdb version 2 check
|
||||||
|
|
||||||
|
//*************************************************************************//
|
||||||
|
|
Loading…
Reference in a new issue