#include <WiFi.h>
#include <ESPAsyncWebSrv.h>
const char *ssid = "Desi"; // SSID за Access Point
const char *password = "Pass-Desi"; // парола за Access Point
const int serverPort = 80;
AsyncWebServer server(serverPort);
const int ledPin = 13;
int currentWaterLevel = 0;
bool pumpStatus = false;
void setup() {
Serial.begin(115200);
pinMode(ledPin, OUTPUT);
// Конфигуриране на ESP32 като Access Point
WiFi.softAP(ssid, password); // (soft Access Point) в контекста на ESP32 се използва, когато ESP32 създава своя собствена WiFi мрежа (Access Point). Този режим позволява на други устройства да се свързват към ESP32 като към WiFi мрежа, която ESP32 предоставя (в моя случай се свързва с другия микроконтролер)
IPAddress myIP = WiFi.softAPIP();
Serial.println("IP адрес: " + myIP.toString());
// Дефиниране на обработчика на заявки за /update URL
server.on("/update", HTTP_GET, [](AsyncWebServerRequest *request) {
String level = request->arg("level");
String pump = request->arg("pump");
currentWaterLevel = level.toInt();
pumpStatus = (pump == "ON");
if (currentWaterLevel < 30 && pumpStatus) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
request->send(200, "text/plain", "OK");
});
server.begin();
}
void loop() {
Serial.print("Текущо ниво на вода: ");
Serial.println(currentWaterLevel);
Serial.print("Статус на помпата: ");
Serial.println(pumpStatus);
if (currentWaterLevel < 30 && pumpStatus) {
digitalWrite(ledPin, HIGH);
} else {
digitalWrite(ledPin, LOW);
}
delay(1000);
}