LED-Laufschrift aus Make 4/21: Details der Software

Seite 2: Die einzelnen ino-Dateien

Inhaltsverzeichnis

Die umfangreiche Software (> 6.000 Lines of Code) wird an dieser Stelle nur kurz beschrieben, da der Code intern selbst umfangreich dokumentiert ist und eine detaillierte Beschreibung der Software diesen Artikel sprengen wĂĽrde.

Nach dem umfangreichen Programmheader mit vielen wertvollen Hinweisen und Links werden die Libraries in den Zeilen 139-148 deklariert, gefolgt von den HW-Pins in den Zeilen 154-156.

Danach folgen wichtige generelle Einstellungen: In Zeile 163 kann der Befehl #define _DEBUG_ durch Entfernug der beiden // am Beginn der Zeile aktiviert werden. Dann werden viele zusätzliche Informationen über den Serial Monitor der Arduino IDE mit 115.200 Baud ausgegeben. Das ist sehr hilfreich, wenn etwas nicht funktioniert oder der Code erweitert oder geändert werden soll.

In Zeile 164 wird die FLASH Größe definiert. Die Software nutzt nur 1 Byte des FLASH zur Markierung, ob beim Booten das Programm oder der Bootloader geladen werden soll.

MAX_CHARACTERS in Zeile 165 definiert die maximale Länge des Strings, der angezeigt werden kann (255 Zeichen).

MAX_SEGMENTS in Zeile 166 definiert die Anzahl der Segmente (8) und muss angepasst werden, wenn mehr als zwei MAX7219-LED-Dot-Matrix-Module (zu je vier Segmenten a 8 x 8 LEDs) eingesetzt werden.

Nach den Definitionen fĂĽr die WLAN-Parameter in Zeilen 172-183 folgend die Definitionen fĂĽr den Webserver und die MAX72XX-Bibliothek gefolgt von der Definition der Konstanten (Zeile 203-226).

Zeile 226 muss eventuell noch fĂĽr das Login und Passwort fĂĽr die Kommandozeilenschnittstelle (Beschreibung siehe weiter unten) angepasst werden (Default fĂĽr Login: admin, Default fĂĽr Passwort: default).

In den Zeilen 232-265 erfolgt die Definition der Variablen.

Ab Zeile 271 beginnt die setup-Prozedur: Nach der Initialisierung der seriellen Schnittstelle wird der Flash-Speicher beim ersten Start des Programms initialisiert. Danach wird das LED-Display initialisiert und der Text Initialisation ausgegeben.

Der Filezugang über SPIFFS wird initialisiert und danach die Parameter aus dem Init.txt-File eingelesen. Dann wartet das Programm 3 Sekunden darauf, ob ein Zeichen über den Serial Monitor der Arduino IDE erkannt wird. Ist dies der Fall, können die Parameter aus Init.txt Zeile für Zeile geändert werden und schlussendlich verworfen oder in der Datei Init.txt gespeichert werden.

Anschließend wird je nach Wert in der Variablen STA_BOOT_MODE entweder ein Access Point aufgebaut (ESP32 AP-Mode) oder versucht, sich mit einem bestehenden WLAN zu verbinden (ESP32 STA-Mode). Der gewählte Modus wird ebenfalls auf dem LED-Display angezeigt.

Im nächsten Schritt werden die einzelnen Routen für den Webserver definiert, die danach völlig asynchron ablaufen.

Schlussendlich wird eine BegrĂĽĂźungsnachricht zusammengestellt und angezeigt, die den Modus und die Zugangsparameter via Laufschrift anzeigt. Ist das AUTOSTART_FLAG true, wird nach dieser BegrĂĽĂźungsnachricht die vordefinierte Nachricht aus Init.txt angezeigt, andernfalls die BegrĂĽĂźungsnachricht in einer endlosen Schleife.