Gotowe sterowniki nawadniania kosztują 200–500 zł i często wymagają konta w chmurze. Wersja DIY z ESP8266 kosztuje ~40 zł, działa lokalnie i można ją integrować z Home Assistant bez żadnych opłat abonamentowych.
| Komponent | Cena |
|---|---|
| Wemos D1 Mini (ESP8266) | ~12 zł |
| Moduł przekaźnika 5 V (1 kanał) | ~6 zł |
| Czujnik wilgotności gleby (YL-69) | ~4 zł |
| Zawór elektromagnetyczny 12 V NC | ~15 zł |
| Zasilacz 12 V / 1 A | ~12 zł |
| Konwerter 12→5 V (mini moduł LM2596) | ~5 zł |
#include <ESP8266WiFi.h>
#include <ESP8266WebServer.h>
const char* ssid = "SSID";
const char* pass = "HASLO";
#define PIN_ZAWOR D1
#define PIN_SENSOR A0
ESP8266WebServer serwer(80);
bool nawadnianie = false;
int progWilgotnosci = 400; // 0=mokro, 1023=sucho (ADC)
String stronaHTML() {
int wilg = analogRead(PIN_SENSOR);
String s = ""
""
"Nawadnianie ";
s += "Sterownik nawadniania
";
s += "Wilgotnosc gleby (ADC): " + String(wilg) + " / 1023
";
s += "Status: " + String(nawadnianie ? "WODA WLACZONA" : "Czuwanie") + "
";
s += " ";
s += "";
s += "";
return s;
}
void setup() {
pinMode(PIN_ZAWOR, OUTPUT);
digitalWrite(PIN_ZAWOR, LOW);
WiFi.begin(ssid, pass);
while (WiFi.status() != WL_CONNECTED) delay(500);
serwer.on("/", [](){ serwer.send(200, "text/html", stronaHTML()); });
serwer.on("/on", [](){ nawadnianie = true; digitalWrite(PIN_ZAWOR, HIGH); serwer.sendHeader("Location","/"); serwer.send(302); });
serwer.on("/off", [](){ nawadnianie = false; digitalWrite(PIN_ZAWOR, LOW); serwer.sendHeader("Location","/"); serwer.send(302); });
serwer.begin();
}
void loop() {
serwer.handleClient();
// Auto: uruchom gdy gleba sucha
if (analogRead(PIN_SENSOR) > progWilgotnosci && !nawadnianie) {
nawadnianie = true;
digitalWrite(PIN_ZAWOR, HIGH);
}
if (analogRead(PIN_SENSOR) < progWilgotnosci - 50 && nawadnianie) {
nawadnianie = false;
digitalWrite(PIN_ZAWOR, LOW);
}
delay(1000);
}
Dodaj MQTT na ESP8266 (PubSubClient) i skonfiguruj encję switch w HA. Wtedy możesz tworzyć automatyzacje: np. "podlej o 6:00 jeśli nie padało".