lestnica_dvizh/wifi.cpp

87 строки
Без EOL
1,9 КиБ
C++

#include <ArduinoOTA.h>
#include "config.h"
NET_IP
NET_GATEWAY
NET_SUBNET
bool wifiEnabled = false;
void startWifi() {
wifiEnabled = true;
if (!WiFi.config(local_IP, gateway, subnet)) {
// err
return;
}
WiFi.mode(WIFI_STA);
WiFi.begin(ssid, password);
// while (WiFi.waitForConnectResult() != WL_CONNECTED) {
// DEBUG_PRINTLN("Connection Failed! Rebooting...");
// delay(5000);
// ESP.restart();
// }
ArduinoOTA.setPasswordHash(PASSWORD_HASH);
ArduinoOTA
.onStart([]() {
String type;
if (ArduinoOTA.getCommand() == U_FLASH)
type = "sketch";
else // U_SPIFFS
type = "filesystem";
// NOTE: if updating SPIFFS this would be the place to unmount SPIFFS using SPIFFS.end()
// Serial.println("Start updating " + type);
})
.onEnd([]() {
// Serial.println("\nEnd");
})
.onProgress([](unsigned int progress, unsigned int total) {
// Serial.printf("Progress: %u%%\r", (progress / (total / 100)));
})
.onError([](ota_error_t error) {
// Serial.printf("Error[%u]: ", error);
// if (error == OTA_AUTH_ERROR) Serial.println("Auth Failed");
// else if (error == OTA_BEGIN_ERROR) Serial.println("Begin Failed");
// else if (error == OTA_CONNECT_ERROR) Serial.println("Connect Failed");
// else if (error == OTA_RECEIVE_ERROR) Serial.println("Receive Failed");
// else if (error == OTA_END_ERROR) Serial.println("End Failed");
});
ArduinoOTA.begin();
// Serial.println("Wifi started");
}
void stopWifi() {
wifiEnabled = false;
WiFi.disconnect();
}
void triggerWifi() {
if (!wifiEnabled) {
startWifi();
} else {
stopWifi();
}
}
void handleWifi() {
if (!wifiEnabled) {
return;
}
ArduinoOTA.handle();
}
bool isWifiEnabled() {
return wifiEnabled;
}
void setup_Wifi() {
if (WIFI_INITIALLY_STARTED)
startWifi();
}