ESP32 - LED-Matrix über das Web
In diesem Tutorial lernen wir, wie man eine LED-Matrix-Anzeigetafel über eine Weboberfläche mit dem ESP32 steuert. Im Detail werden wir den ESP32 so programmieren, dass er zu einem Webserver wird, der Folgendes tut:
- Stellt Benutzern eine Weboberfläche zur Verfügung, wenn eine Anfrage von einem Webbrowser empfangen wird.
- Bietet die Weboberfläche, über die Benutzer die Nachricht an den ESP32 senden können.
- Zeigt die Nachrichten nach dem Empfang auf der LED-Matrix an.

Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables ESP32 Starter-Kit (ESP32 enthalten) | |
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über LED-Matrix und Webserver
Wir können reines HTTP verwenden, um einen Text von der Weboberfläche an den ESP32 zu senden. Allerdings sorgt WebSocket dafür, dass es reaktionsschneller wirkt und nicht viel Aufwand erfordert. In diesem Tutorial verwenden wir daher WebSocket.
Sind Sie mit LED-Matrix, Webserver und WebSocket nicht vertraut, einschließlich ihrer Pinbelegungen, Funktionen und Programmierung? Entdecken Sie unten umfassende Tutorials zu diesen Themen:
- ESP32 - LED Matrix tutorial
- ESP32 - Web Server tutorial
- ESP32 - WebSocket tutorial
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Wenn Sie nicht wissen, wie Sie ESP32 und andere Komponenten mit Strom versorgen, finden Sie Anleitungen im folgenden Tutorial: Wie man ESP32 mit Strom versorgt.
ESP32-Code
Der Inhalt der Webseite (HTML, CSS, JavaScript) wird getrennt in einer index.h-Datei gespeichert. Daher werden wir zwei Code-Dateien in der Arduino-IDE haben:
- Eine .ino-Datei, die ESP32-Code enthält, der einen Webserver und einen WebSocket-Server erstellt
- Eine .h-Datei, die den Inhalt der Webseite enthält
Schnelle Schritte
- Falls dies das erste Mal ist, dass Sie ESP32 verwenden, lesen Sie wie man die Umgebung für ESP32 in der Arduino IDE einrichtet.
- Verbinden Sie das ESP32-Board über ein Micro-USB-Kabel mit Ihrem PC.
- Öffnen Sie die Arduino-IDE auf Ihrem PC.
- Wählen Sie das richtige ESP32-Board (z. B. ESP32 Dev Module) und den COM-Port.
- Öffnen Sie den Library Manager, indem Sie auf das Library Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
- Suchen Sie “ESPAsyncWebServer”, und finden Sie dann den von lacamera erstellten ESPAsyncWebServer.
- Klicken Sie auf die Schaltfläche Install, um die ESPAsyncWebServer-Bibliothek zu installieren.

- Sie werden aufgefordert, die Abhängigkeit zu installieren. Klicken Sie auf die Schaltfläche Alle installieren.

- Suchen Sie „WebSockets“, und finden Sie anschließend die WebSockets, die von Markus Sattler erstellt wurden.
- Klicken Sie auf die Schaltfläche Installieren, um die WebSockets-Bibliothek zu installieren.

- Suche nach “MD_Parola”, dann finde die MD_Parola-Bibliothek
- Klicken Sie auf die Schaltfläche Installieren.

- Sie werden aufgefordert, die “MD_MAX72XX” Bibliothek zu installieren.
- Klicken Sie auf die Schaltfläche Alle installieren, um die Abhängigkeit zu installieren.

- In der Arduino-IDE eine neue Skizze erstellen, geben Sie ihr einen Namen, zum Beispiel newbiely.com.ino
- Kopieren Sie den untenstehenden Code und öffnen Sie ihn mit der Arduino-IDE
- Erstelle die Datei index.h in der Arduino IDE durch:
- Entweder klicke auf den Button direkt unter dem Symbol des seriellen Monitors und wähle Neuer Tab, oder verwende die Tasten Strg+Umschalt+N.
- Geben Sie den Dateinamen index.h ein und klicken Sie auf die Schaltfläche OK
- Kopieren Sie den untenstehenden Code und fügen Sie ihn in die index.h ein.
- Jetzt hast du den Code in zwei Dateien: newbiely.com.ino und index.h
- Klicke Upload-Schaltfläche in der Arduino IDE, um den Code auf den ESP32 hochzuladen.
- Öffne den Serial Monitor.
- Schau dir das Ergebnis im Serial Monitor an.
- Merken Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adresszeile eines Webbrowsers auf Ihrem Smartphone oder PC ein.
- Sie sehen die Webseite wie unten gezeigt:
- Klicken Sie auf die CONNECT-Schaltfläche, um die Webseite über WebSocket mit dem ESP32 zu verbinden.
- Tippen Sie einige Wörter ein und senden Sie sie an den ESP32.
- Sie sehen die Antwort des ESP32.
- Wenn Sie den HTML-Inhalt in der index.h ändern und nichts in der newbiely.com.ino-Datei berühren, wird beim Kompilieren und Hochladen des Codes auf den ESP32 die HTML-Inhalte von der Arduino IDE nicht aktualisiert.
- Um in diesem Fall sicherzustellen, dass die Arduino IDE den HTML-Inhalt aktualisiert, nehmen Sie eine Änderung in der newbiely.com.ino-Datei vor (z. B. eine leere Zeile hinzufügen, einen Kommentar hinzufügen...).




※ Notiz:
Zeile für Zeile Code-Erklärung
Der obige ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!