Mein ESP32-Display: Strompreise, Uhrzeit und PV-Akkus auf einen Blick
Die Idee war eigentlich ganz einfach: Ein Display, das mir auf einen Blick die aktuelle Uhrzeit, das Datum, den Wochentag, die Strompreise der nächsten vier Stunden und den Ladezustand meiner PV-Akkus anzeigt. Alle wichtigen Informationen rund um Zeit, Stromverbrauch und Energiespeicherung sollten übersichtlich auf einem einzigen Bildschirm dargestellt werden.
Für die Umsetzung entschied ich mich für ein 4,3-Zoll-ESP32-Touchdisplay von Waveshare, das ich über Amazon bezogen habe. Da sich der ESP32 mit der Arduino IDE programmieren lässt, ging ich davon aus, dass sich das Projekt ohne allzu große Schwierigkeiten realisieren lassen sollte. Und schließlich gibt es heute ja auch noch künstliche Intelligenz, die einem bei der Programmierung unter die Arme greifen kann. Was sollte da schon schiefgehen?
Also startete ich die Arduino IDE, schloss das Display an und lud zunächst einige der mitgelieferten Beispielprogramme hoch. Damit wollte ich mich mit der Hardware vertraut machen und sicherstellen, dass das Display grundsätzlich funktionierte. Allerdings zeigte sich schon bei der Ansteuerung des Displays, dass die Sache nicht ganz so unkompliziert war wie erwartet. Unterschiedliche Bibliotheken, Treiber und Einstellungen sorgten für die ersten Stolpersteine.
Also holte ich mir Unterstützung von ChatGPT. Und tatsächlich: Bei der Fehlersuche erwies sich die KI als äußerst hilfreich. Probleme ließen sich schneller eingrenzen, Fehlermeldungen besser verstehen und erste funktionierende Lösungen finden. Auch bei der eigentlichen Programmierung des Displays setzte ich erstmals intensiv auf die Unterstützung von ChatGPT.
Doch damit begann auch eine ganz eigene Erfahrung mit der künstlichen Intelligenz. Ehrlich gesagt: Vieles geht damit deutlich schneller – aber manchmal raubt mir die KI dabei auch den letzten Nerv!
Das größte Problem ist, dass selbst klare und wiederholte Vorgaben nicht immer zuverlässig eingehalten werden. Wenn ich beispielsweise ausdrücklich schrieb: „Bitte keine Bilder generieren“, tauchten zwischendurch trotzdem ungefragt Bilder auf, die mit der eigentlichen Aufgabe wenig bis gar nichts zu tun hatten. Und wenn ich nur eine einzige Änderung wollte, verbunden mit der klaren Anweisung, alles andere unverändert zu lassen, wurde zwar die gewünschte Anpassung vorgenommen – gleichzeitig schlichen sich aber neue Fehler ein oder plötzlich sah die Benutzeroberfläche anders aus als zuvor.
Besonders mühsam wurde es bei der Erstellung der Wettersymbole. Damit verbrachte ich beinahe einen ganzen Tag! Symbole, die bereits funktionierten und deren Aussehen ich ausdrücklich als endgültig festgelegt hatte, wurden von der KI plötzlich wieder verändert – natürlich nicht unbedingt zum Besseren. Was bereits fertig war, musste erneut überprüft, korrigiert und wieder in einen funktionierenden Zustand gebracht werden. Aus kleinen Änderungen wurden dadurch immer wieder unnötige Nacharbeiten.
Dabei sollte doch gerade die KI helfen, Zeit zu sparen und die Arbeit zu erleichtern. Das funktioniert grundsätzlich auch, allerdings nur dann, wenn man die Ergebnisse konsequent kontrolliert und bereits funktionierende Programmteile zuverlässig vor ungewollten Änderungen schützt.
Mein Fazit: ChatGPT ist ein durchaus nützliches Werkzeug, insbesondere bei der Fehlersuche, beim Verstehen von Code und beim Entwickeln neuer Funktionen. Für größere Programmierprojekte, bei denen bestehender Code gezielt erweitert werden soll, stößt man mit diesem Arbeitsablauf allerdings auch an Grenzen. Eine funktionierende Lösung darf nicht bei jeder kleinen Änderung an anderer Stelle wieder neue Probleme verursachen.
Für das sogenannte AI-Coding gibt es mittlerweile spezialisierte Werkzeuge, die genau für solche Aufgaben entwickelt wurden. Eines davon ist Cursor, eine KI-gestützte Entwicklungsumgebung, die direkt mit dem vorhandenen Programmcode arbeitet und Änderungen gezielter umsetzen soll.
Ich werde Cursor bei meinem nächsten Projekt ausprobieren. Vielleicht gelingt es damit besser, die Vorteile der künstlichen Intelligenz zu nutzen, ohne bei jeder Anpassung befürchten zu müssen, dass an anderer Stelle wieder etwas kaputtgeht.
Denn eines steht fest: Die Idee, sich bei der Programmierung von KI unterstützen zu lassen, ist gut. Aber am Ende möchte ich immer noch selbst bestimmen, was geändert wird – und vor allem, was so bleibt, wie es ist!