Arduino Nano ESP32 – Steuert Relais über das Web
In diesem Tutorial lernen wir, wie man ein Relais über eine Weboberfläche steuert, die über einen Browser auf einem PC oder Smartphone genutzt wird, wobei der Arduino Nano ESP32 verwendet wird. Genauer gesagt wird der Arduino Nano ESP32 so programmiert, dass er als Webserver fungiert. Nehmen wir an, dass die IP-Adresse des Arduino Nano ESP32 192.168.0.3 lautet. Hier sind die Details dazu, wie es funktioniert:
- Wenn Sie 192.168.0.3 in den Webbrowser eingeben, sendet der Webbrowser eine Anfrage an den ESP32, und der Arduino Nano ESP32 antwortet mit einer Webseite, die den Ein/Aus-Schalter zur Steuerung des Relais enthält.
- Ähnlich, wenn Sie auf der Webseite auf die Schaltfläche 'Einschalten' klicken oder 192.168.0.3/relay1/on in den Webbrowser eingeben, schaltet der Arduino Nano ESP32 das Relais ein und antwortet mit der Steuerungswebseite.
- Ebenso, wenn Sie auf der Webseite auf die Schaltfläche 'Ausschalten' klicken oder 192.168.0.3/relay1/off in den Webbrowser eingeben, schaltet der Arduino Nano ESP32 das Relais aus und antwortet mit der Steuerungswebseite.

Wir lernen anhand von zwei Beispielcodes:
- HTML-Inhalt ist in den Arduino Nano ESP32-Code eingebettet
- HTML-Inhalt wird vom Arduino Nano ESP32-Code getrennt und in eine .h-Datei ausgelagert
Dieses Tutorial bietet die Grundlagen, die Sie problemlos und innovativ anpassen können, um Folgendes zu erreichen:
- Mehrere Relais über das Web steuern
- Neugestaltung der webbasierten Benutzeroberfläche (UI)
Erforderliche Hardware
Oder Sie können die folgenden Kits kaufen:
1 | × | DIYables Sensor-Kit (30 Sensoren/Displays) | |
1 | × | DIYables Sensor-Kit (18 Sensoren/Displays) |
Über Relais und Arduino Nano ESP32
Wenn Sie nichts über Relais und das Arduino Nano ESP32 (Pinout, wie es funktioniert, wie man es programmiert …) wissen, lernen Sie in den folgenden Tutorials mehr darüber:
Verdrahtungsdiagramm

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Arduino Nano ESP32 Code - HTML-Inhalt ist in Arduino Nano ESP32-Code eingebettet
Schnelle Schritte
Um mit dem Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:
- Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zu wie man die Umgebung für Arduino Nano ESP32 in der Arduino IDE einrichtet.
- Verdrahten Sie die Komponenten gemäß dem bereitgestellten Diagramm.
- Schließen Sie das Arduino Nano ESP32-Board mit einem USB-Kabel an Ihren Computer an.
- Starten Sie die Arduino-IDE auf Ihrem Computer.
- Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port.
- Öffnen Sie den Bibliotheks-Manager, indem Sie auf das Bibliotheks-Manager-Symbol in der linken Navigationsleiste der Arduino IDE klicken.
- Suchen Sie “ESPAsyncWebServer”, dann finden Sie ESPAsyncWebServer.
- Klicken Sie auf den Install-Button, um die ESPAsyncWebServer-Bibliothek von lacamera zu installieren.

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

- Kopieren Sie den obigen Code und öffnen Sie ihn mit der Arduino IDE
- Ändern Sie die WLAN-Informationen (SSID und Passwort) im Code auf Ihre eigenen Zugangsdaten
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen
- Öffnen Sie den Seriellen Monitor
- Sehen Sie sich das Ergebnis im Seriellen Monitor an
- Sie werden eine IP-Adresse sehen, zum Beispiel: 192.168.0.3. Dies ist die IP-Adresse des Arduino Nano ESP32 Webservers
- Öffnen Sie einen Webbrowser und geben Sie eines der drei unten aufgeführten Formate in die Adresszeile ein:
- Bitte beachten Sie, dass sich die IP-Adresse ändern kann. Überprüfen Sie bitte den aktuellen Wert im seriellen Monitor.
- Sie werden außerdem die untenstehende Ausgabe im seriellen Monitor sehen.
- Relaiszustand prüfen
- Sie sehen die Webseite des Arduino Nano ESP32-Boards im Webbrowser wie unten dargestellt

- Sie können jetzt das Relais über die Weboberfläche ein- und ausschalten.
Arduino Nano ESP32-Code - HTML-Inhalt ist vom Arduino Nano ESP32-Code getrennt.
Da eine grafische Webseite eine große Menge HTML-Code enthält, wird es unpraktisch, ihn wie bisher in den Arduino Nano ESP32-Code einzubetten. Um dies zu lösen, müssen der Arduino Nano ESP32-Code und der HTML-Code in verschiedene Dateien aufgeteilt werden:
- Der Arduino Nano ESP32-Code wird in eine .ino-Datei abgelegt.
- Der HTML-Code (einschließlich HTML, CSS und JavaScript) wird in eine .h-Datei abgelegt.
Schnelle Schritte
- Öffne die Arduino-IDE und erstelle einen neuen Sketch. Gib ihm einen Namen, zum Beispiel newbiely.com.ino.
- Kopiere den untenstehenden Code und öffne ihn in der Arduino-IDE.
- Passen Sie die WiFi-Informationen (SSID und Passwort) im Code an Ihre eigenen an
- Erstellen Sie die Datei index.h in der Arduino IDE, indem Sie:
- Entweder klicken Sie auf die Schaltfläche direkt unter dem Symbol des seriellen Monitors und wählen Sie New Tab, oder verwenden Sie die Tastenkombination Ctrl+Shift+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 haben Sie den Code in zwei Dateien: newbiely.com.ino und index.h
- Klicken Sie auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen.
- Greifen Sie wie zuvor mit dem Webbrowser auf Ihrem PC oder Smartphone auf die Webseite des Arduino Nano ESP32-Boards zu. Sie ist unten ähnlich wie beim vorherigen Code gezeigt:
- Wenn Sie den HTML-Inhalt in der index.h ändern und nichts in der newbiely.com.ino-Datei berühren, wird der HTML-Inhalt durch die Arduino-IDE beim Kompilieren und Hochladen des Codes auf den ESP32 nicht aktualisiert.
- Um die Arduino-IDE in diesem Fall dazu zu bringen, den HTML-Inhalt zu aktualisieren, nehmen Sie eine Änderung in der newbiely.com.ino-Datei vor (z. B. eine leere Zeile hinzufügen, einen Kommentar hinzufügen ...)
- Mehrere Relais über das Web steuern
- Neugestaltung der webbasierten Benutzeroberfläche (UI)



※ Notiz:
Sie können den oben genannten Code problemlos und innovativ anpassen, um Folgendes zu erreichen: