homeostasis/src/wlan.cpp

37 lines
820 B
C++

#include "wlan.h"
#include "credentials.h"
#include <ESP8266WiFi.h>
void initial_connection() {
WiFi.begin(SSID, PSK);
WiFi.persistent(true);
WiFi.setAutoConnect(true);
WiFi.setAutoReconnect(true);
}
void wlan_connection(int max_retries) {
if (WiFi.SSID() != SSID)
initial_connection();
int retries = 0;
while (WiFi.status() != WL_CONNECTED) {
retries++;
if (retries == max_retries)
enter_deep_sleep(true);
delay(1000);
Serial.print(".");
}
Serial.println("WiFi connected");
Serial.println(WiFi.localIP());
}
void mqtt_connection(char *server, int port, char *fingerprint) {
WiFiClientSecure client;
client.connect(server, port);
}
void enter_deep_sleep(bool wifi_timeout) {
if (wifi_timeout)
WiFi.disconnect();
ESP.deepSleep(SLEEP_TIME, WAKE_RF_DEFAULT);
}