Ich hatte wieder etwas Lust und Zeit meine Bewässerungsanlage zu verbessern 🙂
Ein großes Problem war das Zeit-Modul, welches hin und wieder sich auf eine falsche Zeit festsetzte („85/165/2009 37:165:“) und dadurch den Dienst verweigerte. Ich probierte viel aus und studierte die Werte, die ich zu Debug-Zwecken auf dem seriellen Port raus schickte. Es war wie verhext.
Doch dann endlich stieß ich auf das Problem: die NTP Bibliothek gibt häufig eine zu kleine Epoche Zeit zurück mit dem dann das Zeit-Modul falsch initialisiert wird. Eine Schleife, die überprüft ob die Epoche-Zeit einen bestimmten Minimumwert übersteigt und andernfalls erneut die NTP Zeit abfragt, bis sie dann stimmig ist (in der Regel sind nicht mehr als 3 bis 5 Versuche nötig). Auch habe ich die Batterie aus dem Zeit-Modul entfernt um auch wirklich sicher gehen zu können, dass die Zeit bei jedem Booten frisch gesetzt wird. Zwischenzeitlich habe ich das Zeit-Modul noch an einen Transistor gehängt um es bei Bedarf einfach, durch Unterbrechung der Stromversorgung, neu starten zu können. Davon musste ich bisher aber keinen Gebrauch machen.
Wie ihr auf dem Foto und auch im Video erkennen könnt, habe ich die Display-Ausgabe etwas optimiert. Neben den Sensorwerten wird nun auch der Counter bis zur nächsten Abfrage der Sensoren eingeblendet.
Im Hintergrund habe ich den Code aufgeräumt, den ihr natürlich vollständig auf Github findet.
Ihr könnt ihn gerne als Inspiration nutzen um eure eigene Bewässerungsanlage zu bauen 🙂
Als nächstes benötigt die Platine noch einen geeigneten Schutz. Ich werde ein Gehäuse selbst designen und mit einem 3D-Drucker herstellen.