Arduino Nano ESP32 - Steuert das Auto über das Web
Dieser Leitfaden zeigt dir, wie du den Arduino Nano ESP32 verwendest, um ein Roboterauto drahtlos von einem Webbrowser auf deinem Smartphone oder PC aus über WLAN zu steuern. Die Steuerung erfolgt über eine grafische Web-Benutzeroberfläche, die WebSocket verwendet, und ermöglicht eine flüssige und dynamische Steuerung des Autos.

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 2WD RC-Auto und WebSocket
Und warum WebSocket verwenden? Hier ist das Wesentliche:
- Ohne WebSocket würde sich die Fahrtrichtung des Autos jedes Mal durch Neuladen der Seite ändern. Nicht ideal!
- Mit WebSocket hingegen wird eine spezielle Verbindung zwischen der Webseite und dem Arduino Nano ESP32 hergestellt. Dadurch können Befehle im Hintergrund an den Arduino Nano ESP32 gesendet werden, ohne die Seite neu laden zu müssen. Das Ergebnis? Das Roboterauto bewegt sich nahtlos und in Echtzeit. Ziemlich cool, oder?
Kurz gesagt ermöglicht die WebSocket-Verbindung die reibungslose Echtzeitsteuerung des Roboters.
Wir haben spezifische Tutorials zu 2WD RC-Car und WebSocket. Jedes Tutorial enthält detaillierte Informationen und eine Schritt-für-Schritt-Anleitung zur Hardware-Pinbelegung, zum Funktionsprinzip, zur Verdrahtung mit dem ESP32 und zum Arduino Nano ESP32-Code... Erfahren Sie mehr darüber unter den folgenden Links:
- Arduino Nano ESP32 - 2WD RC Car tutorial
- Arduino Nano ESP32 - WebSocket tutorial
Wie es funktioniert
Der Arduino Nano ESP32-Code erstellt sowohl einen Webserver als auch einen WebSocket-Server. So funktioniert es:
- Wenn Sie die IP-Adresse des ESP32 in einem Webbrowser eingeben, fordert der ESP32 die Webseite (Benutzeroberfläche) vom Arduino Nano ESP32 an.
- Der Webserver des ESP32 antwortet, indem er den Inhalt der Webseite (HTML, CSS, JavaScript) sendet.
- Ihr Webbrowser zeigt anschließend die Webseite an.
- Der JavaScript-Code innerhalb der Webseite stellt eine WebSocket-Verbindung zum WebSocket-Server auf dem Arduino Nano ESP32 her.
- Sobald diese WebSocket-Verbindung hergestellt ist, sendet der JavaScript-Code die Befehle über diese WebSocket-Verbindung im Hintergrund an den Arduino Nano ESP32, wenn Sie die Tasten auf der Webseite drücken oder loslassen.
- Der WebSocket-Server auf dem ESP32 steuert entsprechend das Roboterauto, sobald er die Befehle empfängt.
Die untenstehende Tabelle zeigt eine Liste von Befehlen, die die Webseite basierend auf den Aktionen des Benutzers an den Arduino Nano ESP32 sendet.
User's Action | Button | Command | Car Action |
---|---|---|---|
PRESS | UP | 1 | MOVE FORWARD |
PRESS | DOWN | 2 | MOVE BACKWARD |
PRESS | LEFT | 4 | TURN LEFT |
PRESS | RIGHT | 8 | TURN RIGHT |
PRESS | STOP | 0 | STOP |
RELEASE | UP | 0 | STOP |
RELEASE | DOWN | 0 | STOP |
RELEASE | LEFT | 0 | STOP |
RELEASE | RIGHT | 0 | STOP |
RELEASE | STOP | 0 | STOP |
Verdrahtungsdiagramm zwischen 2WD RC-Auto und Arduino Nano ESP32

Dieses Bild wurde mit Fritzing erstellt. Klicken Sie, um das Bild zu vergrößern.
Typischerweise benötigen Sie zwei Stromquellen:
- Eines für den Motor über das L298N-Modul.
- Ein weiteres für das Arduino Nano ESP32-Board, L298N-Modul (Motortreiber).
Aber du kannst es vereinfachen, indem du nur eine Stromquelle für alles verwendest – vier 1,5-V-Batterien (insgesamt 6 V). So geht's:
- Verbinde die Batterien wie gezeigt mit dem L298N-Modul.
- Entferne alle drei Jumper von den ENA- und ENB-Pins am 5-Volt-Anschluss des L298N-Moduls.
- Verlege die Verkabelung gemäß dem oben gezeigten Diagramm.
Da das 2WD-RC-Auto über einen Ein/Aus-Schalter verfügt, können Sie die Batterie optional über den Schalter verbinden, um das Ein- und Ausschalten der Stromzufuhr für das Auto zu ermöglichen. Wenn Sie es einfach halten möchten, ignorieren Sie einfach den Schalter.
Arduino Nano ESP32-Code
Der Inhalt der Webseite (HTML, CSS, JavaScript) wird separat in einer index.h-Datei gespeichert. Daher werden wir zwei Code-Dateien in der Arduino-IDE haben:
- Eine .ino-Datei, die Arduino Nano ESP32-Code enthält und einen Webserver und WebSocket-Server erstellt sowie ein Auto steuert
- Eine .h-Datei, die den Inhalt der Webseite enthält.
Schnelle Schritte
Um mit Arduino Nano ESP32 zu beginnen, befolgen Sie diese Schritte:
- Wenn Sie neu bei Arduino Nano ESP32 sind, lesen Sie das Tutorial zur Einrichtung der Umgebung für Arduino Nano ESP32 in der Arduino IDE.
- Verbinden Sie die Bauteile gemäß dem bereitgestellten Diagramm.
- Verbinden Sie das Arduino Nano ESP32-Board mit Ihrem Computer über ein USB-Kabel.
- Öffnen Sie die Arduino IDE auf Ihrem Computer.
- Wählen Sie das Arduino Nano ESP32-Board und den entsprechenden COM-Port aus.
- Ö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 ESPAsyncWebServer, der von lacamera erstellt wurde.
- Klicken Sie auf die Schaltfläche Installieren, um die ESPAsyncWebServer-Bibliothek zu installieren.

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

- Suche “WebSockets”, finde dann die WebSockets, die von Markus Sattler erstellt wurden.
- Klicke auf die Schaltfläche Installieren, um die WebSockets-Bibliothek zu installieren.

- In der Arduino IDE erstelle ein neues Sketch, gib ihm einen Namen, zum Beispiel newbiely.com.ino
- Kopiere den untenstehenden Code und öffne ihn mit der Arduino IDE
- Erstellen Sie die Datei index.h im Arduino IDE, indem Sie:
- Klicken Sie entweder auf die Schaltfläche direkt unter dem Symbol des seriellen Monitors und wählen Sie Neue Registerkarte, oder verwenden Sie die Tastenkombination 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 auf die Schaltfläche Hochladen in der Arduino IDE, um den Code auf den Arduino Nano ESP32 hochzuladen
- Öffne den seriellen Monitor
- Schau dir das Ergebnis im seriellen Monitor an.
- Notieren Sie sich die angezeigte IP-Adresse und geben Sie diese Adresse in die Adressleiste eines Webbrowsers auf Ihrem Smartphone oder PC ein.
- Sie sehen die Webseite wie unten dargestellt:
- Der JavaScript-Code der Webseite erstellt automatisch die WebSocket-Verbindung zum Arduino Nano ESP32.
- Jetzt können Sie das Auto über die Weboberfläche nach links/rechts lenken und vorwärts/rückwärts fahren.
- Wenn Sie den HTML-Inhalt in der index.h ändern und nichts in der newbiely.com.ino Datei anfassen, wird die Arduino IDE beim Kompilieren und Hochladen des Codes auf den ESP32 den HTML-Inhalt nicht aktualisieren.
- 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 ....)



Um den Speicher des ESP32 zu schonen, werden die Bilder der Bedienelemente NICHT auf dem Arduino Nano ESP32 gespeichert. Stattdessen werden sie im Internet gespeichert, daher muss Ihr Telefon oder PC eine Internetverbindung haben, um Bilder für die Websteuerungsseite zu laden.
※ Notiz:
Zeilenweise Code-Erklärung
Der obige Arduino Nano ESP32-Code enthält eine zeilenweise Erklärung. Bitte lesen Sie die Kommentare im Code!