Der erste Futterautomat war kein Automat, sondern ein Versuchsaufbau: ein ESP32-DevKit auf einem Erweiterungsboard, ein SG90-Servo, ein LED-Modul, ein Taster und ein zweizeiliges LCD-Display. Alles aus einem IoT-Lernkit, nichts davon für draußen gedacht.
So funktioniert es
Drückt jemand auf der Webseite den Knopf, schickt der Server eine Nachricht über MQTT an den ESP32. Der öffnet mit dem Servo für eine eingestellte Zeit eine Klappe, Korn rutscht heraus, die LED blinkt dabei, und am Ende meldet das Gerät „erledigt“ zurück. Erst dann gilt die Fütterung auf der Seite als ausgeführt.
Das Display zeigt in der ersten Zeile den Zustand: verbunden, WLAN wird gesucht, Nachtmodus, Not-Aus. In der zweiten Zeile steht der Fütterungs-Zähler des Tages, zum Beispiel „Futter: 12/40“. Der Zähler kommt vom Server, damit Display und Webseite immer dieselbe Zahl zeigen.
Der Taster
Der Taster am Gerät war als Test-Knopf gedacht und wurde zum wichtigsten Bauteil des Prototyps. Seit Mitte Juli funktioniert er auch dann, wenn das WLAN weg ist. Wer vor Ort steht und die Hühner füttern will, muss nicht erst wissen, ob der Server gerade erreichbar ist.
Was ich dabei gelernt habe
- Ein Servo zuckt im Leerlauf. Der Pin muss nach der Bewegung sauber auf LOW, sonst klappert die Klappe nachts vor sich hin. Das hat eine Weile gedauert, bis ich es gefunden hatte.
- Updates über USB sind lästig, wenn das Gerät irgendwann im Hühnerhaus hängt. Deshalb kam früh ein Update per WLAN dazu.
- Zwei WLANs in der Firmware sind Gold wert: eines zu Hause zum Testen, eines am Zielort. Umstecken, einschalten, fertig.
- Die Verbindung zum Server läuft verschlüsselt mit Zertifikatsprüfung, und die Uhrzeit holt sich das Gerät per NTP. Beides klingt übertrieben für ein Hühner-Projekt, spart aber viele seltsame Fehler.
Der Prototyp hat lange durchgehalten, länger als geplant. Abgelöst wurde er erst im Oktober von einem richtigen Automaten mit Förderschnecke. Dazu kommt ein eigener Beitrag.