Bahçem paneli masaüstünde: anlık sıcaklık, hava nemi, toprak nemi ve ışık kartları, altında ölçüm geçmişi filtreleri.

Öne çıkanlar

Nedir?

Bahçem basit bir merakla başladı: fidelerim bu gece yeterince sıcak mı? Bunu rafın başına gitmeden, tahminle değil gerçek bir ölçümle bilmek istedim.

Bitkilerin yanına DHT22 sensörlü ve küçük OLED ekranlı bir ESP32 koydum. Kart 30 saniyede bir ölçüm alıyor, değerleri ekranda gösteriyor ve beş dakikalık ortalamayı yazdığım FastAPI sunucusuna yolluyor. alicanzade.com/mygarden adresindeki panelde anlık sıcaklık ve nem, son gün, hafta ya da ayın grafikleri, raflardaki bitkiler (biri filizlenme, biri çiçeklenme ve meyve için) ve her bitkinin kendi notları var.

Isıtıcı, temkinle

İşin ikinci yarısı sıcaklık. Küçük bir ısıtıcıyı bir Tuya akıllı priz çalıştırıyor; ne zaman çalışabileceğine ise ayrı bir servis karar veriyor. Gündüz (06.00–19.00) 23 °C’nin altında ısıtma istiyor, 25 °C’de duruyor. Gece aralık 19–22 °C.

Yazılımla ısıtıcı açıp kapatmayı hafife almak istemedim. O yüzden kodun büyük kısmı aslında “hayır” demek üzerine:

Isıtıcı mantığının birim testleri var; röledeki her değişiklik de panelde sayfa sayfa gezilebilen ısıtıcı geçmişine yazılıyor.

Ne öğrendim?

Asıl ders kendi notlarımda duruyor: akıllı priz ve bir betik, termostat değildir. İnternet ya da bulut kesilirse “kapat” komutu prize hiç ulaşmayabilir. Gözlem modu bu yüzden var, prizin kendi zamanlayıcısı bu yüzden açık. Gözetimsiz ısıtmayı da kendi sıcaklık kesicisi olan uygun bir ısıtıcı gerektiren bir iş olarak görüyorum.

Şu an nerede?

Raflarımda her gün çalışıyor. ESP32’nin anlık sıcaklığı ortalamalardan ayrı gösteriliyor, röle durumu beş saniyede bir yenileniyor; yayına alma ise GitHub Actions üzerinden nginx ve systemd servislerine yapılıyor.

Kullanılan teknolojiler