Auch bei der Entwicklung der Smartphone-App empfiehlt es sich, deren Funktionen zu Beginn zu planen. Auch hier bietet es sich an ein Fließdiagramm zu erstellen, welches die allgemeinen Funktionen des Programms widerspiegelt, ohne auf die genaue Umsetzung einzugehen, da dies den Umfang deutlich sprengen würde. Zum Erstellen des Programms wurde erneut die Software Draw.io verwendet.

Vor dem Programmieren sollte auch überlegt werden, für welches Smartphone die App programmiert werden soll. Für diesen Kurs wurde ein Andriod-Smartphone gewählt, weshalb sich das Programmieren mit dem MIT App Inventor sehr anbietet. Dazu aber in einem späteren Kapitel mehr.

Wird die Smartphone-App nun aufgerufen, so sollte zuerst der sogenannte "Verbindungsscreen" zu sehen sein. Auf diesem hat der Nutzer lediglich die Möglichkeit auf den Button "Verbinden" zu klicken, wodurch eine Liste der Verfügbaren Geräte auftaucht. Wählt der Nutzer nun eines dieser Geräte an, so versucht das Smartphone eine Verbindung mit diesem aufzubauen.

War die Verbindung erfolgreich, so gelangt der Nutzer von dem "Verbindungsscreen" auf den "Steuerungsscreen". War der Verbindungsversuch erfolglos, so gelangt der Nutzer wieder zurück auf den "Verbindungsscreen" und eine Fehlermeldung wird angezeigt.

Im "Steuerungsscreen" besitzt der Nutzer dann die Möglichkeit entweder drei Zahlenwerte zwischen 0 und 255 für die Farben Rot, Grün und Blau einzugeben und über den Button "Anwenden" die resultierende Farbe durch die RGB-LED anzuzeigen oder über die Taste "Automatikmodus" die temperaturabhängige Farbautomatik zu aktivieren.

Zwischen den individuellen Farben, also quasi dem manuellen Modus und dem Automatikmodus soll flüssig hin- und her gewechselt werden können. Die Hintergrundfarbe des Buttons "Anwenden" soll dabei immer der resultierenden Farbe entsprechen. Die Taste "Automatikmodus" soll nach Betätigung ausgegraut und deaktiviert werden, sodass klar wird, dass der Automatikmodus aktiv ist.

Die Kommunikation mit dem ESP32 über Bluetooth wird durch das Verschicken von Strings als "Codewörter" bei der Betätigung der jeweiligen Buttons realisiert. Auf dem "Steuerungsscreen" wird dem Nutzer ebenfalls der Verbindungsstatus mit Namen und MAC-Adresse des verbundenen Gerätes mitgeteilt. Gibt es während des Bedienens des "Steuerungsscreens" einen Verbindungsfehler, so erscheint das Fenster des Verbindungsstatus rot mit Fehlermeldung. Ist die Verbindung stabil, so ist das Fenster grün ohne Fehlermeldung.

Die dritte Taste auf dem Steuerungsscreen ist die "Trennen"-Taste. Wird diese betätigt so verschwindet der "Steuerungsscreen" und der Nutzer gelangt auf den "Abfragescreen", in welchem er zur Sicherheit nochmal gefragt wird, ob er die Verbindung wirklich trennen möchte. Bei Bestätigung gelangt der Nutzer erneut auf den "Verbindungsscreen". Alle bis dahin aktivierten Modi sind immer noch aktiv. Wird nun wieder eine Verbindung mit dem ESP32 hergestellt, so wird die RGB-LED ausgeschaltet und der "Steuerungsscreen" in den Grundzustand versetzt. Wird die Trennungsabfrage verneint, so gelangt der Nutzer erneut in den "Steuerungsscreen". Alle bis dahin aktivierten Modi sind immer noch aktiv.

Die untenstehende Grafik entspricht der soeben beschriebenen Funktion:

Programmplanung der Smartphone-App

Abbildung: Programmplanung der Smartphone-App
Quelle: BBS2 Wolfsburg

Zuletzt geändert: Dienstag, 23. Januar 2024, 14:43