IoT: ESP8266

Das Problem: mehrere Pflanzen auf einem Balkon mit sehr unterschiedlichem Wasserbedarf und zu wenig Zeit angemessen zu gießen…

Als Lösung diente ursprünglich eine einfache Gardenia MicroDrip Variante, die täglich eine Minute die Pumpe anschaltete. Auch eine Verbesserung durch vorgeschaltete Schaltsteckdose sorgte zwar für mehrfache einminütige Bewässerung, aber eine Reaktion auf das Wetter war natürlich nicht möglich. Entweder zu trocken, oder zu feucht – die Pflanzen waren in Gefahr!

Die Lösung eine dynamische Bewässerungs-Steuerung. Ein hochinteressantes Bastelprojekt, um das Entwickeln und Programmieren nicht zu verlernen undsich mit IoT zu beschäftigen. Es gibt unglaubliche viele, mittlerweile für ganz kleines Geld (~1-2€ vor allem direkt aus China) verfügbare Komponenten!
Architektur:

  • ESP8266 Mikrokontroller mit Async WebServer
  • Wassertonne, 12V Wasserpumpen über Relais
  • Bodenfeuchtesensoren (resistiv – über A/D-Wandler)
  • I2C Sensoren
    • (Temperatur/Luftdruck)
    • A/D-Wandler (Bodenfeuchte/Helligkeit)
    • ToF Lasersensor für Wasserstand
  • LCD Display via I2C
  • 4×5 Keypad via I2C
  • Arduino IDE und Eclipse (Sloeber)

Hardware:
Selbstgeabute Relaissteuerung und Sensoren mit ESP8266 Mikrokontroller verkabelt und verlötet.

Software (Backend): Basierend auf einem OpenSource asynchronen Webserver wurden Abfrage- Anzeige- und Steuerungsroutinen in der Arduino-IDE (in C) implementiert. Diese legen die Messdaten als Dateien im JSON-Format auf dem Mikrokontroller ab. Aus dem Internet erreichbar war der Mikrokontroller nur indirekt via VPN Verbindung ins heimische WLAN.

Software (Frontend): Dynamische HTML-Seiten mit CSS und Javascript. Vom Browser werden über via XML-HTTPRequest die JSON Dateien abgeholt und angezeigt. Sowohl aktuelle Daten, als auch ein historischer Zeitverlauf werden angezeigt. Über Adminseiten kann die Konfiguration des Systems angepasst werden (z.B. Pumpen deaktivieren)

Hier ist die fast originale Frontend-Variante eingebettet, mit dynamischer Werte Anzeige, aber natürlich ohne System-Steuerung, denn die gibt es auf diesem Webhosting nicht. Für die nächste Saison plane ich das Projekt wieder aufzunehmen und zu verbessern und evtl. auf ESP32 Mikrokontroller umzustellen.